// This file is @generated by prost-build.
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EmbeddedAttribute {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RefSafetyRulesAttribute {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mohpegccpbk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub queue_position: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub mjccmbojcha: u32,
    #[prost(
        oneof = "mohpegccpbk::Jippjkglpao",
        tags = "101, 102, 103, 104, 201, 202, 203, 251, 252, 253"
    )]
    pub jippjkglpao: ::core::option::Option<mohpegccpbk::Jippjkglpao>,
}
/// Nested message and enum types in `MOHPEGCCPBK`.
pub mod mohpegccpbk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jippjkglpao {
        /// offset: 16
        #[prost(message, tag = "101")]
        MarbleGameBegin(super::Boplmemadcm),
        /// offset: 16
        #[prost(message, tag = "102")]
        MarbleGameEnd(super::Mbdokbdfhla),
        /// offset: 16
        #[prost(message, tag = "103")]
        MarbleGameRound(super::Heofecddicd),
        /// offset: 16
        #[prost(message, tag = "104")]
        MarbleGameTurn(super::Pnjfgbhkhkm),
        /// offset: 16
        #[prost(message, tag = "201")]
        CakeRaceSectionBegin(super::Dinioabcdej),
        /// offset: 16
        #[prost(message, tag = "202")]
        CakeRaceSectionEnd(super::Hffienhoadg),
        /// offset: 16
        #[prost(message, tag = "203")]
        CakeRaceRoomSectionSettle(super::Bdmalidkccl),
        /// offset: 16
        #[prost(message, tag = "251")]
        DiceCombatBegin(super::Mjpkknccepf),
        /// offset: 16
        #[prost(message, tag = "252")]
        DiceCombatTurnEnd(super::Pekimmogcif),
        /// offset: 16
        #[prost(message, tag = "253")]
        DiceCombatEnd(super::Hjedmglaobb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aphmdohkage {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ellocjbfhao: u32,
    /// offset: 32
    #[prost(int32, tag = "2")]
    pub jcdpjdpcopl: i32,
    /// offset: 28
    #[prost(int32, tag = "3")]
    pub fbcdohfkcnk: i32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub knjdpoeefnm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmmokgakdee {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ellocjbfhao: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jhedlcmbdbk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmghpgflogd {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub kdekpmaeecc: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(int32, tag = "4")]
    pub display_value: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Palmamjgije {
    /// offset: 28
    #[prost(int32, tag = "1")]
    pub iaedbfnpmki: i32,
    /// offset: 24
    #[prost(int32, tag = "2")]
    pub kjjcljpkpol: i32,
    /// offset: 32
    #[prost(int32, tag = "3")]
    pub amgfkjoanap: i32,
    /// offset: 36
    #[prost(int32, tag = "4")]
    pub akhpkndkbld: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boplmemadcm {
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 64
    #[prost(uint64, tag = "2")]
    pub nekokdnmcmm: u64,
    /// offset: 72
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub pkaadcnkghf: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub gkfkiehfbgj: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    /// offset: 40
    #[prost(uint64, tag = "7")]
    pub npnfemampea: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub nejiifnejfp: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub cdpjbekfmio: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbdokbdfhla {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 96
    #[prost(uint64, tag = "2")]
    pub nekokdnmcmm: u64,
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub pkaadcnkghf: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub gkfkiehfbgj: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    /// offset: 104
    #[prost(uint64, tag = "7")]
    pub npnfemampea: u64,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub nejiifnejfp: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 80
    #[prost(uint32, tag = "9")]
    pub cdpjbekfmio: u32,
    /// offset: 92
    #[prost(uint32, tag = "10")]
    pub ojmcpbhkefi: u32,
    /// offset: 52
    #[prost(int32, tag = "11")]
    pub score_id: i32,
    /// offset: 76
    #[prost(int32, tag = "12")]
    pub fkdjffmccoc: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub jafoofdbmni: ::prost::alloc::vec::Vec<Mmmokgakdee>,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub ppeakdddago: u32,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub dboipbpkmog: u32,
    /// offset: 72
    #[prost(uint32, tag = "16")]
    pub ppbghkfkbpj: u32,
    /// offset: 48
    #[prost(uint32, tag = "17")]
    pub cdobopgefgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heofecddicd {
    /// offset: 92
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 96
    #[prost(uint64, tag = "2")]
    pub nekokdnmcmm: u64,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 108
    #[prost(uint32, tag = "4")]
    pub pkaadcnkghf: u32,
    /// offset: 88
    #[prost(uint32, tag = "5")]
    pub ejkimpfadid: u32,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub ellocjbfhao: u32,
    /// offset: 72
    #[prost(bool, tag = "7")]
    pub bpaccdnjphe: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub fmbegnodehm: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 112
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "10")]
    pub egbmbimfjjl: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 104
    #[prost(uint32, tag = "11")]
    pub cdpjbekfmio: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub skill_info: ::prost::alloc::vec::Vec<Jmghpgflogd>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub mgaohhigehg: ::prost::alloc::vec::Vec<Palmamjgije>,
    /// offset: 64
    #[prost(message, repeated, tag = "14")]
    pub eoiickoenea: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub ckgppmcokci: ::prost::alloc::vec::Vec<Aphmdohkage>,
    /// offset: 84
    #[prost(uint32, tag = "16")]
    pub cpmjkifognf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnjfgbhkhkm {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 56
    #[prost(uint64, tag = "2")]
    pub nekokdnmcmm: u64,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub pkaadcnkghf: u32,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub dmeeehgfhlp: bool,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub ejkimpfadid: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub rank: u32,
    /// offset: 40
    #[prost(uint64, tag = "8")]
    pub npnfemampea: u64,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub cdpjbekfmio: u32,
    /// offset: 80
    #[prost(uint32, tag = "10")]
    pub bjjmpggodhg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub cpmjkifognf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkkjpggjaag {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub fdhmdjhihba: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub homemcehjma: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cidjpelkbed {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ahigglnkbbj: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub egmbjadjdlp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogmjabnbbgn {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub edcagdocbhc: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub mdpkmojhmml: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub flhgeaakmba: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub imkkpojekda: ::prost::alloc::vec::Vec<Cidjpelkbed>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub delfnbmnnlm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ihpcjgkhbgh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub edcagdocbhc: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jhedlcmbdbk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dinioabcdej {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub mhlnojdkimh: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub player_info: ::core::option::Option<Mkkjpggjaag>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hffienhoadg {
    /// offset: 32
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub mhlnojdkimh: u32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub bghbdhickoi: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub goebbpjfhbp: u32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub onoegehjgkf: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub ecimjijknpn: ::prost::alloc::vec::Vec<Cidjpelkbed>,
    /// offset: 92
    #[prost(uint32, tag = "8")]
    pub agpmbhjlelk: u32,
    /// offset: 84
    #[prost(uint32, tag = "9")]
    pub acknepohlcc: u32,
    /// offset: 44
    #[prost(float, tag = "10")]
    pub fnlkhibleop: f32,
    /// offset: 52
    #[prost(int32, tag = "11")]
    pub keflbfeihba: i32,
    /// offset: 40
    #[prost(int32, tag = "12")]
    pub jbanghdfkcb: i32,
    /// offset: 76
    #[prost(int32, tag = "13")]
    pub ccadmgghiih: i32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub ddbfnnglffi: u32,
    /// offset: 88
    #[prost(int32, tag = "15")]
    pub kclgjageian: i32,
    /// offset: 56
    #[prost(int32, tag = "16")]
    pub cnjmefhcdma: i32,
    /// offset: 72
    #[prost(uint32, tag = "17")]
    pub bdbgmddghbk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdmalidkccl {
    /// offset: 64
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub mhlnojdkimh: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub player_info: ::core::option::Option<Mkkjpggjaag>,
    /// offset: 56
    #[prost(message, repeated, tag = "5")]
    pub combbjjmkpp: ::prost::alloc::vec::Vec<Ogmjabnbbgn>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub mndionebejc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub njfkdmjjmed: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub ppkinkannlk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(message, repeated, tag = "9")]
    pub ldfgniihfme: ::prost::alloc::vec::Vec<Ihpcjgkhbgh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ggdkclajaan {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dnfbllbghni: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iahgbamnlke {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub okkllnahjll: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub oaejiilljpb: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ihdefomkfoo: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub pbmojeacgah: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdlnbplhgen {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub chanhbnefbi: u32,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub hcdnmckgbno: u32,
    /// offset: 65
    #[prost(bool, tag = "3")]
    pub mpcldabnchg: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub cpnfoppeipf: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub glaakkmmhdf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub fbjjhjickdf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub hahfobpkmpk: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub damage: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub kiljpaecgbo: u32,
    /// offset: 64
    #[prost(bool, tag = "10")]
    pub oddfidgmloc: bool,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub afpgihklcjh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjpkknccepf {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub jpmmepmhbhb: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub npnfemampea: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub lpcabocmhaf: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub monster_battle_type: u32,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub mcacpcmfnfb: u32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub ockoglpdjdc: ::core::option::Option<Ggdkclajaan>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub honbldmcebf: ::core::option::Option<Ggdkclajaan>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pekimmogcif {
    /// offset: 64
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub jpmmepmhbhb: u32,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub npnfemampea: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub lpcabocmhaf: u32,
    /// offset: 72
    #[prost(bool, tag = "5")]
    pub dlkailnhbfj: bool,
    /// offset: 84
    #[prost(uint32, tag = "6")]
    pub ppeakdddago: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub pfidobkbpdd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ockoglpdjdc: ::core::option::Option<Ggdkclajaan>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub honbldmcebf: ::core::option::Option<Ggdkclajaan>,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub attack_type: u32,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub kgikghbgmpn: ::core::option::Option<Hdlnbplhgen>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub lmmihonidco: ::core::option::Option<Hdlnbplhgen>,
    /// offset: 96
    #[prost(uint32, tag = "13")]
    pub ldmkoklodfk: u32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub cost_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjedmglaobb {
    /// offset: 88
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 100
    #[prost(uint32, tag = "2")]
    pub jpmmepmhbhb: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub npnfemampea: u32,
    /// offset: 104
    #[prost(uint32, tag = "4")]
    pub lpcabocmhaf: u32,
    /// offset: 76
    #[prost(bool, tag = "5")]
    pub dlkailnhbfj: bool,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub monster_battle_type: u32,
    /// offset: 84
    #[prost(uint32, tag = "7")]
    pub mcacpcmfnfb: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub pnmmganmklm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub ockoglpdjdc: ::core::option::Option<Ggdkclajaan>,
    /// offset: 56
    #[prost(message, optional, tag = "10")]
    pub honbldmcebf: ::core::option::Option<Ggdkclajaan>,
    /// offset: 96
    #[prost(uint32, tag = "11")]
    pub ojmcpbhkefi: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub ehflamoaobl: ::core::option::Option<Iahgbamnlke>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub hdphgimimnp: ::core::option::Option<Iahgbamnlke>,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub ejfdjfopdhj: u32,
    /// offset: 72
    #[prost(uint32, tag = "15")]
    pub cost_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jliieniajhf {
    /// offset: 40
    #[prost(uint64, tag = "1")]
    pub omkpabfgahe: u64,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub okkfcinadie: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub fkombpgbhji: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub bagckhocopk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gfhacjcojid {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub panel_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub inkbbaijahn: u32,
    /// offset: 24
    #[prost(uint64, tag = "3")]
    pub ndcapfpphhc: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbhjjlofhnm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjfellgcepj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlkiiimgmfk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(enumeration = "Mgaeemmhfll", repeated, tag = "2")]
    pub olalkmklipn: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhhpiefhpce {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iplnfpihpin {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkblcgdnmfi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nliicaggfic {
    #[prost(oneof = "nliicaggfic::Dbkladlhjon", tags = "1, 2, 3, 4, 5, 6")]
    pub dbkladlhjon: ::core::option::Option<nliicaggfic::Dbkladlhjon>,
}
/// Nested message and enum types in `NLIICAGGFIC`.
pub mod nliicaggfic {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Dbkladlhjon {
        /// offset: 16
        #[prost(message, tag = "1")]
        Mkppedhkden(super::Hbhjjlofhnm),
        /// offset: 16
        #[prost(message, tag = "2")]
        Dpdofgfimca(super::Hjfellgcepj),
        /// offset: 16
        #[prost(message, tag = "3")]
        Gdbcdfnlhkk(super::Dlkiiimgmfk),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ooaddmiohmb(super::Fhhpiefhpce),
        /// offset: 16
        #[prost(message, tag = "5")]
        Lapgmfhbmib(super::Iplnfpihpin),
        /// offset: 16
        #[prost(message, tag = "6")]
        Ddngmboicdj(super::Dkblcgdnmfi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatMessageExtendData {
    #[prost(
        oneof = "chat_message_extend_data::ExtendType",
        tags = "101, 102, 103, 104, 105"
    )]
    pub extend_type: ::core::option::Option<chat_message_extend_data::ExtendType>,
}
/// Nested message and enum types in `ChatMessageExtendData`.
pub mod chat_message_extend_data {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ExtendType {
        /// offset: 24
        #[prost(message, tag = "101")]
        Hagfmhkokem(super::Jliieniajhf),
        /// offset: 24
        #[prost(message, tag = "102")]
        Hicbaefkdja(super::Gfhacjcojid),
        /// offset: 24
        #[prost(string, tag = "103")]
        MessageText(::prost::alloc::string::String),
        /// offset: 24
        #[prost(uint32, tag = "104")]
        SourceUid(u32),
        /// offset: 24
        #[prost(message, tag = "105")]
        Cmpddidnajl(super::Nliicaggfic),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpcnkeaofea {
    /// offset: 32
    #[prost(enumeration = "MsgType", tag = "1")]
    pub message_type: i32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub chat_message_extend_data: ::core::option::Option<ChatMessageExtendData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dabbfcoafjg {
    /// offset: 36
    #[prost(enumeration = "Hblcdcaggei", tag = "1")]
    pub kcpbmeabmph: i32,
    #[prost(oneof = "dabbfcoafjg::Eedaadmacap", tags = "11, 12")]
    pub eedaadmacap: ::core::option::Option<dabbfcoafjg::Eedaadmacap>,
}
/// Nested message and enum types in `DABBFCOAFJG`.
pub mod dabbfcoafjg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Eedaadmacap {
        /// offset: 16
        #[prost(uint32, tag = "11")]
        Uid(u32),
        /// offset: 16
        #[prost(enumeration = "super::Ceaknjbjiep", tag = "12")]
        RoleGoodsInfo(i32),
    }
}
/// Obf: IMEIIJHPMBJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatMessageData {
    /// offset: 72
    #[prost(enumeration = "MsgType", tag = "1")]
    pub message_type: i32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub content: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub sender_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub source_uid: u32,
    /// offset: 48
    #[prost(message, optional, tag = "6")]
    pub chat_message_extend_data: ::core::option::Option<ChatMessageExtendData>,
    /// offset: 64
    #[prost(uint64, tag = "4")]
    pub create_time: u64,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub dgmnkagbcem: ::core::option::Option<Gpcnkeaofea>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub bofjjhikijl: ::core::option::Option<Dabbfcoafjg>,
}
/// Obf: PlayerBasicInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBasicInfo {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub mcoin: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub hcoin: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub scoin: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Einfbmjpdah {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub boodhbfmhif: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: SpBarInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpBarInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cur_sp: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub max_sp: u32,
}
/// Obf: BlackInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BlackInfo {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    /// offset: 24
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub limit_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub ban_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeverTimeAvatar {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pomjpogjnik {
    /// offset: 36
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub index: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jnbnncjkhng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VersionCount {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
/// Obf: ClientDownloadData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadData {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 32
    #[prost(int64, tag = "2")]
    pub time: i64,
    /// offset: 24
    #[prost(bytes = "vec", tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u8>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub lmbbpgkgpfi: u32,
}
/// Obf: OKMGDLKGMJP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadData {
    /// offset: 32
    #[prost(bytes = "vec", tag = "1")]
    pub sc_info: ::prost::alloc::vec::Vec<u8>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub client_obj_download_data: ::core::option::Option<ClientDownloadData>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub dyn_code: ::prost::alloc::vec::Vec<ClientDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientUploadData {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub tag: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureSwitchParam {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddphadgffem {
    /// offset: 32
    #[prost(enumeration = "FeatureSwitchType", tag = "1")]
    pub r#type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub mjkfmeepggp: ::prost::alloc::vec::Vec<FeatureSwitchParam>,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub gjnmdoeiofp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmgjihlniab {
    /// offset: 64
    #[prost(string, tag = "1")]
    pub lgcibpljpcb: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub afpkdadobgg: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "3")]
    pub edpkgaodfjp: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub iilecoifnon: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(string, tag = "5")]
    pub hhebcbncdic: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub kiagcchgkhc: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "7")]
    pub mac: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbhmicgfgpo {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub llfhpkgbokb: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(int32, tag = "2")]
    pub bfcgdcohjfb: i32,
    /// offset: 32
    #[prost(int32, tag = "3")]
    pub oflnopljelb: i32,
    /// offset: 36
    #[prost(int32, tag = "4")]
    pub kgidhcjkidm: i32,
    /// offset: 40
    #[prost(int32, tag = "5")]
    pub ogoigncnmbn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplayInfo {
    /// offset: 40
    #[prost(uint64, tag = "1")]
    pub jpbcblemcoo: u64,
    /// offset: 64
    #[prost(enumeration = "ReplayType", tag = "2")]
    pub replay_type: i32,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub head_icon: u32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub replay_name: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "8")]
    pub create_time: u64,
    /// offset: 72
    #[prost(uint32, tag = "9")]
    pub dlnhafodpie: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub jebfiajncij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbongfkohhl {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfkbcceinbo {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub hoajjfpcfoa: u32,
    /// offset: 60
    #[prost(bool, tag = "3")]
    pub ooachoaeeap: bool,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub dailcjjojhc: u32,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub aeajehdfmcn: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Fbongfkohhl>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub cianacgnklf: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub eamdaaacndc: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub biahccpchab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleRecordList {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub battle_record_list: ::prost::alloc::vec::Vec<Mfkbcceinbo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterKey {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
/// Obf: DKGONIMBENK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterBasicInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 56
    #[prost(int64, tag = "5")]
    pub create_time: i64,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub left_hp: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub attacker_num: u32,
    /// offset: 36
    #[prost(enumeration = "PunkLordShareType", tag = "8")]
    pub share_type: i32,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub ppchdoljfll: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmbdmgcbaac {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub aeajehdfmcn: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub pjmcoieibij: ::core::option::Option<ReplayInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RegionInfo {
    /// offset: 40
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub dispatch_url: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "4")]
    pub env_type: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(string, tag = "5")]
    pub display_name: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "6")]
    pub source_uid: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dispatch {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub source_uid: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "3")]
    pub top_sever_region_name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub region_list: ::prost::alloc::vec::Vec<RegionInfo>,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub stop_desc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnkcdkmjjck {
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub feimadgfapk: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub lgaheoefkdo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "3")]
    pub nmfnkmbeadk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "4")]
    pub kdidakchjfj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub faabeeffngn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "6")]
    pub cbpgflagndg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(bool, tag = "7")]
    pub ogimlnbbneg: bool,
    /// offset: 88
    #[prost(uint32, tag = "8")]
    pub kbgbfmpmjac: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub nlmajccfgii: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, repeated, tag = "10")]
    pub inbonlgipcj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "11")]
    pub gfbdegcedkd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hhglnogpokj {
    #[prost(oneof = "hhglnogpokj::Lcibglegjfk", tags = "101")]
    pub lcibglegjfk: ::core::option::Option<hhglnogpokj::Lcibglegjfk>,
}
/// Nested message and enum types in `HHGLNOGPOKJ`.
pub mod hhglnogpokj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 16
        #[prost(uint32, tag = "101")]
        RoleStar(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Miimnjkjokl {
    /// offset: 40
    #[prost(enumeration = "GridFightDropType", tag = "1")]
    pub ccikbidccpg: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub opjhdmggkgi: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub num: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub display_value: ::core::option::Option<Hhglnogpokj>,
}
/// Obf: CICEOAJJBAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightDropInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub nafljonggii: ::prost::alloc::vec::Vec<Miimnjkjokl>,
}
/// Obf: LLMNHKBHJOB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleOp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub state: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub action_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub target_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub op_type: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub skill_index: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub operation_counter: u32,
    /// offset: 24
    #[prost(string, tag = "8")]
    pub hmcegpkfjie: ::prost::alloc::string::String,
}
/// Obf: GLMAAGLAMJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleEquipment {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub rank: u32,
}
/// Obf: ABINJCAKGBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRelic {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub set_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub r#type: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub rarity: u32,
}
/// Obf: NDCCGDIFILA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarSkillTree {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicAffix {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub affix_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub step: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iggobecdelm {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub efbidhpbhid: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub hoppboppojh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ebmiagpaajg: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub hoehlbnpfcg: u32,
}
/// Obf: FBACAPODFKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatar {
    /// offset: 104
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 112
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 108
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub index: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub equipment_list: ::prost::alloc::vec::Vec<BattleEquipment>,
    /// offset: 96
    #[prost(uint32, tag = "8")]
    pub hp: u32,
    /// offset: 92
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<BattleRelic>,
    /// offset: 100
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub assist_uid: u32,
    /// offset: 56
    #[prost(message, optional, tag = "15")]
    pub ncgdnliehej: ::core::option::Option<Iggobecdelm>,
    /// offset: 40
    #[prost(message, optional, tag = "16")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 88
    #[prost(uint32, tag = "17")]
    pub hadkomlnoob: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "18")]
    pub jbphneknmao: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 76
    #[prost(uint32, tag = "19")]
    pub enhanced_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleMonsterParam {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub hard_level_group: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub elite_group: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pohhhachhgh: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub oamhagnbjgi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lckajbbgefc {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub role_star: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub dlboeembffm: ::prost::alloc::vec::Vec<Miimnjkjokl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcbpddfbple {
    #[prost(oneof = "lcbpddfbple::Pjnobjnmcgb", tags = "101")]
    pub pjnobjnmcgb: ::core::option::Option<lcbpddfbple::Pjnobjnmcgb>,
}
/// Nested message and enum types in `LCBPDDFBPLE`.
pub mod lcbpddfbple {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pjnobjnmcgb {
        /// offset: 16
        #[prost(message, tag = "101")]
        Baconenfbpf(super::Lckajbbgefc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleMonster {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub cur_hp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub max_hp: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub extra_info: ::core::option::Option<Lcbpddfbple>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleMonsterWave {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub monster_list: ::prost::alloc::vec::Vec<BattleMonster>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub monster_param: ::core::option::Option<BattleMonsterParam>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub battle_stage_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub battle_wave_id: u32,
}
/// Obf: OPPFLPOGFNA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuff {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub owner_index: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub wave_flag: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub target_index_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "string, float", tag = "6")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pmlhaneggfe {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub lpiocfeekjo: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub total_progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Moknjjhdbmf {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub agibhoffdno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gclcbnpolje {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lpiocfeekjo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mlfdoaojphh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleTarget {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub total_progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleTargetList {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleLineup {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 64
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    /// offset: 88
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 112
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 72
    #[prost(map = "uint32, message", tag = "9")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub dhddgbmfjnh: ::core::option::Option<Moknjjhdbmf>,
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub eejhklmgnln: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub obefbbcihoa: ::core::option::Option<BattleGridFightSpecialBattleInfo>,
    /// offset: 96
    #[prost(message, optional, tag = "13")]
    pub mllkmhnebjn: ::core::option::Option<Hjjmfaedpbe>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub battle_rogue_magic_info: ::core::option::Option<BattleRogueMagicInfo>,
    /// offset: 80
    #[prost(message, optional, tag = "15")]
    pub obehihlodpk: ::core::option::Option<Mmocalfkjbd>,
    /// offset: 104
    #[prost(message, optional, tag = "16")]
    pub baconenfbpf: ::core::option::Option<Obljijdcpfg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjjmfaedpbe {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "1")]
    pub dabbodimlko: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub ikhlgbckekp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub hpnfbgafdcc: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub ghkjpnpegln: u32,
}
/// Obf: EIMCOFCBJID
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherAvatarInfo {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub index: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub passive_skill: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "5")]
    pub spirit_lineup_type: i32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbcfjapekda {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<AetherAvatarInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientTurnSnapshot {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub random_counter: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub anim_event_counter: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub snapshot_list: ::prost::alloc::vec::Vec<CharacterSnapshot>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub lbklicggeag: ::prost::alloc::vec::Vec<AnimEventSnapshot>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub ngandkkbjgh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GamecoreConfig {
    /// offset: 43
    #[prost(bool, tag = "1")]
    pub hoajiocfgdg: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub dekimlkodoj: u32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub is_auto_fight: bool,
    /// offset: 16
    #[prost(string, tag = "4")]
    pub mbiocmeepal: ::prost::alloc::string::String,
    /// offset: 41
    #[prost(bool, tag = "5")]
    pub dheecphlngd: bool,
    /// offset: 42
    #[prost(bool, tag = "6")]
    pub pjmfajiapba: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub jegmneochpe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmbcklfjcao {
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub hpacidbojaj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub obgebhgjado: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "3")]
    pub kpkeedncboc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub ipeckdffada: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Colkbncpcab {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kinekakpbkn: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ihpjpmjfeij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmfalnnoajh {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub bnfeglhdoia: bool,
    /// offset: 24
    #[prost(map = "string, message", tag = "2")]
    pub oillbelandl: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        Colkbncpcab,
    >,
    /// offset: 16
    #[prost(bytes = "vec", tag = "3")]
    pub gfipnfpgajp: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbdjfhgeeih {
    /// offset: 56
    #[prost(message, repeated, tag = "1")]
    pub ijdpakeoeab: ::prost::alloc::vec::Vec<ClientTurnSnapshot>,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub bcidkkdpbfk: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "3")]
    pub debug_extra_info: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub dhaklnkimap: ::prost::alloc::vec::Vec<BattleReplayStringHash>,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub hoiijiiojee: u32,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub daclfkiebpf: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub hfckfgjbllh: ::core::option::Option<Gmfalnnoajh>,
    /// offset: 80
    #[prost(uint32, tag = "10")]
    pub aknhadoenea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleReplay {
    /// offset: 108
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 112
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    /// offset: 96
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<BattleLineup>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    /// offset: 64
    #[prost(bytes = "vec", tag = "6")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    /// offset: 104
    #[prost(uint32, tag = "7")]
    pub maze_plane_id: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "8")]
    pub extra_ability_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 120
    #[prost(bool, tag = "9")]
    pub is_ai_consider_ultra_skill: bool,
    /// offset: 132
    #[prost(enumeration = "BattleCheckStrategyType", tag = "10")]
    pub check_strategy: i32,
    /// offset: 116
    #[prost(enumeration = "BattleModuleType", tag = "11")]
    pub battle_module_type: i32,
    /// offset: 88
    #[prost(message, repeated, tag = "12")]
    pub battle_event: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 124
    #[prost(uint32, tag = "14")]
    pub rounds_limit: u32,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub config: ::core::option::Option<GamecoreConfig>,
    /// offset: 16
    #[prost(bytes = "vec", tag = "16")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    /// offset: 100
    #[prost(uint32, tag = "17")]
    pub client_version: u32,
    /// offset: 128
    #[prost(uint32, tag = "18")]
    pub idhjbjnonlh: u32,
    /// offset: 48
    #[prost(message, optional, tag = "19")]
    pub lcnkkdgcibh: ::core::option::Option<Jbcfjapekda>,
    /// offset: 80
    #[prost(message, optional, tag = "100")]
    pub ihlheekiocp: ::core::option::Option<Gbdjfhgeeih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleReplayStringHash {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub hash: i32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
/// Obf: LJAIPJMDKFH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarProperty {
    /// offset: 72
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub attack: f64,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub defence: f64,
    /// offset: 56
    #[prost(double, tag = "4")]
    pub speed: f64,
    /// offset: 48
    #[prost(double, tag = "5")]
    pub left_hp: f64,
    /// offset: 64
    #[prost(double, tag = "6")]
    pub left_sp: f64,
    /// offset: 32
    #[prost(double, tag = "7")]
    pub max_sp: f64,
}
/// Obf: PENJEAJAFHP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipmentProperty {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
/// Obf: EMKOOOGHGDE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttackDamageProperty {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub attack_type: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub damage: f64,
}
/// Obf: IKHCFPDLNEN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkillUseProperty {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub skill_type: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub skill_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub skill_use_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub hfjdipjmkfi: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub nhjpmpmdfgh: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub ndongmngcfi: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub abdoidodpie: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub amncicejean: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihbafeimefm {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub khgjmhcafha: f64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub battle_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(double, tag = "4")]
    pub damage: f64,
}
/// Obf: LEDEONHLHPI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpAddSource {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub source: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub sp_add: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AbilityUseStt {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub fjoofkiadbc: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub count: u32,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhegoccndlb {
    /// offset: 32
    #[prost(double, tag = "1")]
    pub ndpgocmhbch: f64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub bmifphjobln: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkedplhkkgi {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub lchpoilfcbn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ogiaonlbfek {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub gmdnbgclhdn: i32,
    /// offset: 32
    #[prost(int32, tag = "2")]
    pub abhjnoihbcj: i32,
    /// offset: 28
    #[prost(int32, tag = "3")]
    pub lchpoilfcbn: i32,
}
/// Obf: EHKMCFOJFFD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarBattleInfo {
    /// offset: 328
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 160
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 276
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
    /// offset: 164
    #[prost(uint32, tag = "4")]
    pub avatar_rank: u32,
    /// offset: 348
    #[prost(uint32, tag = "5")]
    pub avatar_promotion: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub avatar_status: ::core::option::Option<AvatarProperty>,
    /// offset: 64
    #[prost(message, repeated, tag = "7")]
    pub avatar_skill: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 112
    #[prost(message, repeated, tag = "8")]
    pub avatar_equipment: ::prost::alloc::vec::Vec<EquipmentProperty>,
    /// offset: 344
    #[prost(uint32, tag = "9")]
    pub total_turns: u32,
    /// offset: 248
    #[prost(double, tag = "10")]
    pub total_damage: f64,
    /// offset: 240
    #[prost(double, tag = "11")]
    pub total_heal: f64,
    /// offset: 256
    #[prost(double, tag = "12")]
    pub total_damage_taken: f64,
    /// offset: 304
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    /// offset: 208
    #[prost(double, tag = "14")]
    pub total_sp_cost: f64,
    /// offset: 380
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    /// offset: 228
    #[prost(uint32, tag = "16")]
    pub stage_type: u32,
    /// offset: 168
    #[prost(double, tag = "17")]
    pub total_break_damage: f64,
    /// offset: 72
    #[prost(message, repeated, tag = "18")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 104
    #[prost(message, repeated, tag = "19")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 120
    #[prost(message, repeated, tag = "20")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 32
    #[prost(message, repeated, tag = "21")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    /// offset: 352
    #[prost(double, tag = "22")]
    pub delay_cumulate: f64,
    /// offset: 188
    #[prost(uint32, tag = "23")]
    pub total_sp_add: u32,
    /// offset: 128
    #[prost(message, repeated, tag = "24")]
    pub sp_add_source: ::prost::alloc::vec::Vec<SpAddSource>,
    /// offset: 268
    #[prost(uint32, tag = "25")]
    pub total_bp_cost: u32,
    /// offset: 320
    #[prost(uint32, tag = "26")]
    pub die_times: u32,
    /// offset: 184
    #[prost(uint32, tag = "27")]
    pub revive_times: u32,
    /// offset: 200
    #[prost(uint32, tag = "28")]
    pub break_times: u32,
    /// offset: 140
    #[prost(uint32, tag = "29")]
    pub extra_turns: u32,
    /// offset: 360
    #[prost(double, tag = "30")]
    pub total_shield: f64,
    /// offset: 280
    #[prost(double, tag = "31")]
    pub total_shield_taken: f64,
    /// offset: 296
    #[prost(double, tag = "32")]
    pub total_shield_damage: f64,
    /// offset: 16
    #[prost(message, optional, tag = "33")]
    pub initial_status: ::core::option::Option<AvatarProperty>,
    /// offset: 96
    #[prost(message, repeated, tag = "34")]
    pub relics: ::prost::alloc::vec::Vec<BattleRelic>,
    /// offset: 224
    #[prost(uint32, tag = "35")]
    pub assist_uid: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "36")]
    pub fjdpeiomcjc: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 368
    #[prost(double, tag = "37")]
    pub mmgellljgna: f64,
    /// offset: 152
    #[prost(double, tag = "38")]
    pub ecfcdbekjib: f64,
    /// offset: 176
    #[prost(double, tag = "39")]
    pub hhbbnngkkme: f64,
    /// offset: 384
    #[prost(double, tag = "40")]
    pub akgfhkpjddh: f64,
    /// offset: 88
    #[prost(message, repeated, tag = "41")]
    pub hkhcinmgkgm: ::prost::alloc::vec::Vec<AbilityUseStt>,
    /// offset: 264
    #[prost(uint32, tag = "42")]
    pub gdmcaljakbo: u32,
    /// offset: 376
    #[prost(uint32, tag = "43")]
    pub eofopcofanj: u32,
    /// offset: 144
    #[prost(double, tag = "44")]
    pub fpgpmcpehno: f64,
    /// offset: 336
    #[prost(double, tag = "45")]
    pub bjimpealedg: f64,
    /// offset: 288
    #[prost(double, tag = "46")]
    pub lphagjnifke: f64,
    /// offset: 312
    #[prost(double, tag = "47")]
    pub ookpfehoopk: f64,
    /// offset: 232
    #[prost(double, tag = "48")]
    pub apehdacegkb: f64,
    /// offset: 324
    #[prost(uint32, tag = "49")]
    pub hfdhmmhnkjm: u32,
    /// offset: 216
    #[prost(uint32, tag = "50")]
    pub cebnmmhmilj: u32,
    /// offset: 220
    #[prost(uint32, tag = "51")]
    pub ehbjkfacmhk: u32,
    /// offset: 192
    #[prost(double, tag = "52")]
    pub cejbddlfpom: f64,
    /// offset: 332
    #[prost(uint32, tag = "53")]
    pub nkmlhnodedo: u32,
    /// offset: 272
    #[prost(uint32, tag = "54")]
    pub dnjiiajklen: u32,
    /// offset: 204
    #[prost(uint32, tag = "55")]
    pub enhanced_id: u32,
    /// offset: 136
    #[prost(uint32, tag = "56")]
    pub obpohiceaib: u32,
    /// offset: 80
    #[prost(message, optional, tag = "57")]
    pub jfloipiolag: ::core::option::Option<Nhegoccndlb>,
    /// offset: 56
    #[prost(message, optional, tag = "58")]
    pub apfcfdligpo: ::core::option::Option<Nkedplhkkgi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonsterProperty {
    /// offset: 48
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    /// offset: 64
    #[prost(double, tag = "2")]
    pub attack: f64,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub defence: f64,
    /// offset: 72
    #[prost(double, tag = "4")]
    pub shield: f64,
    /// offset: 56
    #[prost(double, tag = "5")]
    pub speed: f64,
    /// offset: 40
    #[prost(double, tag = "6")]
    pub left_hp: f64,
    /// offset: 24
    #[prost(double, tag = "7")]
    pub enter_battle_hp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonsterPhaseStt {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub hnmfmgcapno: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub bcgaebpjccj: f64,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub ljeaneeldae: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub break_times: u32,
}
/// Obf: EDHNIOLKBIP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterBattleInfo {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 100
    #[prost(uint32, tag = "3")]
    pub lbkkekgcmll: u32,
    /// offset: 176
    #[prost(uint32, tag = "4")]
    pub kgiihgkcccl: u32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub nhmmdigofid: ::core::option::Option<MonsterProperty>,
    /// offset: 168
    #[prost(uint32, tag = "6")]
    pub total_turns: u32,
    /// offset: 72
    #[prost(double, tag = "7")]
    pub total_damage: f64,
    /// offset: 120
    #[prost(double, tag = "8")]
    pub total_heal: f64,
    /// offset: 104
    #[prost(double, tag = "9")]
    pub total_damage_taken: f64,
    /// offset: 192
    #[prost(double, tag = "10")]
    pub lkgiplnekia: f64,
    /// offset: 144
    #[prost(double, tag = "11")]
    pub total_hp_recover: f64,
    /// offset: 180
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    /// offset: 152
    #[prost(uint32, tag = "14")]
    pub eblfgehjmhd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 24
    #[prost(message, repeated, tag = "16")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    /// offset: 68
    #[prost(uint32, tag = "17")]
    pub stage_type: u32,
    /// offset: 112
    #[prost(double, tag = "18")]
    pub hbhgcackifn: f64,
    /// offset: 128
    #[prost(double, tag = "19")]
    pub delay_cumulate: f64,
    /// offset: 92
    #[prost(enumeration = "Kdhdaocapia", tag = "20")]
    pub oakagdhgjeb: i32,
    /// offset: 136
    #[prost(uint32, tag = "21")]
    pub wave: u32,
    /// offset: 172
    #[prost(int32, tag = "22")]
    pub gblddbdondf: i32,
    /// offset: 156
    #[prost(uint32, tag = "23")]
    pub phase: u32,
    /// offset: 160
    #[prost(uint32, tag = "24")]
    pub ndlijdgldok: u32,
    /// offset: 84
    #[prost(enumeration = "Djlemokikbc", tag = "25")]
    pub lgikkkifbib: i32,
    /// offset: 48
    #[prost(message, repeated, tag = "26")]
    pub skill_info: ::prost::alloc::vec::Vec<Ihbafeimefm>,
    /// offset: 184
    #[prost(uint32, tag = "27")]
    pub mbidmohkpcj: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "28")]
    pub bigfembpkbi: ::prost::alloc::vec::Vec<MonsterPhaseStt>,
    /// offset: 140
    #[prost(uint32, tag = "29")]
    pub iplmdfhglom: u32,
    /// offset: 96
    #[prost(uint32, tag = "30")]
    pub gjjfeklmdll: u32,
    /// offset: 164
    #[prost(enumeration = "Cfagpflckgb", tag = "31")]
    pub kmlocmddpie: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleEventProperty {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
/// Obf: NJONAOAGIKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEventBattleInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub battle_event_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub status: ::core::option::Option<BattleEventProperty>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub skill_info: ::prost::alloc::vec::Vec<Ihbafeimefm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ScoreInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cdefdcabgla: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpdnlodemnd {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub dlffigbmdjj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub source: u32,
    /// offset: 56
    #[prost(double, tag = "4")]
    pub damage: f64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub pgdceommjfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(int32, tag = "6")]
    pub loilfajddeo: i32,
    /// offset: 64
    #[prost(double, tag = "7")]
    pub gbicldlfgng: f64,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub pnjfaihncoj: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub wave: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub enhanced_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ofanndhfcfb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(int32, tag = "2")]
    pub oedgjnbnkjg: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub enhanced_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lcomjlhnmef {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub lgcbcddghfo: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jhdeljmlkjp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jabocfnpoae {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub hnmfmgcapno: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub ohnmmhcnece: ::prost::alloc::vec::Vec<Ofanndhfcfb>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub khgjmhcafha: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub jbfljbcjnii: ::prost::alloc::vec::Vec<Lcomjlhnmef>,
}
/// Obf: LBLHPPJDKFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StatisticEvent {
    /// offset: 32
    #[prost(enumeration = "BattleStaticticEventType", tag = "1")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub apnmbioehfl: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cppcdkimnfn {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub majldkaljeg: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jbphphlkcli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eddkfllhede {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub jfbhiamfdeb: u32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub ikodikhonjp: bool,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub aejpbjnjobp: ::core::option::Option<Cppcdkimnfn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkedagnkbok {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub card_id: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub display_value: f64,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub lokdalfbhcp: bool,
    /// offset: 24
    #[prost(double, repeated, tag = "4")]
    pub switch_list: ::prost::alloc::vec::Vec<f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pjhiopaocmh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub majldkaljeg: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub damage: f64,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub nlcndagbjla: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndffldmjihd {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub mejccehljkh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub cndaaangfef: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecnjfhlldpb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub doiemjmgagh: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub ccpblnednld: ::prost::alloc::vec::Vec<Cppcdkimnfn>,
    /// offset: 44
    #[prost(float, tag = "5")]
    pub khgjmhcafha: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fghmgekbjeo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub njfmlgbcepd: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub khgjmhcafha: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omigebbkbpe {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub fampdbedlno: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub cfklcfolbbh: ::prost::alloc::vec::Vec<Ecnjfhlldpb>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub mkimbjhnbkb: ::prost::alloc::vec::Vec<Fghmgekbjeo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmbngokibeg {
    /// offset: 24
    #[prost(enumeration = "Ccjokmajhon", tag = "1")]
    pub r#type: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
/// Obf: JAAFFIBMDKO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleGridFightSpecialBattleInfo {
    /// offset: 140
    #[prost(uint32, tag = "1")]
    pub cur_level_id: u32,
    /// offset: 136
    #[prost(uint32, tag = "2")]
    pub fibgdejoohm: u32,
    /// offset: 160
    #[prost(uint32, tag = "3")]
    pub rogue_money: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub fhidikidpli: ::prost::alloc::vec::Vec<Eddkfllhede>,
    /// offset: 56
    #[prost(message, repeated, tag = "5")]
    pub omdcaojeaak: ::prost::alloc::vec::Vec<Eddkfllhede>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub bjehlnhdhjl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 112
    #[prost(message, optional, tag = "7")]
    pub bpalpdoeebj: ::core::option::Option<Ndffldmjihd>,
    /// offset: 96
    #[prost(uint32, repeated, tag = "8")]
    pub loinnmcnmbl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 128
    #[prost(uint32, tag = "9")]
    pub grid_fight_cur_level_exp: u32,
    /// offset: 164
    #[prost(uint32, tag = "10")]
    pub lnlnofimmck: u32,
    /// offset: 156
    #[prost(uint32, tag = "11")]
    pub dlcpgbndgde: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub ohpgogcgahi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 152
    #[prost(uint32, tag = "13")]
    pub cbaeafckoli: u32,
    /// offset: 124
    #[prost(uint32, tag = "14")]
    pub dfamllocnfp: u32,
    /// offset: 170
    #[prost(bool, tag = "15")]
    pub ecnmjcjkkec: bool,
    /// offset: 168
    #[prost(bool, tag = "16")]
    pub jjcpdkclkgo: bool,
    /// offset: 88
    #[prost(message, repeated, tag = "17")]
    pub ajoldhiccdc: ::prost::alloc::vec::Vec<Kkedagnkbok>,
    /// offset: 72
    #[prost(message, repeated, tag = "18")]
    pub dhloileembb: ::prost::alloc::vec::Vec<Pjhiopaocmh>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "19")]
    pub jgfgablgjaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 169
    #[prost(bool, tag = "20")]
    pub lcjjfipghnj: bool,
    /// offset: 132
    #[prost(uint32, tag = "21")]
    pub fjjibjbhjjd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "22")]
    pub fgihgbapgmg: ::core::option::Option<Omigebbkbpe>,
    /// offset: 144
    #[prost(uint32, tag = "23")]
    pub khcmokjlahb: u32,
    /// offset: 148
    #[prost(uint32, tag = "24")]
    pub gcaalffbece: u32,
    /// offset: 104
    #[prost(uint32, repeated, tag = "25")]
    pub nnifngbpckh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "26")]
    pub alakakoclbi: ::prost::alloc::vec::Vec<Nmbngokibeg>,
    /// offset: 120
    #[prost(uint32, tag = "27")]
    pub pkeipfmmocl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kfpgngocckm {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub dldjpkfngke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdphmlhophg {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub beajkcfoaof: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NBFMNKILMIA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleGridFightTraitCoreRoleInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
}
/// Obf: DDKEMCFGMIM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleGridFigntAvatarCoreRoleInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ndnmekhapnn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CJDKJGBLDEP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitEffectLevelInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub trait_effect_level_exp: u32,
    /// offset: 16
    #[prost(map = "uint32, message", tag = "2")]
    pub trait_effect_level_reward: ::std::collections::HashMap<u32, GridFightDropInfo>,
}
/// Obf: JIPFDPEDCGO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleGridFightTraitEffectInfo {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    #[prost(
        oneof = "battle_grid_fight_trait_effect_info::Lcibglegjfk",
        tags = "101, 102, 103"
    )]
    pub lcibglegjfk: ::core::option::Option<
        battle_grid_fight_trait_effect_info::Lcibglegjfk,
    >,
}
/// Nested message and enum types in `BattleGridFightTraitEffectInfo`.
pub mod battle_grid_fight_trait_effect_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 16
        #[prost(message, tag = "101")]
        TraitCoreRole(super::BattleGridFightTraitCoreRoleInfo),
        /// offset: 16
        #[prost(message, tag = "102")]
        AvatarCoreInfo(super::BattleGridFigntAvatarCoreRoleInfo),
        /// offset: 16
        #[prost(message, tag = "103")]
        TraitEffectLevelInfo(super::GridFightTraitEffectLevelInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Apgcoiajhij {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub aahcokgjbii: u32,
    /// offset: 28
    #[prost(enumeration = "Pkmokdanmbb", tag = "2")]
    pub ejlooicahfo: i32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ihafnmaonfd: u32,
    /// offset: 32
    #[prost(enumeration = "Cnjclhjekge", tag = "4")]
    pub grid_update_src: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kinkockecmf {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub trait_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub pheohebelge: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub trait_effect_list: ::prost::alloc::vec::Vec<BattleGridFightTraitEffectInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub meoddifdobc: ::prost::alloc::vec::Vec<Apgcoiajhij>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub imbapmpkjmi: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub ifdaelfffap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbifamejpdb {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub role_star: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub bffgegicppb: ::prost::alloc::vec::Vec<Oamebkpaccn>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "10")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndcaopmbiep {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub npc_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<Oamebkpaccn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aecgcmmpjib {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub jjojlfkepfg: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oamebkpaccn {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub grid_fight_equipment_id: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "4")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(map = "uint32, double", tag = "6")]
    pub kmamklocofg: ::std::collections::HashMap<u32, f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibkchloeomk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub augment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nafcellidfc {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub portal_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jpacbkjhfkn {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub dcjkchfjmbk: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub mohofmeimmm: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub ledlkghdnoc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obljijdcpfg {
    /// offset: 64
    #[prost(message, repeated, tag = "1")]
    pub djdfjpfomnh: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 120
    #[prost(uint32, tag = "2")]
    pub battle_wave_id: u32,
    /// offset: 128
    #[prost(uint32, tag = "3")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 100
    #[prost(uint32, tag = "4")]
    pub jgfejnojann: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<Kinkockecmf>,
    /// offset: 88
    #[prost(message, repeated, tag = "8")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<Gbifamejpdb>,
    /// offset: 104
    #[prost(uint32, tag = "9")]
    pub aaejdjkjjhd: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "10")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<Ibkchloeomk>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub fioneiilpao: ::core::option::Option<Jpacbkjhfkn>,
    /// offset: 124
    #[prost(uint32, tag = "12")]
    pub hhelelcgjon: u32,
    /// offset: 96
    #[prost(uint32, tag = "13")]
    pub season: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<Nafcellidfc>,
    /// offset: 116
    #[prost(bool, tag = "15")]
    pub is_overlock: bool,
    /// offset: 112
    #[prost(uint32, tag = "16")]
    pub ljelepgkmmc: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "17")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<Ndcaopmbiep>,
    /// offset: 16
    #[prost(message, repeated, tag = "18")]
    pub cedpkfdfdhh: ::prost::alloc::vec::Vec<Aecgcmmpjib>,
    /// offset: 108
    #[prost(uint32, tag = "19")]
    pub gpnfficjmoc: u32,
    /// offset: 72
    #[prost(map = "string, uint32", tag = "20")]
    pub kpojmmgbjal: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifmgopldnhe {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub phase: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(float, tag = "2")]
    pub bhhlgpimdcm: f32,
    /// offset: 52
    #[prost(float, tag = "3")]
    pub iipahnjfihc: f32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub bpfihhjdldi: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub cjcpohmpjne: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub nijofjombhl: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub ogbhjhbgmnd: u32,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub ljmffipcaik: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub agdokbfhpjf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub ohblagnogcc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdalldeploo {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub lnjdepgaako: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub abhfnfllofo: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub fjhejpblkac: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub nineplfebdk: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub faopljnobhb: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub dkdkbojekok: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub boss_info: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub dhalgoafnmi: ::prost::alloc::vec::Vec<Ifmgopldnhe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pnlhcbkihei {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    /// offset: 40
    #[prost(double, tag = "2")]
    pub dpgfkdfkdml: f64,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub knapoghgalc: f64,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub nnpghmpjfnb: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub jmibbnbnnph: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub status: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub afcihalefca: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jlpggngjamk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adkejmddade {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub value: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gghahpeolko {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hbamiplgebk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fodfdflgbad {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lggkppjodfd: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub kcpcaipfoee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcafmfidjll {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub oajijkigadj: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub ikodikhonjp: bool,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub dice_slot_id: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "5")]
    pub dindidmnele: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Femfgcjpnbo {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub cchgdfjabdk: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub beeihefipkd: ::prost::alloc::vec::Vec<Lcafmfidjll>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "4")]
    pub hnkaadhikel: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Camjdgbkibc {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub cmbjpbmoodk: ::core::option::Option<Fodfdflgbad>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub fkeldbhchnf: ::prost::alloc::vec::Vec<Femfgcjpnbo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enagkkfgocp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hgoabdonlek: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opjccfkfkak {
    #[prost(oneof = "opjccfkfkak::Nnpkchfkppc", tags = "1, 2")]
    pub nnpkchfkppc: ::core::option::Option<opjccfkfkak::Nnpkchfkppc>,
}
/// Nested message and enum types in `OPJCCFKFKAK`.
pub mod opjccfkfkak {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 16
        #[prost(message, tag = "1")]
        Bbialdiimml(super::Camjdgbkibc),
        /// offset: 16
        #[prost(message, tag = "2")]
        Ggfkichmdni(super::Enagkkfgocp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicInfo {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub akbckbpkhap: ::core::option::Option<Gghahpeolko>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub detail_info: ::core::option::Option<Opjccfkfkak>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Joijpnadjlh {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cchgdfjabdk: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 24
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdpmibdpgca {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gfgmpcpfgfj: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub hkiaojnlndf: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub mpejkmedjpi: ::prost::alloc::vec::Vec<Joijpnadjlh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cnnkhppeclg {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub lelocgjfacg: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub odlehgbhdhf: u32,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub dpcdhbifhlm: f64,
    /// offset: 32
    #[prost(double, tag = "4")]
    pub cjjnjjbloje: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fippliholep {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub ohpdejlejop: ::core::option::Option<Cnnkhppeclg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjbdkmocccl {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub omnanlcebdf: ::core::option::Option<Hdpmibdpgca>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub aagpfbhjlek: ::core::option::Option<Fippliholep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mcfgbkhkgno {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub kobfkdiikac: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub occnlidangg: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibfiheodpjk {
    /// offset: 44
    #[prost(enumeration = "Ggkmljlbifh", tag = "1")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub switch_list: ::prost::alloc::vec::Vec<Mcfgbkhkgno>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nejmkdidjbp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub phojohaogaj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub afdmcbcpinc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmocalfkjbd {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub cldkbngmgda: ::prost::alloc::vec::Vec<Ibfiheodpjk>,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "2")]
    pub alicpnbhepc: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub obnjfpncobj: ::prost::alloc::vec::Vec<Nejmkdidjbp>,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub difficulty_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mhaalajbfho {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub bnokjedpmhk: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub nnpghmpjfnb: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jmibbnbnnph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ggpiieaikdh {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub edhnoippapm: u32,
    /// offset: 40
    #[prost(double, tag = "2")]
    pub jblpiomiidm: f64,
    /// offset: 48
    #[prost(double, tag = "3")]
    pub feodigimhke: f64,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub bnokjedpmhk: u32,
    /// offset: 56
    #[prost(double, tag = "6")]
    pub bjiblaliagp: f64,
    /// offset: 32
    #[prost(double, tag = "7")]
    pub iagicpjklmc: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbjfmpfpbdg {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub mpglmpicckl: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub oideahjngch: u32,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub dnjfnfmljle: f64,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub bnokjedpmhk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebbonfcobjb {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub kmadamhlgac: ::prost::alloc::vec::Vec<Mhaalajbfho>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mbolkhfkedm: ::prost::alloc::vec::Vec<Ggpiieaikdh>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub mlnkfjdipne: ::prost::alloc::vec::Vec<Mbjfmpfpbdg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkindkfcdef {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub pehmmligaec: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkllnhejilk {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub pijihhgdloj: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub inkogejpaln: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub ilopcmlkcdl: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub kbfckihbhna: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub iggignggchm: ::prost::alloc::vec::Vec<Fkindkfcdef>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub gdleibliejp: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub flhmgfmlkbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogjgeliinod {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub djbifgeaomf: ::core::option::Option<Hkllnhejilk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Geccmepdkie {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Afhmchdfoll {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hmkbpbkjmmj: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub kebgkibnbip: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kflijdbgapg {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub hoenemjemfi: ::core::option::Option<Ebbonfcobjb>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub cfajanhhdoo: ::core::option::Option<Ogjgeliinod>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub cjgiofncjmk: ::core::option::Option<Geccmepdkie>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub hnmaaoicgnb: ::core::option::Option<Afhmchdfoll>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Edhbjnoimga {
    /// offset: 88
    #[prost(uint32, tag = "1")]
    pub gnhpnlbpglj: u32,
    /// offset: 48
    #[prost(double, tag = "2")]
    pub jblpiomiidm: f64,
    /// offset: 64
    #[prost(double, tag = "3")]
    pub feodigimhke: f64,
    /// offset: 76
    #[prost(uint32, tag = "4")]
    pub flbbepdclif: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub lhpnfjfiend: u32,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub lmfjahjfdkg: u32,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub obamaaniiia: u32,
    /// offset: 40
    #[prost(double, tag = "8")]
    pub bjiblaliagp: f64,
    /// offset: 84
    #[prost(uint32, tag = "9")]
    pub doifeiicieb: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub kpemdephajg: u32,
    /// offset: 24
    #[prost(double, tag = "11")]
    pub iagicpjklmc: f64,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub fjhejpblkac: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub faopljnobhb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnhhhhfompm {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub fjhejpblkac: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub faopljnobhb: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub eholhpaajha: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub mbolkhfkedm: ::prost::alloc::vec::Vec<Edhbjnoimga>,
}
/// Obf: AGEJFNHDIMG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatarServantInfo {
    /// offset: 168
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 172
    #[prost(uint32, tag = "2")]
    pub lgcbcddghfo: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub total_turns: u32,
    /// offset: 104
    #[prost(double, tag = "4")]
    pub nibigdfbfip: f64,
    /// offset: 48
    #[prost(message, repeated, tag = "5")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    /// offset: 112
    #[prost(double, tag = "6")]
    pub total_damage: f64,
    /// offset: 72
    #[prost(double, tag = "7")]
    pub total_break_damage: f64,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 128
    #[prost(double, tag = "11")]
    pub total_damage_taken: f64,
    /// offset: 120
    #[prost(double, tag = "12")]
    pub total_heal: f64,
    /// offset: 152
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    /// offset: 80
    #[prost(double, tag = "14")]
    pub total_shield: f64,
    /// offset: 56
    #[prost(double, tag = "15")]
    pub total_shield_taken: f64,
    /// offset: 88
    #[prost(double, tag = "16")]
    pub total_shield_damage: f64,
    /// offset: 100
    #[prost(uint32, tag = "17")]
    pub break_times: u32,
    /// offset: 136
    #[prost(uint32, tag = "18")]
    pub fpofipnojga: u32,
    /// offset: 64
    #[prost(uint32, tag = "19")]
    pub gdmcaljakbo: u32,
    /// offset: 160
    #[prost(uint32, tag = "20")]
    pub eofopcofanj: u32,
    /// offset: 144
    #[prost(double, tag = "21")]
    pub fpgpmcpehno: f64,
    /// offset: 164
    #[prost(uint32, tag = "22")]
    pub entity_id: u32,
    /// offset: 96
    #[prost(uint32, tag = "23")]
    pub obpohiceaib: u32,
}
/// Obf: AABKCEOMCKB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleAvatarGlobalBuffInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub maze_buff_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub mgcobladelc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjhheplfagk {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub offjnmbclaj: ::prost::alloc::vec::Vec<BattleAvatarServantInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dpojocjkbjb: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub ahfijnccnmh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Deaadackppk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub oapnbeakeaf: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub hlpmhajffae: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gdgnefenedp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mebnkipgchl {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub kgbnnhpdbaf: ::core::option::Option<Deaadackppk>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub cldkbngmgda: ::prost::alloc::vec::Vec<Ibfiheodpjk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjcmbfeeaip {
    /// offset: 124
    #[prost(uint32, tag = "1")]
    pub cgmofcibigd: u32,
    /// offset: 120
    #[prost(uint32, tag = "2")]
    pub ghicohlljpk: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub oanlgebfbil: ::prost::alloc::vec::Vec<Dofepoboakd>,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub pieiklfipoj: ::prost::alloc::vec::Vec<Abekibpknbf>,
    /// offset: 80
    #[prost(message, repeated, tag = "5")]
    pub fmjobdbnbfm: ::prost::alloc::vec::Vec<Miimnjkjokl>,
    /// offset: 56
    #[prost(message, repeated, tag = "6")]
    pub libfgbpiajc: ::prost::alloc::vec::Vec<Doalodeakfk>,
    /// offset: 72
    #[prost(message, repeated, tag = "8")]
    pub gcbambjjkcp: ::prost::alloc::vec::Vec<Bknmbjgoahp>,
    /// offset: 104
    #[prost(uint32, tag = "9")]
    pub nkpocgopalf: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub ljppmldogdl: ::prost::alloc::vec::Vec<Aaiaipbopkn>,
    /// offset: 112
    #[prost(double, tag = "11")]
    pub odhpfnjlmlg: f64,
    /// offset: 96
    #[prost(double, tag = "12")]
    pub bialfoblogm: f64,
    /// offset: 88
    #[prost(double, tag = "13")]
    pub gjdlncaeldc: f64,
    /// offset: 108
    #[prost(uint32, tag = "14")]
    pub aoclbbchdbm: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub hjpnddmhnoi: ::prost::alloc::vec::Vec<Kignacbemhm>,
    /// offset: 64
    #[prost(map = "string, uint32", tag = "16")]
    pub kpojmmgbjal: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Phccgfgjehl {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kbhihejebof: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kignacbemhm {
    #[prost(oneof = "kignacbemhm::Mgkehfmcbbp", tags = "1")]
    pub mgkehfmcbbp: ::core::option::Option<kignacbemhm::Mgkehfmcbbp>,
}
/// Nested message and enum types in `KIGNACBEMHM`.
pub mod kignacbemhm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "1")]
        Pahjmioglcb(super::Phccgfgjehl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehghgdbkgnm {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "5")]
    pub trait_effect_level_reward: ::std::collections::HashMap<u32, GridFightDropInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dofepoboakd {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub trait_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub lonahpdkcmh: ::prost::alloc::vec::Vec<Ehghgdbkgnm>,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub damage: f64,
    /// offset: 40
    #[prost(double, tag = "4")]
    pub jiakhnonljm: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Abekibpknbf {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub augment_id: u32,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub damage: f64,
    /// offset: 32
    #[prost(double, tag = "4")]
    pub jiakhnonljm: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aaiaipbopkn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub portal_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ailfnjfdkfm {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub ikdeoagbefd: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Doalodeakfk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub flghgdckmpa: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<Ailfnjfdkfm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hoeojnkplaa {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bknmbjgoahp {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub damage: f64,
    /// offset: 40
    #[prost(double, tag = "5")]
    pub jiakhnonljm: f64,
    /// offset: 24
    #[prost(map = "uint32, double", tag = "6")]
    pub bhjenpdelpd: ::std::collections::HashMap<u32, f64>,
}
/// Obf: HKMAEPKKHOJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleStatistics {
    /// offset: 252
    #[prost(uint32, tag = "1")]
    pub total_battle_turns: u32,
    /// offset: 280
    #[prost(uint32, tag = "2")]
    pub total_auto_turns: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 272
    #[prost(uint32, tag = "4")]
    pub ultra_cnt: u32,
    /// offset: 240
    #[prost(double, tag = "5")]
    pub total_delay_cumulate: f64,
    /// offset: 264
    #[prost(double, tag = "6")]
    pub cost_time: f64,
    /// offset: 112
    #[prost(message, repeated, tag = "7")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<AvatarBattleInfo>,
    /// offset: 208
    #[prost(message, repeated, tag = "8")]
    pub monster_list: ::prost::alloc::vec::Vec<MonsterBattleInfo>,
    /// offset: 260
    #[prost(uint32, tag = "9")]
    pub round_cnt: u32,
    /// offset: 292
    #[prost(uint32, tag = "10")]
    pub cocoon_dead_wave: u32,
    /// offset: 288
    #[prost(uint32, tag = "11")]
    pub avatar_battle_turns: u32,
    /// offset: 232
    #[prost(uint32, tag = "12")]
    pub monster_battle_turns: u32,
    /// offset: 128
    #[prost(map = "string, float", tag = "13")]
    pub custom_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    /// offset: 256
    #[prost(uint32, tag = "14")]
    pub challenge_score: u32,
    /// offset: 152
    #[prost(message, repeated, tag = "16")]
    pub mfkjpbfjnne: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 284
    #[prost(enumeration = "BattleEndReason", tag = "19")]
    pub end_reason: i32,
    /// offset: 96
    #[prost(message, repeated, tag = "21")]
    pub hfkjkdbefic: ::prost::alloc::vec::Vec<Hpdnlodemnd>,
    /// offset: 32
    #[prost(int32, repeated, tag = "22")]
    pub dlefhdjmjme: ::prost::alloc::vec::Vec<i32>,
    /// offset: 88
    #[prost(message, repeated, tag = "23")]
    pub befademldaf: ::prost::alloc::vec::Vec<Jabocfnpoae>,
    /// offset: 104
    #[prost(message, repeated, tag = "26")]
    pub pmdhbeeiajh: ::prost::alloc::vec::Vec<StatisticEvent>,
    /// offset: 136
    #[prost(message, repeated, tag = "27")]
    pub hpfeifhfjca: ::prost::alloc::vec::Vec<Mnjmgijnaic>,
    /// offset: 144
    #[prost(map = "uint32, message", tag = "28")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 120
    #[prost(message, repeated, tag = "29")]
    pub flgmaebaedo: ::prost::alloc::vec::Vec<Baielflocjh>,
    /// offset: 64
    #[prost(message, optional, tag = "30")]
    pub obefbbcihoa: ::core::option::Option<BattleGridFightSpecialBattleInfo>,
    /// offset: 48
    #[prost(message, optional, tag = "31")]
    pub hlnjloocgbg: ::core::option::Option<Kdalldeploo>,
    /// offset: 276
    #[prost(bool, tag = "32")]
    pub gecjpigjipg: bool,
    /// offset: 80
    #[prost(message, repeated, tag = "33")]
    pub cfklcfolbbh: ::prost::alloc::vec::Vec<Pnlhcbkihei>,
    /// offset: 16
    #[prost(message, repeated, tag = "34")]
    pub opfcfekgcjc: ::prost::alloc::vec::Vec<Adkejmddade>,
    /// offset: 236
    #[prost(uint32, tag = "35")]
    pub khbbckpblbj: u32,
    /// offset: 40
    #[prost(message, optional, tag = "36")]
    pub jlmnjdlmonf: ::core::option::Option<Pjbdkmocccl>,
    /// offset: 176
    #[prost(message, optional, tag = "37")]
    pub lddkjgidepi: ::core::option::Option<Kflijdbgapg>,
    /// offset: 192
    #[prost(message, optional, tag = "38")]
    pub efoglacglgl: ::core::option::Option<Cnhhhhfompm>,
    /// offset: 160
    #[prost(message, optional, tag = "39")]
    pub gaemfoalfmd: ::core::option::Option<Pjhheplfagk>,
    /// offset: 168
    #[prost(message, optional, tag = "40")]
    pub gejfkmfjpgk: ::core::option::Option<Mebnkipgchl>,
    /// offset: 248
    #[prost(uint32, tag = "41")]
    pub mncebjlodha: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "42")]
    pub cdhamigljaa: ::prost::alloc::vec::Vec<BattleAvatarGlobalBuffInfo>,
    /// offset: 200
    #[prost(message, optional, tag = "43")]
    pub dllpelnbmba: ::core::option::Option<Cjcmbfeeaip>,
    /// offset: 216
    #[prost(uint32, repeated, tag = "44")]
    pub nbeaadoomgn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 224
    #[prost(uint32, repeated, tag = "45")]
    pub obpohiceaib: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "46")]
    pub lhkkoddegfi: ::core::option::Option<Ogiaonlbfek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Baielflocjh {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub cfiekflonad: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ehnjalipaoe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mnjmgijnaic {
    /// offset: 32
    #[prost(enumeration = "AetherdivideSpiritLineupType", tag = "1")]
    pub r#type: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MultiPath {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub multi_path_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olnniochnan {
    /// offset: 52
    #[prost(enumeration = "BattleCheckResultType", tag = "1")]
    pub retcode: i32,
    /// offset: 56
    #[prost(enumeration = "BattleEndStatus", tag = "2")]
    pub end_status: i32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 40
    #[prost(bytes = "vec", tag = "4")]
    pub game_core_log_encode: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(map = "string, uint32", tag = "5")]
    pub jhkfichclio: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub mismatch_turn_count: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub cjhnnhchkdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anpdjjehjbb {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub pos: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub role_star: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "string, uint32", tag = "5")]
    pub grid_fight_value_init_component: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        u32,
    >,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkneenjdegg {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub gdkmeeihpce: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ccoadppmcih: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdmnaocaalj {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub jgfejnojann: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub ljelepgkmmc: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub ahfhkogbeni: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub mohofmeimmm: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub section_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<Anpdjjehjbb>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub icepkjjngjg: ::core::option::Option<Lkneenjdegg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Giigpmpeeeo {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub plbmpdldjdh: ::prost::alloc::vec::Vec<BattleReplay>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CharacterSnapshot {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub runtime_id: u32,
    /// offset: 16
    #[prost(uint64, repeated, tag = "2")]
    pub properties: ::prost::alloc::vec::Vec<u64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnimEventSnapshot {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub event_name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knjolijgkkg {
    /// offset: 44
    #[prost(enumeration = "Bljdhpmkadc", tag = "1")]
    pub eajkmdbhnho: i32,
    /// offset: 32
    #[prost(string, tag = "2")]
    pub fhcdjogbcgm: ::prost::alloc::string::String,
    #[prost(oneof = "knjolijgkkg::Pohcokocnic", tags = "10, 11, 12, 13, 14")]
    pub pohcokocnic: ::core::option::Option<knjolijgkkg::Pohcokocnic>,
}
/// Nested message and enum types in `KNJOLIJGKKG`.
pub mod knjolijgkkg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pohcokocnic {
        /// offset: 16
        #[prost(message, tag = "10")]
        Ncnneldocll(super::Miaeejfnomi),
        /// offset: 16
        #[prost(message, tag = "11")]
        SourceUid(super::Dcdlaehlgij),
        /// offset: 16
        #[prost(message, tag = "12")]
        Oijnlbaaamn(super::Gcckjmmlojf),
        /// offset: 16
        #[prost(message, tag = "13")]
        Ocdmojjnfif(super::Odgikakdnjk),
        /// offset: 16
        #[prost(message, tag = "14")]
        Locefeeghla(super::Bjlkoagokbi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Miaeejfnomi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bjlkoagokbi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcdlaehlgij {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub source_uid: ::core::option::Option<ChatMessageData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gcckjmmlojf {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Odgikakdnjk {
    /// offset: 24
    #[prost(enumeration = "Fllgonopjlo", tag = "1")]
    pub diiehdhpkhk: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flpigbofnmm {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub imifjomphgl: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dheelhcflcc {
    /// offset: 72
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub bocpgipiikb: u32,
    /// offset: 76
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform: i32,
    /// offset: 40
    #[prost(string, tag = "6")]
    pub chmlhandgbf: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub pnmkagccilk: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint64, tag = "8")]
    pub version: u64,
    /// offset: 60
    #[prost(bool, tag = "9")]
    pub egndcdfepel: bool,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub alhenfjljod: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjhfjpmaido {
    /// offset: 24
    #[prost(enumeration = "LobbyCharacterType", tag = "1")]
    pub jjfpcgohmje: i32,
    /// offset: 28
    #[prost(enumeration = "LobbyCharacterStatus", tag = "2")]
    pub status: i32,
}
/// Obf: HDJPBAGNDNK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyMarchInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eajeabdlghg: u32,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub egndcdfepel: bool,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub aooojokngbk: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub boadpkbcjfo: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub nikidbfchjl: ::core::option::Option<Bfhlaeinefc>,
}
/// Obf: LLCFHHHEKNB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyMarbleInfo {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub glndlfbfoeh: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ekmnmjfmdkl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ehfkdjlcmmk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ahigglnkbbj: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jlbnhfddopj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfhlaeinefc {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub glndlfbfoeh: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub dciindaiomp: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub cipmednildl: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub kaobjbcgamg: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub imkkpojekda: ::prost::alloc::vec::Vec<Ehfkdjlcmmk>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub laljkaefjcg: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub bpjlnmglako: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkcmljaajnj {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub nikidbfchjl: ::core::option::Option<Bfhlaeinefc>,
}
/// Obf: NAFECPIDHCD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGridFightInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub opeanhfikec: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub gold: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 32
    #[prost(string, tag = "4")]
    pub nikppghngcg: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocdhokogndm {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub hedaifjeekk: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub gbhklmnlaeb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "4")]
    pub unlock_timestamp: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmjdjhpdkdj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub glndlfbfoeh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgfbdfggeeh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub glndlfbfoeh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjkeplcngic {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ocdhokogndm>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub bofeadfmfio: ::core::option::Option<Cmjdjhpdkdj>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub bkjnngkmbhd: ::core::option::Option<Lgfbdfggeeh>,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub cipmednildl: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub fpbomgmbjnc: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub jclpadfdnmk: u32,
}
/// Obf: IJKCBCPPEML
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGameExtInfo {
    /// offset: 16
    #[prost(string, repeated, tag = "1")]
    pub pgikhmojmae: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub eiggllfbela: bool,
    #[prost(
        oneof = "lobby_game_ext_info::Gealnkplcjm",
        tags = "1001, 1002, 1003, 1004, 1005"
    )]
    pub gealnkplcjm: ::core::option::Option<lobby_game_ext_info::Gealnkplcjm>,
}
/// Nested message and enum types in `LobbyGameExtInfo`.
pub mod lobby_game_ext_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gealnkplcjm {
        /// offset: 32
        #[prost(message, tag = "1001")]
        LobbyMarchInfo(super::LobbyMarchInfo),
        /// offset: 32
        #[prost(message, tag = "1002")]
        LobbyMarbleInfo(super::LobbyMarbleInfo),
        /// offset: 32
        #[prost(message, tag = "1003")]
        Oekoomffdcc(super::Nkcmljaajnj),
        /// offset: 32
        #[prost(message, tag = "1004")]
        LobbyGridFightInfo(super::LobbyGridFightInfo),
        /// offset: 32
        #[prost(message, tag = "1005")]
        Npmaijlfbia(super::Kjkeplcngic),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baigacnllmi {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<Dheelhcflcc>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub ogikokldghk: ::core::option::Option<Mjhfjpmaido>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub stage_info: ::core::option::Option<LobbyGameExtInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Djigejalcmp {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub edjbcjednma: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub hihdhefndmd: u32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub eggdegmkgep: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jgbhddholed: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub odnmomdlemn: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub nlcompkmeem: u32,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub lnlbagiopgm: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub nkobipkphnd: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub alhhofaggak: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub daabhgkfbdb: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub imbcenchnhm: u32,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub ncdiippcmgk: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub cecdjfmakok: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub jphlilfbcei: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Famnpacaoip {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub lcikogkibck: u64,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "2")]
    pub gblmpcdnbdp: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Necdghkpogl {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub jpfjpapdeji: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gdipmpmmffh {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub djebjbpmabh: u32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub bpdfpnhpdol: bool,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ckjmgflighl: ::core::option::Option<Necdghkpogl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aapfgcmdenf {
    /// offset: 80
    #[prost(uint64, tag = "1")]
    pub id: u64,
    /// offset: 68
    #[prost(enumeration = "FightGameMode", tag = "2")]
    pub mcbjaiaipca: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub bkakebddgdc: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 64
    #[prost(enumeration = "Fdmnkoadmej", tag = "4")]
    pub r#type: i32,
    /// offset: 72
    #[prost(uint64, tag = "5")]
    pub omkpabfgahe: u64,
    /// offset: 56
    #[prost(uint64, tag = "6")]
    pub ekhdginmlcj: u64,
    /// offset: 48
    #[prost(enumeration = "Ieonnijcjde", tag = "8")]
    pub idjlbcimmfm: i32,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub dgpdfoimafp: ::core::option::Option<Gdipmpmmffh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Emjpplddpfc {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mhlnojdkimh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ompmaldnkng {
    /// offset: 24
    #[prost(enumeration = "Debebndlkom", tag = "1")]
    pub ipeifhleggi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ljlghljcdff {
    #[prost(oneof = "ljlghljcdff::Bflinnfhpdo", tags = "1001, 1002")]
    pub bflinnfhpdo: ::core::option::Option<ljlghljcdff::Bflinnfhpdo>,
}
/// Nested message and enum types in `LJLGHLJCDFF`.
pub mod ljlghljcdff {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bflinnfhpdo {
        /// offset: 24
        #[prost(message, tag = "1001")]
        LobbyGridFightInfo(super::Emjpplddpfc),
        /// offset: 24
        #[prost(message, tag = "1002")]
        Npmaijlfbia(super::Ompmaldnkng),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efobfimnpdm {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mhlnojdkimh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dnplpginibj {
    /// offset: 24
    #[prost(enumeration = "Debebndlkom", tag = "1")]
    pub ipeifhleggi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gdoclbelini {
    #[prost(oneof = "gdoclbelini::Bflinnfhpdo", tags = "1001, 1002")]
    pub bflinnfhpdo: ::core::option::Option<gdoclbelini::Bflinnfhpdo>,
}
/// Nested message and enum types in `GDOCLBELINI`.
pub mod gdoclbelini {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bflinnfhpdo {
        /// offset: 16
        #[prost(message, tag = "1001")]
        LobbyGridFightInfo(super::Efobfimnpdm),
        /// offset: 16
        #[prost(message, tag = "1002")]
        Npmaijlfbia(super::Dnplpginibj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VectorSnapshot {
    /// offset: 24
    #[prost(sint32, tag = "1")]
    pub y: i32,
    /// offset: 32
    #[prost(sint32, tag = "2")]
    pub x: i32,
    /// offset: 28
    #[prost(sint32, tag = "3")]
    pub z: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MotionInfoSnapshot {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub pos: ::core::option::Option<VectorSnapshot>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub rot: ::core::option::Option<VectorSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FloorCustomValueSnapshot {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(enumeration = "Akodjpciodf", tag = "2")]
    pub r#type: i32,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub bool_val: bool,
    /// offset: 48
    #[prost(float, tag = "4")]
    pub float_val: f32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub str_val: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveMcvKeySnapshot {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub main_mission_id: u32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub mcv_key: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PropInfoSnapshot {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub prop_state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntitySnapshot {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub instance_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub motion_info: ::core::option::Option<MotionInfoSnapshot>,
    /// offset: 44
    #[prost(enumeration = "Ldcadcbbmim", tag = "4")]
    pub map_object_type: i32,
    #[prost(oneof = "entity_snapshot::Entity", tags = "5")]
    pub entity: ::core::option::Option<entity_snapshot::Entity>,
}
/// Nested message and enum types in `EntitySnapshot`.
pub mod entity_snapshot {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Entity {
        /// offset: 24
        #[prost(message, tag = "5")]
        Prop(super::PropInfoSnapshot),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupSnapshot {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub group_state: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub entity_list: ::prost::alloc::vec::Vec<EntitySnapshot>,
    /// offset: 32
    #[prost(map = "string, int32", tag = "4")]
    pub property_map: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub active_submission_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub active_mcv_key_list: ::prost::alloc::vec::Vec<ActiveMcvKeySnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerSnapshot {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub motion_info: ::core::option::Option<MotionInfoSnapshot>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub map_layer: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionCustomValueSnapshot {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub custom_value: u32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub mcv_key: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionCustomValueSnapshotList {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValueSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionMcvSnapshot {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub main_mission_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub custom_value_list: ::core::option::Option<MissionCustomValueSnapshotList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubMissionSnapshot {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub sub_mission_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionSnapshot {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub main_mission_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub sub_mission_list: ::prost::alloc::vec::Vec<SubMissionSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionSnapshot {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub server_mcv_list: ::prost::alloc::vec::Vec<MainMissionMcvSnapshot>,
    /// offset: 48
    #[prost(message, repeated, tag = "2")]
    pub client_mcv_list: ::prost::alloc::vec::Vec<MainMissionMcvSnapshot>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub tracking_main_mission: ::core::option::Option<MainMissionSnapshot>,
    /// offset: 64
    #[prost(bool, tag = "4")]
    pub has_mission_audio_snapshot: bool,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub cur_audio_emotion_state: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "6")]
    pub cur_sound_effect_state: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EraFlipperRegionDataSnapshot {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub region_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EraFlipperSnapshot {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub region_data_list: ::prost::alloc::vec::Vec<EraFlipperRegionDataSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotationMapInfoSnapshot {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub map_pos: ::core::option::Option<VectorSnapshot>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub map_rot: ::core::option::Option<VectorSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MapRotationSnapshot {
    /// offset: 36
    #[prost(int32, tag = "1")]
    pub region_id: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub pose_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub map_info: ::core::option::Option<RotationMapInfoSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DialogSnapshot {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandDataNodeSnapshot {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub config_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub hand_transform: ::core::option::Option<MotionInfoSnapshot>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub hand_state: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "4")]
    pub hand_param: ::prost::alloc::vec::Vec<u8>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub get_coin_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandSnapshot {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub switch_hand_list: ::prost::alloc::vec::Vec<SwitchHandDataNodeSnapshot>,
}
/// Obf: JMDBACPAOFM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SnapShot {
    /// offset: 124
    #[prost(uint32, tag = "1")]
    pub performance_id: u32,
    /// offset: 160
    #[prost(uint32, tag = "2")]
    pub hfnoidahgkb: u32,
    /// offset: 128
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    /// offset: 144
    #[prost(uint32, tag = "4")]
    pub floor_id: u32,
    /// offset: 148
    #[prost(uint32, tag = "5")]
    pub dimension_id: u32,
    /// offset: 132
    #[prost(uint32, tag = "6")]
    pub game_story_line_id: u32,
    /// offset: 156
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    /// offset: 152
    #[prost(uint32, tag = "8")]
    pub entry_id: u32,
    /// offset: 140
    #[prost(uint32, tag = "9")]
    pub version: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub inpehojapgf: ::core::option::Option<PlayerSnapshot>,
    /// offset: 72
    #[prost(message, optional, tag = "11")]
    pub kefmhccihbf: ::core::option::Option<MissionSnapshot>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub bppcfhbfapi: ::core::option::Option<EraFlipperSnapshot>,
    /// offset: 112
    #[prost(message, repeated, tag = "13")]
    pub entity_group_list: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 88
    #[prost(message, repeated, tag = "14")]
    pub nfcknmnjlnb: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub ibihkanmjdp: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 96
    #[prost(message, repeated, tag = "16")]
    pub pkjjjmggpch: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 80
    #[prost(map = "string, int32", tag = "17")]
    pub amogakgikgo: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 48
    #[prost(map = "string, message", tag = "18")]
    pub jjccgahjepj: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        FloorCustomValueSnapshot,
    >,
    /// offset: 24
    #[prost(message, optional, tag = "19")]
    pub ilkpkjgfcfn: ::core::option::Option<MapRotationSnapshot>,
    /// offset: 136
    #[prost(uint32, tag = "20")]
    pub knngjbpjfib: u32,
    /// offset: 104
    #[prost(message, optional, tag = "21")]
    pub dgihboeipga: ::core::option::Option<DialogSnapshot>,
    /// offset: 120
    #[prost(uint32, tag = "22")]
    pub oeiiicbpipm: u32,
    /// offset: 64
    #[prost(message, optional, tag = "23")]
    pub oifdnhkkdgb: ::core::option::Option<SwitchHandSnapshot>,
}
/// Obf: PELNACDLBGM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveActivityData {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub ohmecedojbm: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub panel_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub ebaaglncodb: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub id: u32,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub ddkoaekfhbf: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub taken_star_rewards: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GKMADOPAMCA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9560)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityActiveDataCsReq {}
/// Obf: IJIONDCNINA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActiveActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub alabbefcchk: ::prost::alloc::vec::Vec<ActiveActivityData>,
}
/// Obf: ACIDNBGMIHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9556)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeActiveActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: BMKMLPGHFKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9551)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeActiveActivityRewardScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub jbckmdnnnoa: ::core::option::Option<ActiveActivityData>,
}
/// Obf: DJMPJCKBIGA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9562)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveActivityDataChangeScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub jbckmdnnnoa: ::core::option::Option<ActiveActivityData>,
}
/// Obf: BEELDOKJHPK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LoginActivityData {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub jcoellieabb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub login_days: u32,
}
/// Obf: INDPOMFDAFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2657)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLoginActivityCsReq {}
/// Obf: HFNAOOONCPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginActivityScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub login_activity_list: ::prost::alloc::vec::Vec<LoginActivityData>,
}
/// Obf: NDOEJCAHJNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2655)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub take_days: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: JCJBOFIIBPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2675)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub take_days: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub panel_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivityScheduleData {
    /// offset: 24
    #[prost(int64, tag = "7")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub activity_id: u32,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub end_time: i64,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub panel_id: u32,
}
/// Obf: LMKGOKBJPJA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2638)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigCsReq {}
/// Obf: EMABDJOAKDO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2662)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub activity_schedule_list: ::prost::alloc::vec::Vec<ActivityScheduleData>,
}
/// Obf: GNBLIPEDGMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialActivityInfo {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub taken_reward: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
/// Obf: DAAGDNIFLCG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2692)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Blhifanbeni {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub enhanced_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: HDLDOAOEPHA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2602)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataScRsp {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub activity_stage_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub trial_activity_info_list: ::prost::alloc::vec::Vec<TrialActivityInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub ebnfnfomnkf: ::prost::alloc::vec::Vec<Blhifanbeni>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub joppianljph: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: HOPPFLMMOEH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2698)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrialActivityDataChangeScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub joppianljph: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub ebnfnfomnkf: ::prost::alloc::vec::Vec<Blhifanbeni>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub trial_activity_info: ::core::option::Option<TrialActivityInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
}
/// Obf: EPCEEFGDAPI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2606)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: LAFOGCJBCEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2681)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
}
/// Obf: EFPAIKJNGKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2697)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
}
/// Obf: ECGKDJJBFFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2615)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrialActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
}
/// Obf: KMCLGDBBPKH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2691)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrialActivity {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub stage_id: u32,
}
/// Obf: NBDKHFFBPNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2622)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2672)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveTrialActivityScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EKHGCJPOCIN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2660)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialActivityNotify {
    /// offset: 24
    #[prost(enumeration = "TrialActivityStatus", tag = "13")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub activity_stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aebfcchmodp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub noiphfelmik: u32,
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub mcgdbdgpbjn: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub panel_id: u32,
    /// offset: 25
    #[prost(bool, tag = "13")]
    pub is_taken_reward: bool,
}
/// Obf: HJNGHEDHEAH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2695)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataCsReq {}
/// Obf: GPPJFJMGDLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2634)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub amophahdalk: ::prost::alloc::vec::Vec<Aebfcchmodp>,
}
/// Obf: PPJGPNFJGDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2693)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub noiphfelmik: u32,
}
/// Obf: KPCIIMAFKAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2689)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub kbphlajonof: ::core::option::Option<Aebfcchmodp>,
}
/// Obf: DCLHPCBKGPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2676)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub noiphfelmik: u32,
}
/// Obf: CJLJMIJKHIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2696)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub noiphfelmik: u32,
}
/// Obf: EOJPKNIFAOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2668)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDataCsReq {}
/// Obf: JNMCIHBAFBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2643)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_taken_reward: bool,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Obf: PHHMKDGLIAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2658)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseAvatarCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
/// Obf: CKPBJLNAEFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2674)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: OBMKJEKHBID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2687)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRewardCsReq {}
/// Obf: NDLEHBLNNHD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2624)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgmmlconaih {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub nmlfmpnoiom: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnandgeglnf {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub pfjencgecoc: ::prost::alloc::vec::Vec<Dgmmlconaih>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub panel_id: u32,
}
/// Obf: ADAJFGFDDFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityHotDataCsReq {}
/// Obf: AACGDKOBLDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9118)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityHotDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub content_package_list: ::prost::alloc::vec::Vec<Jnandgeglnf>,
}
/// Obf: KHEFCEPDGJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9114)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityRewardCountDataCsReq {}
/// Obf: LKNDDDCHBHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9115)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityRewardCountDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub content_package_list: ::prost::alloc::vec::Vec<Jnandgeglnf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterAdventureCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub map_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterAdventureScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FarmStageGachaInfo {
    /// offset: 32
    #[prost(int64, tag = "5")]
    pub begin_time: i64,
    /// offset: 40
    #[prost(int64, tag = "8")]
    pub end_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub gacha_id: u32,
}
/// Obf: IAFEAEEDEPD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1355)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PILCLKIDCAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1375)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub farm_stage_gacha_info_list: ::prost::alloc::vec::Vec<FarmStageGachaInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BMLIFJMCJHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1338)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartQuickCocoonStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ihiafplipek: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub dmmlkenledi: ::core::option::Option<Ldcbmekaahd>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub wave: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub cocoon_id: u32,
}
/// Obf: FOGJHLLHPAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1362)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartQuickCocoonStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub ihiafplipek: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub cocoon_id: u32,
}
/// Obf: IJHEGEJHOIO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1347)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartQuickFarmElementReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cobconopiap: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ihiafplipek: u32,
}
/// Obf: CJHODHELJCF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1320)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartQuickFarmElementRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub cobconopiap: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: HEGEHDGGDLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1326)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CocoonSweepCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cocoon_id: u32,
}
/// Obf: PLFGLCIKHBE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1305)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CocoonSweepScRsp {
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub cocoon_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
}
/// Obf: PCPLKHIIIAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1337)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FarmElementSweepCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub cobconopiap: u32,
}
/// Obf: POFKHAGOGIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1369)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FarmElementSweepScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub cobconopiap: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiengobnakm {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub lefkmjndodn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4849)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gldbcdkbbgg {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lefkmjndodn: u32,
}
/// Obf: CFOCNCDCAMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4824)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveAetherDivideSceneCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4807)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhbefhpiica {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CFMGMHCLMIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4839)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleCsReq {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub cast_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub attacked_by_entity_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub assist_monster_entity_info: ::prost::alloc::vec::Vec<AssistMonsterEntityInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub skill_index: u32,
}
/// Obf: PFENOIDNGDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4833)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleScRsp {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub cast_entity_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MKENOFFEGFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4847)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub aaalkeajohe: u32,
}
/// Obf: NBAIHOFFINJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4835)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lkmgjdmacoi {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgmjlelaoan {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub promotion: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub egckjmlnlib: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub passive_skill: ::prost::alloc::vec::Vec<Lkmgjdmacoi>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub pdikgfekohh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjbmgkcijdi {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub slot: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub aidbffpipnb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hopkpeicipj {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub pfniokkgejb: u32,
}
/// Obf: GLOFLJBNKMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4843)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoCsReq {}
/// Obf: GLJGILGOPMP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4803)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub lineup_list: ::prost::alloc::vec::Vec<Kjbmgkcijdi>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub npcjjcmpbmd: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub jmpigjpjnba: ::prost::alloc::vec::Vec<Lgmjlelaoan>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub opgffgelaoa: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub nfajmhohjca: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub ienpoeicmal: ::prost::alloc::vec::Vec<Hopkpeicipj>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub hocgjoojgnf: u32,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub jnlmchhlhpm: u32,
}
/// Obf: IIFFCKLJGOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4831)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<Kjbmgkcijdi>,
}
/// Obf: GEJKAMLFLED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4829)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAetherDivideLineUpScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<Kjbmgkcijdi>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: HMCOGFMGNHB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4822)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipAetherDividePassiveSkillCsReq {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub slot: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pdikgfekohh: u32,
}
/// Obf: AFKHNILHLMO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4819)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipSkillCoreScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub dlnkgddemcb: ::core::option::Option<Hopkpeicipj>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub opjnnaojagi: ::core::option::Option<Lgmjlelaoan>,
}
/// Obf: AAEBHMMGOAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4801)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClearAetherDividePassiveSkillCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub pdikgfekohh: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub slot: u32,
}
/// Obf: PJBLDBJGNGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4820)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffSkillCoreScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub dlnkgddemcb: ::core::option::Option<Hopkpeicipj>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub opjnnaojagi: ::core::option::Option<Lgmjlelaoan>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: HGDJPDCHNFP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4837)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub aokppcfbcle: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub pdikgfekohh: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub opgffgelaoa: u32,
}
/// Obf: KPOOKEGEBCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub opgffgelaoa: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub opjnnaojagi: ::core::option::Option<Lgmjlelaoan>,
}
/// Obf: HLJPDJMDGOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4838)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub aaalkeajohe: u32,
}
/// Obf: FHDLFIKGBPO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4811)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub aaalkeajohe: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: MLBFBOMMIKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4821)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
/// Obf: EDDLMBNIPOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
}
/// Obf: EACFELPMKJF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4841)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideLineupScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<Kjbmgkcijdi>,
}
/// Obf: PCMNBEENGNH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4802)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub lihejbkpbgc: ::prost::alloc::vec::Vec<Lgmjlelaoan>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub opjnnaojagi: ::core::option::Option<Lgmjlelaoan>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub opgffgelaoa: u32,
}
/// Obf: PJNJBGAIFAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4846)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoCsReq {}
/// Obf: OAGFHLOIBDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4845)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub kpfknmfheoj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub jolokbegdch: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub ekbnppcefgo: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: PGAKEOFJKHH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4848)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideFinishChallengeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
/// Obf: BNCOIHEOICK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4826)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideTainerInfoScNotify {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub npcjjcmpbmd: u32,
}
/// Obf: AFPCPAIODEN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4823)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideSkillItemScNotify {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
}
/// Obf: MOPIHGHIIJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4815)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessCsReq {}
/// Obf: CDJDBPACCJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4805)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub nfajmhohjca: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: AADPIMDJKFL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4813)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScNotify {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub nfajmhohjca: u32,
}
/// Obf: NFEEPHGLDMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4817)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
}
/// Obf: JPOCCFMEFAK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4844)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FGAJNENHKFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9550)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiPamSendMsgCsReq {
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub jnmjbmlddki: bool,
    /// offset: 41
    #[prost(bool, tag = "7")]
    pub eofajajmicn: bool,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub dgmnkagbcem: ::core::option::Option<Gpcnkeaofea>,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub hlofpdghknm: ::prost::alloc::string::String,
}
/// Obf: NGMLDGIBFJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9549)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AiPamSendMsgScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LLIGLGIFBGD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecvAiPamChatEventScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub mhllajgieek: ::core::option::Option<Knjolijgkkg>,
}
/// Obf: FCCPGHNLNIO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9507)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAiPamChatHistoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub target_side: u32,
}
/// Obf: PLOAFEHOHND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9539)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamChatHistoryScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub bahojlpehcn: ::prost::alloc::vec::Vec<ChatMessageData>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub target_side: u32,
}
/// Obf: MIAJELCGNCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9533)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAiPamNextQuestionCsReq {}
/// Obf: IHPFHNAJCPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9547)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamNextQuestionScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub nblcobdlleo: ::prost::alloc::vec::Vec<Flpigbofnmm>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CFMJCGIGKPA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9535)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAiPamGreetingCsReq {}
/// Obf: GGAMFEEPHMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9508)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamGreetingScRsp {
    /// offset: 24
    #[prost(string, tag = "7")]
    pub fhcdjogbcgm: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub source_uid: ::core::option::Option<ChatMessageData>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oblghgemphn {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9543)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inndnompmgf {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "1")]
    pub fhcdjogbcgm: ::prost::alloc::string::String,
}
/// Obf: CKCJKIPCDEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9503)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AiPamResponseFeedbackCsReq {
    /// offset: 25
    #[prost(bool, tag = "6")]
    pub meeplfllggd: bool,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub mmfmlpakgih: bool,
}
/// Obf: INEAKJHANBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9531)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AiPamResponseFeedbackScRsp {
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub meeplfllggd: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 29
    #[prost(bool, tag = "2")]
    pub mmfmlpakgih: bool,
}
/// Obf: ADAPLILGOOJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hodgfolncoa {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub hgoabdonlek: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecopicpkoaa {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbeflfkmlng {
    /// offset: 48
    #[prost(message, repeated, tag = "15")]
    pub ldpdfiaahlk: ::prost::alloc::vec::Vec<Oadbbopfdlf>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub bhlkaekbbee: ::prost::alloc::vec::Vec<Mhfdoggbcld>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub mndahfdodmm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub obplaipnidb: ::prost::alloc::vec::Vec<Hodgfolncoa>,
}
/// Obf: FJDDMLGACCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoScRsp {
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub gfncgjbhmln: ::prost::alloc::vec::Vec<Bldfmmdkgep>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub imffnkpeaap: ::core::option::Option<Bmhkcclnbel>,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "3")]
    pub jbgmkccenha: ::std::collections::HashMap<u32, u32>,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub level: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "13")]
    pub eiogeleocei: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(message, optional, tag = "1")]
    pub lndhkhiiiio: ::core::option::Option<Ochonafnbmc>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub kmcndbhibmp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 80
    #[prost(message, optional, tag = "9")]
    pub ledanfbmdao: ::core::option::Option<Kbeflfkmlng>,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub cur_fund: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "14")]
    pub dbagiilolpk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 100
    #[prost(uint32, tag = "8")]
    pub pjpillnabec: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oeljdepdnke {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub fdfkcpancap: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub mmebijfgccl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcofopkhekf {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub pflfjbecllb: ::prost::alloc::vec::Vec<Oeljdepdnke>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub goods_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingShip {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub goods_list: ::prost::alloc::vec::Vec<Kcofopkhekf>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ship_id: u32,
}
/// Obf: CNEFJIBDMBB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4766)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameCsReq {
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub fdanbinffcm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub elmdbfpkofj: ::core::option::Option<AlleyPlacingShip>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub bhnbiihfnae: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub emhonojhaod: u32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub ahcionjanja: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub dppdgnagamm: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub mhicfcklahh: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub cost_time: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub eghdoophoja: u32,
}
/// Obf: GOFIKEEBANH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4779)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub cfeehahdldl: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub oagddncjldi: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub hiomoopeldd: u32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub nganfaahoaa: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub aiiflglldlj: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub kjjbdnpgdmb: u32,
}
/// Obf: NDBINGMFIDO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4751)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub elmdbfpkofj: ::core::option::Option<AlleyPlacingShip>,
    #[prost(oneof = "activity_raid_placing_game_cs_req::Bmbdfcpenlm", tags = "9, 1")]
    pub bmbdfcpenlm: ::core::option::Option<
        activity_raid_placing_game_cs_req::Bmbdfcpenlm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameCsReq`.
pub mod activity_raid_placing_game_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bmbdfcpenlm {
        /// offset: 16
        #[prost(uint32, tag = "9")]
        Mdmapbhiooh(u32),
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Fdanbinffcm(u32),
    }
}
/// Obf: KKKANLNODCB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4756)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(oneof = "activity_raid_placing_game_sc_rsp::Bmbdfcpenlm", tags = "3, 6")]
    pub bmbdfcpenlm: ::core::option::Option<
        activity_raid_placing_game_sc_rsp::Bmbdfcpenlm,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameScRsp`.
pub mod activity_raid_placing_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bmbdfcpenlm {
        /// offset: 16
        #[prost(uint32, tag = "3")]
        Mdmapbhiooh(u32),
        /// offset: 16
        #[prost(uint32, tag = "6")]
        Fdanbinffcm(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ochonafnbmc {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub jnhefklgpcg: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub mcfikkifeap: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub aamommkdacm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "8")]
    pub nckmeaaeecj: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub pcbfcjpicgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub hjihlanobjg: u32,
}
/// Obf: NFKPNFLOCPH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyOrderChangedScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub bpkgabkaeog: ::core::option::Option<Ochonafnbmc>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4714)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gdajipopgde {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ibmmmejbnei: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbocgkeackd {
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub jobpjklfbac: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub fdbigiipgja: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub kkcdkkpedjl: u32,
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub jbcpbaagolj: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub shop_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub fejjneoimom: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub shop_goods_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhfdoggbcld {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub iepocpabphk: ::prost::alloc::vec::Vec<Pbocgkeackd>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cost_time: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oadbbopfdlf {
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub pnjonjnjpdn: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub max_score: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub map_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub ceamhgamdec: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub clkgbllbgoe: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub palmddbgmff: u32,
}
/// Obf: ABHAJGMMDNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4755)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameCsReq {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub gjmlmbbjmpl: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub fkbgejfpgjf: ::prost::alloc::vec::Vec<Mhfdoggbcld>,
}
/// Obf: EHLGIILOIGM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4788)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScoreRewardSyncInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub ldpdfiaahlk: ::prost::alloc::vec::Vec<Oadbbopfdlf>,
}
/// Obf: FNGAHENPHCG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameScRsp {
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub gjmlmbbjmpl: bool,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub ldpdfiaahlk: ::prost::alloc::vec::Vec<Oadbbopfdlf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bldfmmdkgep {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub mmjpkecpdpd: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 32
    #[prost(enumeration = "AlleyEventState", tag = "3")]
    pub state: i32,
}
/// Obf: PBKJEFEDGCG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartAlleyEventCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4720)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ndgeefnghin {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: FLABGLIMOLJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4726)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyEventChangeNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub mhllajgieek: ::core::option::Option<Bldfmmdkgep>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub fpedplmkefh: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4705)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgdnopmpggk {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub nbkcbkflodi: u32,
}
/// Obf: OBIGALCJGIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4737)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: OOJMKFCMNBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4769)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
/// Obf: DOPLKHADNNJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4776)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpCsReq {}
/// Obf: LGDLCPNGPEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4796)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrestigeLevelUpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Obf: GMPOBGNGGGH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4780)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AlleyFundsScNotify {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub cur_fund: u32,
}
/// Obf: BOEPDNHPCFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4712)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SaveLogisticsCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub fkbgejfpgjf: ::prost::alloc::vec::Vec<Mhfdoggbcld>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4750)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kifjbbjnloe {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub fkbgejfpgjf: ::prost::alloc::vec::Vec<Mhfdoggbcld>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LNKHKDNBIDG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4786)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub ledanfbmdao: ::core::option::Option<Kbeflfkmlng>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmhkcclnbel {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub fhicjegjjmc: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "3")]
    pub gddbegimleh: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gaenajokfgp: u32,
}
/// Obf: AFBHDMHHPNO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4709)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipmentEventEffectsScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub glbhljgmfkl: ::core::option::Option<Bmhkcclnbel>,
}
/// Obf: CKJMJACHIJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapCsReq {}
/// Obf: DEBOGLAKEOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4711)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub bhlkaekbbee: ::prost::alloc::vec::Vec<Mhfdoggbcld>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnaapdmdjmg {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "6")]
    pub jbgmkccenha: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npebfmhjdag {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4799)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dloconiafpg {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub akjjebhpeac: u32,
}
/// Obf: OIMBIIAJDKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4742)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeEventRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
/// Obf: MJDMPOJHPFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: JKNDKDFEHAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4752)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LogisticsDetonateStarSkiffCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4782)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mgcjgdfjkal {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hhcgnbmklje {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub set_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfckpacjadf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub num: u32,
}
/// Obf: AJAPBJPGOPD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveData {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub relic_list: ::prost::alloc::vec::Vec<Hhcgnbmklje>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub djgdplmgjon: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub olkmdnbhhen: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<Cfckpacjadf>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "15")]
    pub pbnegcomlbg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PHFNMEMAFAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2357)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetArchiveDataCsReq {}
/// Obf: NPHMNOBGMPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetArchiveDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub archive_data: ::core::option::Option<ArchiveData>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: PBLBNKMEFOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2355)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetUpdatedArchiveDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2375)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chnmcficlfh {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub archive_data: ::core::option::Option<ArchiveData>,
}
/// Obf: NDFCKABMFGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(357)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataCsReq {
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub is_get_all: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarPathSkillTree {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub anchor_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: LLBGLKPNOFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Avatar {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub has_taken_promotion_reward_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint64, tag = "10")]
    pub first_met_time_stamp: u64,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub is_marked: bool,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub equipment_unique_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub exp: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub promotion: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub cur_multi_path_avatar_type: u32,
}
/// Obf: GEMFFFLFBNC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarPathData {
    /// offset: 48
    #[prost(uint64, tag = "6")]
    pub unlock_timestamp: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub avatar_path_skill_tree: ::prost::alloc::vec::Vec<AvatarPathSkillTree>,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub path_equipment_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub dressed_skin_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub unk_enhanced_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub rank: u32,
}
/// Obf: IEDEPPCHNGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub skin_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub fhgjnbdjpdn: ::core::option::Option<Einfbmjpdah>,
    /// offset: 64
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
    /// offset: 72
    #[prost(message, repeated, tag = "8")]
    pub dijllabbgag: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 88
    #[prost(uint32, tag = "15")]
    pub laifeeaolok: u32,
    /// offset: 48
    #[prost(enumeration = "GrowthTargetFuncType", repeated, tag = "9")]
    pub cur_avatar_path: ::prost::alloc::vec::Vec<i32>,
    /// offset: 84
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 80
    #[prost(bool, tag = "11")]
    pub is_get_all: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub basic_type_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub avatar_path_data_info_list: ::prost::alloc::vec::Vec<AvatarPathData>,
}
/// Obf: LEDGECBGEPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(355)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub item_cost: ::core::option::Option<ItemCostData>,
}
/// Obf: DCCBKPMOKFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(375)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NIGPPFPMHCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(338)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkillTreeCsReq {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
/// Obf: DNEIGCHJKFP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(362)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockSkilltreeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub point_id: u32,
}
/// Obf: KCGDDOEMJBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(347)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteAvatarCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub base_avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(320)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PromoteAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FNCBJDPHFDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(326)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub equipment_unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(305)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: KEFBBOELBIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(337)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(369)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: EBAEBEAPNME
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(366)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddAvatarScNotify {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(enumeration = "Ijllglbjmjg", tag = "3")]
    pub gdbdiockgkp: i32,
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub is_new: bool,
}
/// Obf: MAGPDFJHGEL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(309)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddMultiPathAvatarScNotify {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub is_new: bool,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(enumeration = "Klgfaiehadm", tag = "3")]
    pub pjljkkjojck: i32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: CAAGFEMOOCI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(379)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveEidolonCsReq {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub rank: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(345)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActiveEidolonScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressRelicParam {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub relic_type: u32,
}
/// Obf: CDGIBIDJOEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(383)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub switch_list: ::prost::alloc::vec::Vec<DressRelicParam>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OIMLPMBPBJC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(334)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffRelicCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub relic_type_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(393)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffRelicScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: OCHLAJJIAEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(389)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub promotion: u32,
}
/// Obf: KHBIGHNJCMO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: PAMJFBMBFKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(396)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub skin_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(380)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DressAvatarSkinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: JBGKGANLMJH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(377)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(314)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeOffAvatarSkinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: PEBBOBDMPID
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(312)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockAvatarSkinScNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub skin_id: u32,
}
/// Obf: NNLPNFHCAKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(356)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerOutfitCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub fhgjnbdjpdn: ::core::option::Option<Einfbmjpdah>,
}
/// Obf: FFADBAIKPFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(308)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPlayerOutfitScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: HANBMPHFMEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(350)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkAvatarCsReq {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub is_marked: bool,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
/// Obf: CAMBBLADGLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(386)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkAvatarScRsp {
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub is_marked: bool,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ILBCPKEDHEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(385)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarCsReq {
    /// offset: 40
    #[prost(enumeration = "GrowthTargetState", tag = "7")]
    pub source: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ogfaegdgbke: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(enumeration = "GrowthTargetFuncType", repeated, tag = "10")]
    pub growth_target_type_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: LIICGGAGAFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(311)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGrowthTargetAvatarScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub growth_avatar_id: u32,
    /// offset: 16
    #[prost(enumeration = "GrowthTargetFuncType", repeated, tag = "6")]
    pub growth_target_type_list: ::prost::alloc::vec::Vec<i32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub laifeeaolok: u32,
}
/// Obf: LBGDMOBOOEN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GrowthTargetAvatarChangedScNotify {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub laifeeaolok: u32,
    /// offset: 24
    #[prost(enumeration = "GrowthTargetFuncType", repeated, tag = "15")]
    pub growth_target_type_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: HPOLIONBLLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(388)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPreAvatarActivityListCsReq {}
/// Obf: APDMPDHLHFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(351)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPreAvatarActivityListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub oflebkddaam: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adbchjedmfm {
    /// offset: 116
    #[prost(uint32, tag = "5")]
    pub aegjhdfbkkp: u32,
    /// offset: 16
    #[prost(string, tag = "458")]
    pub kellbbaidcp: ::prost::alloc::string::String,
    /// offset: 124
    #[prost(uint32, tag = "15")]
    pub onpjbjbmpag: u32,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub deamnanchbk: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub jbpleggcemm: u32,
    /// offset: 108
    #[prost(uint32, tag = "769")]
    pub adeomgbcikj: u32,
    /// offset: 80
    #[prost(uint32, tag = "847")]
    pub panel_id: u32,
    /// offset: 104
    #[prost(uint32, tag = "12")]
    pub jacbieinopd: u32,
    /// offset: 120
    #[prost(uint32, tag = "13")]
    pub dpklfkimiel: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub miimcfcofja: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub nfnbedeahjl: u32,
    /// offset: 60
    #[prost(uint32, tag = "1691")]
    pub r#type: u32,
    /// offset: 92
    #[prost(uint32, tag = "6")]
    pub dbhebmmlfjk: u32,
    /// offset: 112
    #[prost(uint32, tag = "10")]
    pub nkpadnicbhh: u32,
    /// offset: 72
    #[prost(uint32, tag = "1")]
    pub gfbbhnghhhh: u32,
    /// offset: 76
    #[prost(uint32, tag = "11")]
    pub dhaniconhdj: u32,
    /// offset: 96
    #[prost(uint32, tag = "8")]
    pub gjpbmffpdfb: u32,
    /// offset: 100
    #[prost(uint32, tag = "7")]
    pub oclfihafmfc: u32,
    /// offset: 40
    #[prost(string, tag = "2032")]
    pub ejjpmgpbajc: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "2028")]
    pub ffnjglgbbag: ::prost::alloc::string::String,
    /// offset: 84
    #[prost(uint32, tag = "3")]
    pub fgeejfpimph: u32,
    /// offset: 32
    #[prost(string, tag = "534")]
    pub bipecapompj: ::prost::alloc::string::String,
}
/// Obf: NNMFFPGNMNA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(313)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoCsReq {}
/// Obf: BIFNMFFNBBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(399)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub nigkjogoblh: ::prost::alloc::vec::Vec<Adbchjedmfm>,
}
/// Obf: DBDKEHDPJGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(352)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarEnhancedIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub enhanced_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
/// Obf: JLAFBBBEHDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(382)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarEnhancedIdScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub growth_avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub unk_enhanced_id: u32,
}
/// Obf: DNEAGKEGDEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(370)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarPathCsReq {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "7")]
    pub avatar_id: i32,
}
/// Obf: NAJGDCKLLKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(301)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAvatarPathScRsp {
    /// offset: 28
    #[prost(enumeration = "MultiPathAvatarType", tag = "15")]
    pub avatar_id: i32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JIGCEADKBHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(330)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsCsReq {
    /// offset: 16
    #[prost(enumeration = "MultiPathAvatarType", repeated, tag = "7")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: JFPMLAOJGIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(318)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetMultipleAvatarPathsScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BEGOCDGNGML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(332)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathCsReq {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "7")]
    pub avatar_id: i32,
}
/// Obf: CDFACEHJHEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(321)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 40
    #[prost(enumeration = "MultiPathAvatarType", tag = "13")]
    pub avatar_id: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub basic_type_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HLBCPGFFCAD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(341)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarPathChangedNotify {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "6")]
    pub cur_multi_path_avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub base_avatar_id: u32,
}
/// Obf: PAODKGHCINK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(392)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarSpecialSkilltreeUnlockScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub anchor_type: u32,
}
/// Obf: DGNAPNCPCAJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(157)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultCsReq {
    /// offset: 92
    #[prost(uint32, tag = "14")]
    pub client_version: u32,
    /// offset: 72
    #[prost(uint32, tag = "9")]
    pub cost_time: u32,
    /// offset: 86
    #[prost(bool, tag = "13")]
    pub is_ai_consider_ultra_skill: bool,
    /// offset: 40
    #[prost(bytes = "vec", tag = "5")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub dpknmjnhfih: u32,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 48
    #[prost(message, repeated, tag = "12")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    /// offset: 68
    #[prost(enumeration = "BattleEndStatus", tag = "15")]
    pub end_status: i32,
    /// offset: 84
    #[prost(bool, tag = "11")]
    pub kpmnpdipfjf: bool,
    /// offset: 88
    #[prost(uint32, tag = "1")]
    pub client_res_version: u32,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub debug_extra_info: ::prost::alloc::string::String,
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub battle_id: u32,
    /// offset: 24
    #[prost(map = "string, uint32", tag = "10")]
    pub dmiapaihlbl: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 85
    #[prost(bool, tag = "7")]
    pub is_auto_fight: bool,
}
/// Obf: GLLFMLDAMKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub item_list_unk1: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "880")]
    pub dnkiomaieaa: ::core::option::Option<Jjeacnjpogm>,
    /// offset: 92
    #[prost(uint32, tag = "1")]
    pub mismatch_turn_count: u32,
    /// offset: 40
    #[prost(string, tag = "3")]
    pub res_version: ::prost::alloc::string::String,
    /// offset: 100
    #[prost(uint32, tag = "2")]
    pub dnocppebbjm: u32,
    /// offset: 120
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "11")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 72
    #[prost(message, optional, tag = "861")]
    pub item_list_unk2: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(string, tag = "4")]
    pub bin_version: ::prost::alloc::string::String,
    /// offset: 112
    #[prost(enumeration = "BattleEndStatus", tag = "14")]
    pub end_status: i32,
    /// offset: 64
    #[prost(message, optional, tag = "15")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 108
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    /// offset: 104
    #[prost(uint32, tag = "10")]
    pub hlffhmpjiaf: u32,
    /// offset: 116
    #[prost(uint32, tag = "12")]
    pub battle_id: u32,
    /// offset: 96
    #[prost(bool, tag = "5")]
    pub check_identical: bool,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
    /// offset: 88
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
/// Obf: ELEGGLKCADM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(155)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleCsReq {
    /// offset: 32
    #[prost(enumeration = "RebattleType", tag = "1")]
    pub rebattle_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<BattleStatistics>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(175)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitBattleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: LMOOGNPOFAH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(138)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoCsReq {}
/// Obf: DFMILKMIMLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(162)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub lcjjnnhnpck: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 48
    #[prost(enumeration = "BattleEndStatus", tag = "3")]
    pub last_end_status: i32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub cclepfgdojd: ::core::option::Option<AetherDivideBattleInfo>,
}
/// Obf: LDNJKOIBGMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub client_res_version: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncClientResVersionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub client_res_version: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(126)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitBattleScNotify {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleLogReportCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(137)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattleLogReportScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub is_battle_log_report: bool,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(169)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ServerSimulateBattleFinishScNotify {}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(166)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReBattleAfterBattleLoseCsNotify {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub ckjgfoahpei: bool,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(179)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RebattleByClientCsNotify {
    /// offset: 32
    #[prost(enumeration = "RebattleType", tag = "7")]
    pub rebattle_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub stt: ::core::option::Option<BattleStatistics>,
}
/// Obf: OLABNBAAEGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataCsReq {}
/// Obf: LNLDPJDDGDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBattleCollegeDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub cjjppkhhgbi: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub eihpnemchia: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KNGBKEFPGOK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5755)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncBattleCollegeDataChangeScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "13")]
    pub eihpnemchia: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub cjjppkhhgbi: u32,
}
/// Obf: CADAPEBIMLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5775)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Obf: CBHMPPPKPLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5738)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
/// Obf: CLAAMNGMEEJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BattlePassInfoNotify {
    /// offset: 32
    #[prost(uint64, tag = "15")]
    pub kpaopnjiglg: u64,
    /// offset: 24
    #[prost(enumeration = "BpTierType", tag = "11")]
    pub nojkknegdde: i32,
    /// offset: 64
    #[prost(uint64, tag = "4")]
    pub peddbgfkeeh: u64,
    /// offset: 56
    #[prost(uint64, tag = "2")]
    pub mhpgfibiofi: u64,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub gafgmjddcni: u32,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub jmhnhaggfoi: u32,
    /// offset: 72
    #[prost(uint64, tag = "10")]
    pub habkbfojhdc: u64,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 96
    #[prost(uint64, tag = "5")]
    pub aapplkbhjcg: u64,
    /// offset: 104
    #[prost(uint64, tag = "8")]
    pub pjfnnoiplkd: u64,
    /// offset: 80
    #[prost(uint64, tag = "6")]
    pub njealnlmick: u64,
    /// offset: 92
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 48
    #[prost(uint64, tag = "7")]
    pub kfpoelpkioc: u64,
}
/// Obf: AKNADGPDCKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3075)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeBpRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 32
    #[prost(enumeration = "BpRewardType", tag = "4")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub optional_reward_id: u32,
}
/// Obf: LNPFJBLPHFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3038)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBpRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: PEJMJICCPLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3062)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyBpLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ehioeiiajda: u32,
}
/// Obf: BAAKPMDNGGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3047)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyBpLevelScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OptionalReward {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub optional_reward_id: u32,
}
/// Obf: INDCMFGKOMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3020)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub mmmegegping: ::prost::alloc::vec::Vec<OptionalReward>,
}
/// Obf: JCNLGPCJADA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: JNHOKCNLPKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4900)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoCsReq {}
/// Obf: FIJPCBKEIPB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LuckyKoiInfoList {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub head_icon: u32,
    /// offset: 32
    #[prost(string, tag = "8")]
    pub chkekileiam: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub ojnkihobiik: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mncnlhoaidf {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acnhhbhfnfa {
    /// offset: 48
    #[prost(uint64, tag = "1")]
    pub end_time: u64,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub bcbacgmohlh: ::prost::alloc::vec::Vec<Mncnlhoaidf>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub domnkakclcg: ::prost::alloc::vec::Vec<LuckyKoiInfoList>,
    /// offset: 40
    #[prost(uint64, tag = "13")]
    pub bmddbligcik: u64,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub kmdbabioooo: u32,
    /// offset: 56
    #[prost(uint64, tag = "7")]
    pub begin_time: u64,
}
/// Obf: JOCLJEPNJND
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BenefitData {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub bgoocmgddli: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub status: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub level: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub config: ::core::option::Option<Acnhhbhfnfa>,
}
/// Obf: DOGNIHKEOGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4899)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfo {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "7")]
    pub gbdpkapodjg: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub adhnhpbhmkj: ::prost::alloc::vec::Vec<BenefitData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gjpjjeiiijg {
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub pjomoghglkh: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub bgoocmgddli: u32,
}
/// Obf: LILLJJKBJHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4874)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub switch_list: ::prost::alloc::vec::Vec<Gjpjjeiiijg>,
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub fgfpncibnol: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijgmnddkfed {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub bgoocmgddli: u32,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub pjomoghglkh: bool,
}
/// Obf: GFLKDEFFNLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4857)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub lnhnkbigebm: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<Ijgmnddkfed>,
}
/// Obf: KMKAFJKBEHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4889)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinBenefitActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub bgoocmgddli: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4883)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bobfjeijihj {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub bgoocmgddli: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbloaegdfkc {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifljcffnjhp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub mllcahhlgbi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub pmnkocejjgk: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub ndbkkcjfdfo: ::prost::alloc::vec::Vec<Fbloaegdfkc>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(bool, tag = "9")]
    pub eiaognncilj: bool,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub ofocfjjoemb: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub ncgnaboafci: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub fhccoegbjim: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub ifbdfhecppg: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
}
/// Obf: BIHGHJOJHDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoCsReq {}
/// Obf: BEAGKFFOCEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4228)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub challenge_list: ::prost::alloc::vec::Vec<Ifljcffnjhp>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khpmihehoke {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
/// Obf: HNPBPEHFADI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4255)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentCsReq {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub ndbkkcjfdfo: ::prost::alloc::vec::Vec<Khpmihehoke>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HCFCAMLNCHH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4275)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
}
/// Obf: OCDMGNLCHDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4237)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub fhccoegbjim: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
}
/// Obf: IMPKDOEOPND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4269)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: POHMNILFFPC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4266)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceLineupCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub ndbkkcjfdfo: ::prost::alloc::vec::Vec<Khpmihehoke>,
}
/// Obf: ALONLKGHKND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4279)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: ICMFGOPHJPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4245)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub nicdbmphgem: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
}
/// Obf: CJNKCKNNFOC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4283)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: IIDPENOCJHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4238)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
}
/// Obf: FFLDJPNNIIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4262)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FPKCKIPOLJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4247)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeCsReq {
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub mjblanfcmpg: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
}
/// Obf: PBAAMKOHFLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GAEOPLJGJFF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4226)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubRewardScNotify {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub pmnkocejjgk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(bool, tag = "15")]
    pub is_win: bool,
}
/// Obf: LLLNDBGEIMA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4205)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubChallengeUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub jbnckfnjdkp: ::core::option::Option<Ifljcffnjhp>,
}
/// Obf: OGAPALLMFAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9139)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceGetDataCsReq {}
/// Obf: GMOLIEMDFIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetDataScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub ibdfdajpdbo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub item_value: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub opeanhfikec: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub icfnicmjlhc: u32,
}
/// Obf: BIDJCKJJFGF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9132)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceLoanCsReq {}
/// Obf: IBPCHEADHDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9123)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceLoanScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub eagjpganldc: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CDDOLIKHKPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9121)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceStartPveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub mhlnojdkimh: u32,
}
/// Obf: NEDDCLPKNBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9144)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceStartPveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mhlnojdkimh: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Embeefdmfkp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub acknepohlcc: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub edcagdocbhc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcgnhiiofnh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub amjcjjdafhd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DJNPFNGHNAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9146)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceUpdatePveMeetCatCsReq {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub hnhncggjgnj: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub mhlnojdkimh: u32,
    #[prost(
        oneof = "cake_race_update_pve_meet_cat_cs_req::Gakcbgibkmn",
        tags = "14, 7, 13, 3, 9"
    )]
    pub gakcbgibkmn: ::core::option::Option<
        cake_race_update_pve_meet_cat_cs_req::Gakcbgibkmn,
    >,
}
/// Nested message and enum types in `CakeRaceUpdatePveMeetCatCsReq`.
pub mod cake_race_update_pve_meet_cat_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gakcbgibkmn {
        /// offset: 24
        #[prost(message, tag = "14")]
        Nlgdnbofgip(super::Embeefdmfkp),
        /// offset: 24
        #[prost(uint32, tag = "7")]
        Cmnhfpfkkfd(u32),
        /// offset: 24
        #[prost(bool, tag = "13")]
        Fnfikfiekhd(bool),
        /// offset: 24
        #[prost(message, tag = "3")]
        Njaepdcgogb(super::Kcgnhiiofnh),
        /// offset: 24
        #[prost(bool, tag = "9")]
        Ofdoendelnb(bool),
    }
}
/// Obf: HMHDCHOMFFJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9138)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceUpdatePveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: ONNLBCOLGEP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9131)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceFinishPveCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub ldpfkgfgjap: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9150)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldnppclfmfi {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EHNLJKDILPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9135)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceFinishFieldRewardScNotify {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub mhlnojdkimh: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BBPMBFEBJDN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9124)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceCoinScoreChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub item_value: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub icfnicmjlhc: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
}
/// Obf: EICJCDMFOLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9149)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceGetHandbookCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pckpoogkldp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cppiklhjckl: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gobjjjegpga: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub edcagdocbhc: u32,
}
/// Obf: MMLONMLMLBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9147)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetHandbookScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub pkjhkomeaam: ::prost::alloc::vec::Vec<Pckpoogkldp>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BAFFIKBDDPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9143)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceGetFriendRankingInfoListCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ifdoplmjlni {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub icfnicmjlhc: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub jlkgfnmigdb: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub uid: u32,
}
/// Obf: EPBAGFFEMKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetFriendRankingInfoListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub alejddamdkh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub jjfhbckjbpf: ::prost::alloc::vec::Vec<Ifdoplmjlni>,
}
/// Obf: MKGOKINKIIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9133)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceLikeFriendRankingInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub oioncobaodk: u32,
}
/// Obf: AAKEEGPJLIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9129)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceLikeFriendRankingInfoScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub alejddamdkh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub oioncobaodk: u32,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ECELDCGAEHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9136)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CakeRaceGetDailyLikeCsReq {}
/// Obf: BHIOFBDMNDG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetDailyLikeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub alejddamdkh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fndfchejldd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ebjmhldgljj {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub lmohbelbmfn: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub adnholgnaih: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9127)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dckoajbhgdj {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub content_package_list: ::prost::alloc::vec::Vec<Ebjmhldgljj>,
}
/// Obf: PPBMJCKFIPJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Challenge {
    /// offset: 52
    #[prost(bool, tag = "14")]
    pub nmaagmddbde: bool,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub star: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub record_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub taken_reward: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub stage_info: ::core::option::Option<ChallengeStageInfo>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub score_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeGroup {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub taken_stars_count_reward: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeHistoryMaxLevel {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub reward_display_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: JOONLHBGCIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeCsReq {}
/// Obf: FNIMBIEPINB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeScRsp {
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub challenge_group_list: ::prost::alloc::vec::Vec<ChallengeGroup>,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub max_level_list: ::prost::alloc::vec::Vec<ChallengeHistoryMaxLevel>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub challenge_list: ::prost::alloc::vec::Vec<Challenge>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub jfpjngggpdg: u32,
}
/// Obf: KHHIMPDCEHK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeStoryBuffInfo {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub buff_two: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub buff_one: u32,
}
/// Obf: EBMKILPADKM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBossBuffInfo {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub buff_two: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub buff_one: u32,
}
/// Obf: EDPGOFAFHED
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBuffInfo {
    #[prost(oneof = "challenge_buff_info::Mgkehfmcbbp", tags = "6, 1")]
    pub mgkehfmcbbp: ::core::option::Option<challenge_buff_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `ChallengeBuffInfo`.
pub mod challenge_buff_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "6")]
        StoryInfo(super::ChallengeStoryBuffInfo),
        /// offset: 24
        #[prost(message, tag = "1")]
        BossInfo(super::ChallengeBossBuffInfo),
    }
}
/// Obf: LGLHPCMJDFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1755)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub second_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub stage_info: ::core::option::Option<ChallengeBuffInfo>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub first_lineup: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HPHIFBMPHGN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub stage_info: ::core::option::Option<ChallengeStageInfo>,
}
/// Obf: BLPEHLJIFPC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1793)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeCsReq {
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub is_first_half: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
}
/// Obf: BFCPNKDPBAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1789)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: KDGHPAJHJIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengeCsReq {}
/// Obf: AEILPFGNGOE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1762)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: OEPEMPIBDEA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1747)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeSettleNotify {
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub score_two: u32,
    /// offset: 76
    #[prost(uint32, tag = "4")]
    pub jfpjngggpdg: u32,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub challenge_score: u32,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub jpahodijldc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(bool, tag = "3")]
    pub is_win: bool,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub max_level: ::core::option::Option<ChallengeHistoryMaxLevel>,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub star: u32,
}
/// Obf: AHMFHABJPHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct KillMonster {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub kill_num: u32,
}
/// Obf: NDOKCMLEKLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryBuffList {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NABAFJJGDBG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossBuffList {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub challenge_boss_const: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BCJPDKLFLFE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeCurBuffInfo {
    #[prost(oneof = "challenge_cur_buff_info::Mgkehfmcbbp", tags = "14, 6")]
    pub mgkehfmcbbp: ::core::option::Option<challenge_cur_buff_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `ChallengeCurBuffInfo`.
pub mod challenge_cur_buff_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "14")]
        CurStoryBuffs(super::ChallengeStoryBuffList),
        /// offset: 24
        #[prost(message, tag = "6")]
        CurBossBuffs(super::ChallengeBossBuffList),
    }
}
/// Obf: ADNCEFDDHHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurChallenge {
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub round_count: u32,
    /// offset: 44
    #[prost(enumeration = "ChallengeStatus", tag = "12")]
    pub status: i32,
    /// offset: 64
    #[prost(enumeration = "ExtraLineupType", tag = "15")]
    pub extra_lineup_type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<KillMonster>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub stage_info: ::core::option::Option<ChallengeCurBuffInfo>,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub dead_avatar_num: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub challenge_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub score_two: u32,
}
/// Obf: NOMPBLAEGHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1705)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurChallengeCsReq {}
/// Obf: FLODLEPMNPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1737)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengeScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PHIAHALNECO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1769)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeLineupNotify {
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "4")]
    pub extra_lineup_type: i32,
}
/// Obf: CDFDNGEPABC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1745)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChallengeCumulativeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: NHCJHBIALBC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1783)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub taken_reward_list: ::prost::alloc::vec::Vec<TakenChallengeRewardInfo>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: KCMMILJKAGB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakenChallengeRewardInfo {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pfacdmpfhge: u32,
}
/// Obf: HBAHBCIFHIO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStatistics {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub record_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub stage_tertinggi: ::core::option::Option<ChallengeStageTertinggi>,
}
/// Obf: PNMLANPHJIP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryStatistics {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub stage_tertinggi: ::core::option::Option<ChallengeStoryStageTertinggi>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub record_id: u32,
}
/// Obf: FHAKHAOEONE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStatistics {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub stage_tertinggi: ::core::option::Option<ChallengeBossStageTertinggi>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub record_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStageTertinggi {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub round_count: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub ldekmaadnkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryStageTertinggi {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub buff_one: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub score_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub ldekmaadnkk: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStageTertinggi {
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub score_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub buff_one: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub buff_two: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ldekmaadnkk: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: AGMLKJGKCKF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineupList {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<ChallengeAvatarInfo>,
}
/// Obf: AIFHLFLOPHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeAvatarInfo {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub index: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub jnbnncjkhng: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: IOOLGFNPDHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
}
/// Obf: PBNODJAIMIN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1734)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsScRsp {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(
        oneof = "get_challenge_group_statistics_sc_rsp::Ddipekcncld",
        tags = "9, 2, 1"
    )]
    pub ddipekcncld: ::core::option::Option<
        get_challenge_group_statistics_sc_rsp::Ddipekcncld,
    >,
}
/// Nested message and enum types in `GetChallengeGroupStatisticsScRsp`.
pub mod get_challenge_group_statistics_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ddipekcncld {
        /// offset: 16
        #[prost(message, tag = "9")]
        ChallengeDefault(super::ChallengeStatistics),
        /// offset: 16
        #[prost(message, tag = "2")]
        ChallengeStory(super::ChallengeStoryStatistics),
        /// offset: 16
        #[prost(message, tag = "1")]
        ChallengeBoss(super::ChallengeBossStatistics),
    }
}
/// Obf: MILHLEBJKEE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBossSingleNodeInfo {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub kaefgpknhmj: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub buff_id: u32,
    /// offset: 33
    #[prost(bool, tag = "1")]
    pub is_win: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub max_score: u32,
}
/// Obf: NDNBMJNGLHK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeBossEquipmentInfo {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub rank: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub promotion: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub tid: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
}
/// Obf: GOPHOKDJLGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelicInfo {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub tid: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub main_affix_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
/// Obf: IBJNEMOGFJA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossAvatarRelicInfo {
    /// offset: 16
    #[prost(map = "uint32, message", tag = "6")]
    pub avatar_relic_slot_map: ::std::collections::HashMap<u32, ChallengeBossRelicInfo>,
}
/// Obf: HJMHMEEIIHL
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossInfo {
    /// offset: 56
    #[prost(message, optional, tag = "7")]
    pub first_node: ::core::option::Option<ChallengeBossSingleNodeInfo>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "2")]
    pub first_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub second_node: ::core::option::Option<ChallengeBossSingleNodeInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub second_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(bool, tag = "6")]
    pub unk1: bool,
    /// offset: 48
    #[prost(map = "uint32, message", tag = "10")]
    pub challenge_avatar_equipment_map: ::std::collections::HashMap<
        u32,
        ChallengeBossEquipmentInfo,
    >,
    /// offset: 40
    #[prost(map = "uint32, message", tag = "4")]
    pub challenge_avatar_relic_map: ::std::collections::HashMap<
        u32,
        ChallengeBossAvatarRelicInfo,
    >,
}
/// Obf: GLGMOAELGFM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStageInfo {
    #[prost(oneof = "challenge_stage_info::Mgkehfmcbbp", tags = "9")]
    pub mgkehfmcbbp: ::core::option::Option<challenge_stage_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `ChallengeStageInfo`.
pub mod challenge_stage_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "9")]
        BossInfo(super::ChallengeBossInfo),
    }
}
/// Obf: GHGJHLIAAKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1796)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseCsReq {}
/// Obf: DGDIHMONKIB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: NAJFEABLIJL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseCsReq {}
/// Obf: BGIAABBGJAD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1714)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: BFOIIPAKEAE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1712)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossPhaseSettleNotify {
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub challenge_score: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub page_type: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub score_two: u32,
    /// offset: 57
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    /// offset: 56
    #[prost(bool, tag = "7")]
    pub is_reward: bool,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub phase: u32,
    /// offset: 58
    #[prost(bool, tag = "4")]
    pub is_second_half: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub star: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
}
/// Obf: HOBDFKPJNDK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBuild {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub jnbnncjkhng: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub equipment_unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeak {
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub cycles_used: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub peak_id: u32,
    /// offset: 48
    #[prost(bool, tag = "13")]
    pub has_passed: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub peak_build_list: ::prost::alloc::vec::Vec<ChallengePeakBuild>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBossClearance {
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub mbklcgkeika: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(bool, tag = "15")]
    pub has_passed: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub lnhhppehlng: ::prost::alloc::vec::Vec<Jjidlmbimhb>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub pefjoeenlkl: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub nhkohdfbefk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub best_cycle_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBoss {
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "4")]
    pub hard_mode_has_passed: bool,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub easy_mode: ::core::option::Option<ChallengePeakBossClearance>,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub nbogaanhacg: u32,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub hard_mode: ::core::option::Option<ChallengePeakBossClearance>,
}
/// Obf: MCHIFHBOOPL
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WaitConfirmData {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub cycles_used: u32,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub is_wait_confirm: bool,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub peak_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjidlmbimhb {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jnbnncjkhng: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjappdacbdg {
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jjidlmbimhb>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub cycles_used: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkgjgcbehdn {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub peaks: ::prost::alloc::vec::Vec<Pjappdacbdg>,
}
/// Obf: ALEBEJNEPPF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakGroup {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub jejceahcejd: ::core::option::Option<Kkgjgcbehdn>,
    /// offset: 68
    #[prost(bool, tag = "11")]
    pub disable_hard_mode: bool,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub obtained_stars: u32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub peak_boss: ::core::option::Option<ChallengePeakBoss>,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub peak_group_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub wait_confirm_data: ::core::option::Option<WaitConfirmData>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub peaks: ::prost::alloc::vec::Vec<ChallengePeak>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub taken_star_rewards: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub count_of_peaks: u32,
}
/// Obf: EJNHDIFIGIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8950)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengePeakDataCsReq {}
/// Obf: PKFKFBODMBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8949)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengePeakDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub challenge_peak_groups: ::prost::alloc::vec::Vec<ChallengePeakGroup>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub current_peak_group_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8924)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengePeakCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub peak_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub boss_buff_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8907)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8939)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengePeakCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8933)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DDBFECAPCOA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8947)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakSettleScNotify {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub turn_left: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub peak_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub cycles_used: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub peak_reward_group_list: ::prost::alloc::vec::Vec<ChallengePeakRewardGroup>,
    /// offset: 53
    #[prost(bool, tag = "3")]
    pub is_first_pass: bool,
    /// offset: 51
    #[prost(bool, tag = "2")]
    pub is_unlock_easy_boss: bool,
    /// offset: 52
    #[prost(bool, tag = "1")]
    pub is_win: bool,
    /// offset: 48
    #[prost(bool, tag = "5")]
    pub hard_mode_has_passed: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 50
    #[prost(bool, tag = "6")]
    pub is_wait_confirm: bool,
    /// offset: 49
    #[prost(bool, tag = "4")]
    pub is_boss_target_better: bool,
}
/// Obf: EDKHPFGNAOC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8935)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakGroupDataUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub challenge_peak_group: ::core::option::Option<ChallengePeakGroup>,
}
/// Obf: IBHELBCHDIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8908)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengePeakRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub normal_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub peak_group_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub reward_id: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FDFJJFFABJD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakRewardGroup {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub reward_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: KFDKBHMMOJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8906)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengePeakRewardScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub peak_reward_group_list: ::prost::alloc::vec::Vec<ChallengePeakRewardGroup>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub peak_group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: PGPFIMHMEEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8943)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurChallengePeakCsReq {}
/// Obf: HDEAACCKJEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8903)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengePeakScRsp {
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub is_wait_confirm: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 45
    #[prost(bool, tag = "2")]
    pub has_passed: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub cycles_used: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub boss_buff_id: u32,
}
/// Obf: KINHBMPBEPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8931)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetChallengePeakBossHardModeCsReq {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub is_hard_mode: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub peak_group_id: u32,
}
/// Obf: JNGPAIHPJGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8929)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetChallengePeakBossHardModeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub peak_group_id: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_hard_mode: bool,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8922)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReStartChallengePeakCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8919)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReStartChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: BPALKKGEOOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakLineup {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub peak_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8938)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetChallengePeakMobLineupAvatarCsReq {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub peak_group_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub apabfghjjip: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengePeakLineup>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8911)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetChallengePeakMobLineupAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8937)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ConfirmChallengePeakSettleCsReq {
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub fkielegbohl: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8928)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ConfirmChallengePeakSettleScRsp {
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub fkielegbohl: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub peak_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: KCOHBEPKEOE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3957)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgCsReq {
    /// offset: 64
    #[prost(enumeration = "MsgType", tag = "9")]
    pub message_type: i32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub dgmnkagbcem: ::core::option::Option<Gpcnkeaofea>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub chat_message_extend_data: ::core::option::Option<ChatMessageExtendData>,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub message_text: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(enumeration = "ChatType", tag = "13")]
    pub chat_type: i32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub source_uid: u32,
}
/// Obf: JGPCMBLCLNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3928)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SendMsgScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint64, tag = "5")]
    pub end_time: u64,
}
/// Obf: LGIGGGCCEIH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3955)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RevcMsgScNotify {
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub target_uid: u32,
    /// offset: 48
    #[prost(enumeration = "MsgType", tag = "8")]
    pub message_type: i32,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub source_uid: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub mjaocldhphm: u32,
    /// offset: 56
    #[prost(enumeration = "ChatType", tag = "12")]
    pub chat_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub revc_message_data: ::core::option::Option<ChatMessageData>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub chat_message_extend_data: ::core::option::Option<ChatMessageExtendData>,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub message_text: ::prost::alloc::string::String,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PrivateMsgOfflineUsersScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AKPLKKPLKIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3938)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryCsReq {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub target_side: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub contact_side: u32,
}
/// Obf: DGLKHHACEJO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3962)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryScRsp {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub chat_message_list: ::prost::alloc::vec::Vec<ChatMessageData>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub target_side: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub contact_side: u32,
}
/// Obf: JMNKAKPHDAM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FriendHistoryInfo {
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub last_send_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub contact_side: u32,
}
/// Obf: CPOGAICONON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3947)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryCsReq {}
/// Obf: EFLPLPILFNI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3920)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub friend_history_info: ::prost::alloc::vec::Vec<FriendHistoryInfo>,
}
/// Obf: HOEIHDJBKDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3926)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListCsReq {}
/// Obf: IFFKAHOIEEI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3905)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatEmojiListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub chat_emoji_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: HAKIDHBLMFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3937)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub source_uid: u32,
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub is_remove_id: bool,
}
/// Obf: EKJJOLBAKDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3969)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkChatEmojiScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub is_remove_id: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub source_uid: u32,
}
/// Obf: JJMHCHIKKLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3966)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub marked_emoji_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KNBPBBEPJNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3979)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchMarkChatEmojiScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub marked_emoji_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FDKGALMDDDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3945)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoCsReq {}
/// Obf: KMICNAFKCBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginChatInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kckhnnnaibp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gclplfaceic {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ambeokhnbaf {
    /// offset: 60
    #[prost(int32, tag = "1277")]
    pub lkmkejefohp: i32,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub omipjkbmnni: u32,
    /// offset: 48
    #[prost(message, optional, tag = "1009")]
    pub kdhcdnblhdg: ::core::option::Option<Okmcidbgaff>,
    /// offset: 96
    #[prost(uint32, tag = "5")]
    pub oeobepchfjk: u32,
    /// offset: 73
    #[prost(bool, tag = "31")]
    pub pegibbpopfg: bool,
    /// offset: 56
    #[prost(enumeration = "ChessRogueDiceType", tag = "12")]
    pub jopdncpagkg: i32,
    /// offset: 72
    #[prost(bool, tag = "8")]
    pub kabjmelbeco: bool,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub aaojeikcpkh: u32,
    /// offset: 92
    #[prost(uint32, tag = "15")]
    pub ddahelegbhg: u32,
    /// offset: 76
    #[prost(uint32, tag = "6")]
    pub pidignloaao: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1922")]
    pub gcdjaaneimm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(enumeration = "ChessRogueDiceStatus", tag = "14")]
    pub kccdpkkhkmo: i32,
    /// offset: 100
    #[prost(uint32, tag = "7")]
    pub pgeiilkpjme: u32,
    /// offset: 16
    #[prost(message, optional, tag = "599")]
    pub mggdocldlmb: ::core::option::Option<Dkajmijocbk>,
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub ipgmolidomg: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1858")]
    pub pnjldcjoljh: ::core::option::Option<Kbagijknckb>,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub bdfbnnnbbmj: u32,
}
/// Obf: CAELDNOLJGJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5455)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub dkekiegmnnh: u32,
}
/// Obf: DLLFBEDHCAN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5501)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojcaeebjfed {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub hijobhkhpka: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcpnogknbdm {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ekfcmkcjinb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub ageimlikjof: ::prost::alloc::vec::Vec<Ojcaeebjfed>,
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub cjcnmflbnge: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gedclmggpkk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub kmdnfjeopgg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmkgdgimflo {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub mljmnmkmgmm: ::core::option::Option<Pcpnogknbdm>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub aedddgkolce: ::core::option::Option<Gedclmggpkk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpiomgddepn {
    #[prost(oneof = "fpiomgddepn::Bflinnfhpdo", tags = "11, 10, 7")]
    pub bflinnfhpdo: ::core::option::Option<fpiomgddepn::Bflinnfhpdo>,
}
/// Nested message and enum types in `FPIOMGDDEPN`.
pub mod fpiomgddepn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bflinnfhpdo {
        /// offset: 16
        #[prost(message, tag = "11")]
        Mljmnmkmgmm(super::Pcpnogknbdm),
        /// offset: 16
        #[prost(message, tag = "10")]
        Aedddgkolce(super::Gedclmggpkk),
        /// offset: 16
        #[prost(message, tag = "7")]
        Fihenlegmce(super::Cmkgdgimflo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfkabaigljb {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub eebpmkdcjmj: u32,
    /// offset: 52
    #[prost(enumeration = "ChessRogueBoardCellStatus", tag = "10")]
    pub pljkgdnmdle: i32,
    /// offset: 48
    #[prost(enumeration = "ChessRogueCellSpecialType", tag = "3")]
    pub ldmkoklodfk: i32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub lmgpfngondg: bool,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub egbpgllcchk: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub stage_info: ::core::option::Option<Fpiomgddepn>,
    /// offset: 37
    #[prost(bool, tag = "15")]
    pub pekjcadledf: bool,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub nepnmcleooj: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ifmldehngjp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekgkndnmibp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub hnbelakhkjl: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub hemlghacfpj: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub iicpgggkofb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub khokbbpikib: ::prost::alloc::vec::Vec<Lfkabaigljb>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub jgeiollnobm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dlnpafikefm {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub pmcdfaaindl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdnpdohdjbj {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mlnjpjdnilj: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub nlbeijlckoe: ::core::option::Option<Okmcidbgaff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oeiknkcilhl {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub nhhjdmcncij: ::core::option::Option<Pdnpdohdjbj>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub lkapiafllmg: u32,
    /// offset: 56
    #[prost(enumeration = "ChessRogueBoardCellStatus", tag = "14")]
    pub acelgilmcnk: i32,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub jeafldajlmn: ::core::option::Option<Ekgkndnmibp>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub nhemmkhhnna: ::prost::alloc::vec::Vec<Dlnpafikefm>,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub nanalpjnmln: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub acfmofflhkn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eofhlccphem {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub ejljhplkjgi: ::core::option::Option<Oeiknkcilhl>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub lfknblobknj: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub pcdhpnnjjje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub chkphclncco: u32,
    /// offset: 48
    #[prost(int32, tag = "2")]
    pub befcmbcbfhk: i32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub ljmglfgpfop: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 52
    #[prost(int32, tag = "3")]
    pub niloadmgjcb: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nccnlifjeng {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cjjppkhhgbi: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub lopgfcfcage: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkcejbhchnd {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub hmhlmpbpnmj: ::prost::alloc::vec::Vec<Nccnlifjeng>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdfhelkcncc {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub khgoiegjobg: ::core::option::Option<Pkcejbhchnd>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub nnejchmebfd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub fpfeocngfje: u32,
    /// offset: 48
    #[prost(int32, tag = "12")]
    pub njeobahklid: i32,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub nlbeijlckoe: ::core::option::Option<Okmcidbgaff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cppbdckmdib {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olaeildknko {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub lnlgbmkkfbj: ::core::option::Option<Kckhnnnaibp>,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub ocjgonjdmne: ::prost::alloc::vec::Vec<Cppbdckmdib>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmjflninobd {
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub mlphecgkpen: bool,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bojmelbjagl: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub mokammiokjh: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub dnpihcjgppb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgapjkkkpkp {
    /// offset: 24
    #[prost(int32, tag = "3")]
    pub ehcjlfhflki: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkgpipnbdfc {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub becijngiiji: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgjeholjlfi {
    /// offset: 80
    #[prost(message, optional, tag = "7")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
    /// offset: 24
    #[prost(message, optional, tag = "1061")]
    pub makejcjgkcd: ::core::option::Option<Hkgpipnbdfc>,
    /// offset: 64
    #[prost(message, optional, tag = "10")]
    pub npfdicbmffc: ::core::option::Option<Olaeildknko>,
    /// offset: 120
    #[prost(message, optional, tag = "15")]
    pub injkcagboie: ::core::option::Option<Gafbndphgfl>,
    /// offset: 104
    #[prost(message, optional, tag = "2")]
    pub pending_action: ::core::option::Option<Bhbnbiogkpf>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ifjingjellb: ::core::option::Option<Dmhdkakbafl>,
    /// offset: 72
    #[prost(message, optional, tag = "1")]
    pub hbofpmgikke: ::core::option::Option<Fdfhelkcncc>,
    /// offset: 56
    #[prost(message, optional, tag = "9")]
    pub story_info: ::core::option::Option<Fmjflninobd>,
    /// offset: 112
    #[prost(message, repeated, tag = "12")]
    pub rogue_current_game_info: ::prost::alloc::vec::Vec<Hfgialckcag>,
    /// offset: 96
    #[prost(message, optional, tag = "6")]
    pub dmolbooefmj: ::core::option::Option<Daajhfncjpf>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub gfgllbmiamn: ::core::option::Option<Bfogjokpbpc>,
    /// offset: 128
    #[prost(uint32, tag = "5")]
    pub bhkagjhdclm: u32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub ilbklcniing: ::core::option::Option<Eofhlccphem>,
    /// offset: 88
    #[prost(message, optional, tag = "11")]
    pub bafggccfpbo: ::core::option::Option<Fgapjkkkpkp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gimlnkdgiof {
    /// offset: 64
    #[prost(uint32, repeated, tag = "6")]
    pub pcdhpnnjjje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub khgoiegjobg: ::core::option::Option<Pkcejbhchnd>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub talent_info: ::core::option::Option<Meapandcmpa>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub elmbokbfock: ::core::option::Option<Gmommpceggd>,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub makejcjgkcd: ::core::option::Option<Nionhngpebb>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub aifofbpalea: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmgnioihfmn {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub rogue_current_game_info: ::prost::alloc::vec::Vec<Hfgialckcag>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub bhkagjhdclm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilncfjdfpjd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub pcdhpnnjjje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub khgoiegjobg: ::core::option::Option<Pkcejbhchnd>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub makejcjgkcd: ::core::option::Option<Nionhngpebb>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub aifofbpalea: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(message, optional, tag = "9")]
    pub elmbokbfock: ::core::option::Option<Gmommpceggd>,
    /// offset: 56
    #[prost(message, optional, tag = "3")]
    pub talent_info: ::core::option::Option<Meapandcmpa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plhnfdpfmbn {
    /// offset: 100
    #[prost(uint32, tag = "118")]
    pub nlgegoopbhc: u32,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub lhkbjjkjadi: u32,
    /// offset: 72
    #[prost(uint32, tag = "932")]
    pub score_id: u32,
    /// offset: 76
    #[prost(uint32, tag = "572")]
    pub naidbkckfij: u32,
    /// offset: 64
    #[prost(message, optional, tag = "12")]
    pub dmolbooefmj: ::core::option::Option<Momobgmhead>,
    /// offset: 84
    #[prost(uint32, tag = "57")]
    pub bhkagjhdclm: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub idnlebflokj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub dndnllppnil: ::core::option::Option<LineupInfo>,
    /// offset: 104
    #[prost(uint32, tag = "9")]
    pub caaidfjjlge: u32,
    /// offset: 120
    #[prost(uint32, tag = "358")]
    pub jphjciakdch: u32,
    /// offset: 92
    #[prost(uint32, tag = "3")]
    pub oamlamegeok: u32,
    /// offset: 116
    #[prost(bool, tag = "5")]
    pub is_finish: bool,
    /// offset: 108
    #[prost(uint32, tag = "6")]
    pub agpffoekajc: u32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub difficulty_level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub injkcagboie: ::core::option::Option<Bkcokflmfhb>,
    /// offset: 56
    #[prost(message, optional, tag = "10")]
    pub adilgcnkbjg: ::core::option::Option<ItemList>,
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub nblcfegmeni: u32,
    /// offset: 112
    #[prost(enumeration = "Lnhkjplikhb", tag = "4")]
    pub jmlaecichok: i32,
    /// offset: 48
    #[prost(message, optional, tag = "1340")]
    pub ifjingjellb: ::core::option::Option<Dmhdkakbafl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lekchgljaej {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub khokbbpikib: ::prost::alloc::vec::Vec<Lfkabaigljb>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub bljdkialnbm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ehlbppjlonn {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub agpffoekajc: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jclmafmchkn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imkiajnnpff {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub pggfihhhbnn: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub bojmelbjagl: u32,
}
/// Obf: OGBPJGBOGKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5583)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryCsReq {}
/// Obf: LCBMIOIBIND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5596)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryScRsp {
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lamicmfbbgn: ::core::option::Option<Plhnfdpfmbn>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub bglbndkfjea: ::core::option::Option<Bgjeholjlfi>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub hcflieaopod: ::core::option::Option<Gimlnkdgiof>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub rogue_get_info: ::core::option::Option<Ilncfjdfpjd>,
}
/// Obf: GDPGIGGJOIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pmcdfaaindl: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub opnnddjnnep: u32,
}
/// Obf: NMLNLPOLLDF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5440)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub pmcdfaaindl: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub bglbndkfjea: ::core::option::Option<Bgjeholjlfi>,
}
/// Obf: ABMCNEOLMIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5588)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: HPEICOOAOHO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5503)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterScRsp {
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub bglbndkfjea: ::core::option::Option<Bgjeholjlfi>,
}
/// Obf: EBPLJKBBBCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5417)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveCsReq {}
/// Obf: PCJJJDEOJCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5509)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveScRsp {
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub rogue_get_info: ::core::option::Option<Ilncfjdfpjd>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub hbofpmgikke: ::core::option::Option<Fdfhelkcncc>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub hcflieaopod: ::core::option::Option<Gimlnkdgiof>,
}
/// Obf: DOCCPDILNIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpCsReq {}
/// Obf: IKKEDMLNFDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5424)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpScRsp {
    /// offset: 48
    #[prost(message, optional, tag = "7")]
    pub lamicmfbbgn: ::core::option::Option<Plhnfdpfmbn>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub hbofpmgikke: ::core::option::Option<Fdfhelkcncc>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, optional, tag = "13")]
    pub rogue_get_info: ::core::option::Option<Ilncfjdfpjd>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hcflieaopod: ::core::option::Option<Gimlnkdgiof>,
}
/// Obf: NKIHPHADNJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5550)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartCsReq {
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub pebkjppanlc: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub mbnaiccnclp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "11")]
    pub daihmgchpnl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub id: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub lopgfcfcage: u32,
}
/// Obf: HHALFMAPGDF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5578)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub eikbkhpcohb: ::core::option::Option<Lekchgljaej>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub bglbndkfjea: ::core::option::Option<Bgjeholjlfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dladijmdloc {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5443)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofjhpmpcllh {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub bglbndkfjea: ::core::option::Option<Pkcejbhchnd>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: ACMOOPLAFNH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueChangeAeonDimensionNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub bglbndkfjea: ::core::option::Option<Nccnlifjeng>,
}
/// Obf: ACACCBGFPGB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5521)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub pmcdfaaindl: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub opnnddjnnep: u32,
}
/// Obf: CNKHCDGCPFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub dehofagnmbd: ::core::option::Option<Elcdjklibad>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub pmcdfaaindl: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub opnnddjnnep: u32,
}
/// Obf: GICFKPMBDPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5594)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLayerSettlement {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ljmglfgpfop: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub lamicmfbbgn: ::core::option::Option<Plhnfdpfmbn>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub difficulty_level: u32,
}
/// Obf: CIPDNPJCNHD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5555)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoCsReq {}
/// Obf: AIBAAAHJKJM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5434)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub lnjbcafhgnh: ::core::option::Option<Dbigjlkghgc>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: CPAJNDOPEJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5486)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub maze_buff_id: u32,
}
/// Obf: PNHHBPDGCMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnhanceRogueBuffScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub pabnmjghchg: ::core::option::Option<Lodjibbfpgb>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub lnjbcafhgnh: ::core::option::Option<Dbigjlkghgc>,
    /// offset: 44
    #[prost(bool, tag = "4")]
    pub akaknbpeafn: bool,
}
/// Obf: OMNKELGGCPC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5567)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
}
/// Obf: BBHHFGFOFOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5558)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PickRogueAvatarScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub npfdicbmffc: ::core::option::Option<Olaeildknko>,
}
/// Obf: DCEMPDKLLJH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5566)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PCDHINJINIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5460)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lnlgbmkkfbj: ::core::option::Option<Kckhnnnaibp>,
}
/// Obf: JONPJENLLAL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5415)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateReviveInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub lnlgbmkkfbj: ::core::option::Option<Kckhnnnaibp>,
}
/// Obf: BJGLLAHCMMB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5425)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateMoneyInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub gfgllbmiamn: ::core::option::Option<Bfogjokpbpc>,
}
/// Obf: FACEJGDMJOO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5577)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDiceInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
}
/// Obf: KCPBJHNPFEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateLevelBaseInfoScNotify {
    /// offset: 28
    #[prost(enumeration = "Iokfgobopne", tag = "6")]
    pub reason: i32,
    /// offset: 24
    #[prost(enumeration = "Iglpnepmmfl", tag = "14")]
    pub lfknblobknj: i32,
}
/// Obf: IPKKIBJBPGO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5442)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAllowedSelectCellScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub acfmofflhkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ibjhmmbphpm: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5456)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjnigphnaah {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub pkgodjlfecl: ::core::option::Option<Ekgkndnmibp>,
}
/// Obf: IGHKMEOEKMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5539)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateAeonModifierValueScNotify {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lopgfcfcage: u32,
    /// offset: 24
    #[prost(int32, tag = "11")]
    pub njeobahklid: i32,
}
/// Obf: AHAIBHKMCMI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5548)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDicePassiveAccumulateValueScNotify {
    /// offset: 24
    #[prost(int32, tag = "12")]
    pub kfcghcffmhe: i32,
}
/// Obf: CEKOFAJHBID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5465)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelCsReq {}
/// Obf: ENNKFPJCOND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5590)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub nfmhfoddkea: ::core::option::Option<ItemList>,
}
/// Obf: OJFMCOLOIGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5410)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateUnlockLevelScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub pcdhpnnjjje: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KNAKLKBBOON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5404)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerCsReq {}
/// Obf: OLJHMFPOBFH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5549)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub eikbkhpcohb: ::core::option::Option<Lekchgljaej>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub rogue_info: ::core::option::Option<Bgjeholjlfi>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
}
/// Obf: JCCNDNDEDAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5579)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub dkekiegmnnh: u32,
}
/// Obf: LPDDJDJHKDL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5411)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
}
/// Obf: LHKMBOKELMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5403)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub dkekiegmnnh: u32,
}
/// Obf: HNNCCIEGMDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5439)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: JLBHOIEHOOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5489)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub lcbpnhbjbol: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub dkekiegmnnh: u32,
}
/// Obf: MMAINDMANGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5552)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub lcbpnhbjbol: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub apalhmmhnnk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jgeoiphhemb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gajpcoebhgg {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub igojehbdgcj: ::core::option::Option<Ambeokhnbaf>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub dpgfkohmggi: ::core::option::Option<ItemList>,
}
/// Obf: PJMPMFOJJCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5574)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitCsReq {}
/// Obf: PNFEJINIMCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5511)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitScRsp {
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, optional, tag = "11")]
    pub lamicmfbbgn: ::core::option::Option<Plhnfdpfmbn>,
    /// offset: 64
    #[prost(message, optional, tag = "7")]
    pub rogue_get_info: ::core::option::Option<Ilncfjdfpjd>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ilbklcniing: ::core::option::Option<Eofhlccphem>,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub hbofpmgikke: ::core::option::Option<Fdfhelkcncc>,
    /// offset: 48
    #[prost(message, optional, tag = "1")]
    pub hcflieaopod: ::core::option::Option<Gimlnkdgiof>,
}
/// Obf: MAEOPNNOLGB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCellUpdateNotify {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ibjhmmbphpm: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub khokbbpikib: ::prost::alloc::vec::Vec<Lfkabaigljb>,
    /// offset: 36
    #[prost(enumeration = "RogueModifierSourceType", tag = "15")]
    pub najcljmemoo: i32,
    /// offset: 40
    #[prost(enumeration = "Ofdnipdpbic", tag = "9")]
    pub reason: i32,
}
/// Obf: PHEGLLFINOK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5430)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueQuestFinishNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub quest_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub afconndnool: u32,
}
/// Obf: IHFKHBIPGBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5573)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoCsReq {}
/// Obf: LCMBGOBIFPO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5499)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub ieanjggioad: ::prost::alloc::vec::Vec<Ehlbppjlonn>,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub ljmehlheohc: ::prost::alloc::vec::Vec<Imkiajnnpff>,
}
/// Obf: OOKGGHLIKDH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5540)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryCsReq {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub kignhdcogaa: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub eihdkecnemj: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub bojmelbjagl: u32,
}
/// Obf: BEPHJOABLJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5481)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChessRogueSubStoryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub bojmelbjagl: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub kignhdcogaa: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub eihdkecnemj: u32,
}
/// Obf: GKANMFGAJAK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5537)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub eihdkecnemj: u32,
}
/// Obf: LGAEGOKDPFJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5584)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishChessRogueSubStoryScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub agpffoekajc: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub eihdkecnemj: u32,
}
/// Obf: KNJENGAGPPM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5500)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateActionPointScNotify {
    /// offset: 24
    #[prost(int32, tag = "4")]
    pub befcmbcbfhk: i32,
}
/// Obf: GBGLNDDPJKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5423)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomCsReq {}
/// Obf: OJOBOFCPDGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5429)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub stage_info: ::core::option::Option<Gclplfaceic>,
}
/// Obf: KEAEIIDFFDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5432)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ppnbckgajgb: u32,
}
/// Obf: CPLHHNPHPEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5416)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "14")]
    pub mceoinlnhno: ::std::collections::HashMap<u32, u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub ppnbckgajgb: u32,
}
/// Obf: MPNEBFBLHKI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5401)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueMainStoryFinishScNotify {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub agpffoekajc: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub jclmafmchkn: u32,
}
/// Obf: LJNBMJMCAFL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5496)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousValueScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub bafggccfpbo: ::core::option::Option<Fgapjkkkpkp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Laaincmemjc {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub agpffoekajc: u32,
    /// offset: 28
    #[prost(enumeration = "Iaghencfomc", tag = "7")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lfgjhhaohom {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub eihdkecnemj: u32,
}
/// Obf: DMKIBHPGBBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5563)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoCsReq {}
/// Obf: FCMFMHKBCON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5473)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub ljmehlheohc: ::prost::alloc::vec::Vec<Lfgjhhaohom>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub ieanjggioad: ::prost::alloc::vec::Vec<Laaincmemjc>,
}
/// Obf: NAMKHOLCNNI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5406)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousSubStoryScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub eihdkecnemj: u32,
}
/// Obf: MLFHICOENFM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5412)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousMainStoryScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub ieanjggioad: ::prost::alloc::vec::Vec<Laaincmemjc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmhdkakbafl {
    /// offset: 53
    #[prost(bool, tag = "14")]
    pub ecgbehipdek: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub ofoeknlaknc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(bool, tag = "10")]
    pub mlphecgkpen: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub jimakeapgak: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub ofhidjpkfib: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub eihdkecnemj: u32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub agpffoekajc: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub jlmhhnkjcaj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bablcfhpjpi {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lcbpnhbjbol: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub dice_slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbagijknckb {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub pebkjppanlc: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub gihjejggdjl: ::prost::alloc::vec::Vec<Bablcfhpjpi>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ohihjojcbhf: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub kljcfolhjbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmommpceggd {
    /// offset: 48
    #[prost(enumeration = "ChessRogueNousDicePhase", tag = "2")]
    pub nnppgnbbmmm: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub cejcphppeog: ::prost::alloc::vec::Vec<Kbagijknckb>,
    /// offset: 32
    #[prost(map = "uint32, bool", tag = "9")]
    pub fjfchmlpkkc: ::std::collections::HashMap<u32, bool>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub lniodnlilkj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Meapandcmpa {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub gjpoiieeeai: ::core::option::Option<Nadadmgjlbb>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub djobcmahpmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nionhngpebb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub mjfpnajcddj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DBJEMKGLGOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5580)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetRogueDiceSurfaceCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub elmbokbfock: ::core::option::Option<Kbagijknckb>,
}
/// Obf: PFGPOOOHBOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5482)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub elmbokbfock: ::core::option::Option<Kbagijknckb>,
}
/// Obf: APNMIMPNHLC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5520)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceUpdateNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub fkcgjbgfgoe: ::core::option::Option<Gmommpceggd>,
}
/// Obf: JLFDAKMHIAF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5569)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceSurfaceUnlockNotify {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub okohkedffai: u32,
}
/// Obf: OBGMJKHHBMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5515)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoCsReq {}
/// Obf: GPJBJHAJBCF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5488)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoScRsp {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub djobcmahpmf: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
}
/// Obf: AGKNPPHBBHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5446)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dnbjdlgiabh: u32,
}
/// Obf: DFBLCFBHONN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5448)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub djobcmahpmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkkblmeckpd {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub mihioamfgla: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnjlllcbeda {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jfiofjphmih: ::prost::alloc::vec::Vec<Hkkblmeckpd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjmmceohebe {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub lmfngpkklnb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilpcgodlgkk {
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub jfiofjphmih: ::core::option::Option<Bnjlllcbeda>,
    /// offset: 44
    #[prost(int32, tag = "11")]
    pub babchmedbbm: i32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub holpohfijfc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(int32, tag = "2")]
    pub hp: i32,
    /// offset: 40
    #[prost(bool, tag = "12")]
    pub lnkepiffhlc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkmhkbmambn {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub lfdhpoccldn: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub hjipaignhje: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Njbfhebhgbb {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub hffpenldcnk: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub bjepdhcedla: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecakiehehpd {
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub hhciahnnfdb: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub khpcgmomkph: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub iahgjnjeoea: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub cpljcjmklic: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub hmgidiffnep: u32,
    /// offset: 36
    #[prost(int32, tag = "15")]
    pub hp: i32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub index: u32,
    /// offset: 40
    #[prost(int32, tag = "1")]
    pub attack: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cgbaodmgnmj {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub total_turns: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub lldcokioobd: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub total_auto_turns: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub cost_time: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mecmnfmffan: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub total_damage: u32,
}
/// Obf: IHOONIIKLMC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8170)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataCsReq {}
/// Obf: JMGAIBJJBCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8164)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataScRsp {
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub amlcpgdhbie: u32,
    /// offset: 88
    #[prost(enumeration = "Ndpofahnkoi", tag = "10")]
    pub kpkafhinkbm: i32,
    /// offset: 48
    #[prost(message, repeated, tag = "14")]
    pub idenddamkji: ::prost::alloc::vec::Vec<Ilpcgodlgkk>,
    /// offset: 56
    #[prost(uint32, tag = "200")]
    pub gifkbejioob: u32,
    /// offset: 92
    #[prost(uint32, tag = "3")]
    pub mhmkdofennn: u32,
    /// offset: 104
    #[prost(uint32, tag = "1")]
    pub lpjbcefigmm: u32,
    /// offset: 84
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub lmihojnpknf: ::prost::alloc::vec::Vec<Njbfhebhgbb>,
    /// offset: 68
    #[prost(uint32, tag = "944")]
    pub bijeneplkfe: u32,
    /// offset: 64
    #[prost(uint32, tag = "1498")]
    pub ajookdngmao: u32,
    /// offset: 96
    #[prost(uint32, tag = "13")]
    pub oonbkiimmgb: u32,
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub hmhdebajbhm: u32,
    /// offset: 80
    #[prost(uint32, tag = "5")]
    pub bjepdhcedla: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub fflcohgaled: ::prost::alloc::vec::Vec<u32>,
    /// offset: 108
    #[prost(uint32, tag = "7")]
    pub mcjaadbkcka: u32,
    /// offset: 72
    #[prost(uint32, tag = "1056")]
    pub icfpjcdlbdp: u32,
    /// offset: 100
    #[prost(uint32, tag = "9")]
    pub hllmeogoppj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Beoieedflgf {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8161)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfpbighckgd {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
}
/// Obf: IBBMCPIOGFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8172)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRoundCsReq {
    /// offset: 72
    #[prost(enumeration = "ChimeraRoundWorkEndReason", tag = "15")]
    pub end_reason: i32,
    /// offset: 48
    #[prost(map = "uint32, message", tag = "1")]
    pub bjimbdlnimm: ::std::collections::HashMap<u32, Bnjlllcbeda>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub stt: ::core::option::Option<Cgbaodmgnmj>,
    /// offset: 76
    #[prost(uint32, tag = "6")]
    pub deipflhjabe: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "12")]
    pub hgfgdglkfgh: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub ejgomoplean: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub cgnhdddpake: ::prost::alloc::vec::Vec<Ecakiehehpd>,
    /// offset: 80
    #[prost(bool, tag = "5")]
    pub boedhdlhhcd: bool,
}
/// Obf: EHLFFMBKABH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8171)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRound {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub lpjbcefigmm: u32,
    /// offset: 73
    #[prost(bool, tag = "10")]
    pub dfohlpfhicm: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub lmihojnpknf: ::prost::alloc::vec::Vec<Njbfhebhgbb>,
    /// offset: 72
    #[prost(bool, tag = "7")]
    pub boedhdlhhcd: bool,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub oonbkiimmgb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub glkcoldkdab: ::prost::alloc::vec::Vec<Ilpcgodlgkk>,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub bijeneplkfe: u32,
    /// offset: 84
    #[prost(uint32, tag = "3")]
    pub mcjaadbkcka: u32,
    /// offset: 56
    #[prost(map = "uint32, message", tag = "4")]
    pub ibmkjmadpff: ::std::collections::HashMap<u32, Bnjlllcbeda>,
    /// offset: 76
    #[prost(enumeration = "ChimeraRoundWorkEndReason", tag = "9")]
    pub end_reason: i32,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub bjepdhcedla: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub fflcohgaled: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "5")]
    pub igddjmnelik: ::std::collections::HashMap<u32, Bjmmceohebe>,
    /// offset: 88
    #[prost(enumeration = "Ndpofahnkoi", tag = "12")]
    pub kpkafhinkbm: i32,
}
/// Obf: MDODGFKKGDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8180)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessCsReq {}
/// Obf: KIHMECKPHNH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8175)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraStartEndlessScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: OEOJCHGENCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundCsReq {
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub stt: ::core::option::Option<Cgbaodmgnmj>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub cgnhdddpake: ::prost::alloc::vec::Vec<Ecakiehehpd>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub ejgomoplean: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(bool, tag = "15")]
    pub hkppobokobn: bool,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub ajookdngmao: u32,
}
/// Obf: ENBIOEMGDHD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub mhmkdofennn: u32,
    /// offset: 48
    #[prost(bool, tag = "4")]
    pub hkppobokobn: bool,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub hllmeogoppj: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub ajookdngmao: u32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub hmhdebajbhm: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub affcfpambjj: ::prost::alloc::vec::Vec<Ilpcgodlgkk>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub hebighafegj: u32,
}
/// Obf: JOGCDEOFHFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8173)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessCsReq {}
/// Obf: KODEPDFBNDL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8169)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraQuitEndlessScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BDBIBAFIBCN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8177)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<Cgbaodmgnmj>,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub ajookdngmao: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub ejgomoplean: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(bool, tag = "9")]
    pub hkppobokobn: bool,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub cgnhdddpake: ::prost::alloc::vec::Vec<Ecakiehehpd>,
}
/// Obf: OODPPKHCFFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8179)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub lmihojnpknf: ::prost::alloc::vec::Vec<Njbfhebhgbb>,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub mcjaadbkcka: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub gifkbejioob: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub bjepdhcedla: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub bijeneplkfe: u32,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub ajookdngmao: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub index: u32,
    /// offset: 56
    #[prost(bool, tag = "10")]
    pub hkppobokobn: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub affcfpambjj: ::prost::alloc::vec::Vec<Ilpcgodlgkk>,
}
/// Obf: NNNNLFKJOMK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8163)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraRoundWorkStartCsReq {
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub jbfjpjmkeaa: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub cgnhdddpake: ::prost::alloc::vec::Vec<Ecakiehehpd>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub jnaldlpecgd: u32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<Dkmhkbmambn>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8167)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pblcnlkhebg {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aedbimmknmd {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub hhkhiajckme: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mlcignldaob: u32,
    /// offset: 28
    #[prost(enumeration = "Hgmbmmadoai", tag = "13")]
    pub bnhcagblimi: i32,
}
/// Obf: LKGFGJANBPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelPlayerRankData {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nckhnkacckd {
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub dlifbcmmcpm: u32,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub ffcfhcfgdke: ::core::option::Option<ChimeraDuelPlayerRankData>,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub mimcejgckbo: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub eaclklpgpdg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub kbkppdgodog: ::prost::alloc::vec::Vec<Eofnolnhamd>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub kfhhffeobkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "14")]
    pub laihebkaomk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub ganpghkllng: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "5")]
    pub imnenjhpcdb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kklpojkodlk {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ndaapjahfko {
    /// offset: 48
    #[prost(int32, tag = "6")]
    pub jnfgbhejnai: i32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub equipment_goods_info: ::core::option::Option<Kklpojkodlk>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub hhciahnnfdb: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub bgeobekfdcb: u32,
    /// offset: 40
    #[prost(int32, tag = "5")]
    pub hbkjejokgha: i32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eionlchdiep {
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub lmpkpefjppg: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub kcmeeefndlk: ::prost::alloc::vec::Vec<Ndaapjahfko>,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub hp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    /// offset: 40
    #[prost(string, tag = "6")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub ilhfaimhmml: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub head_icon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nonhoncpdph {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub npkhlhaajkd: ::core::option::Option<Eionlchdiep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjfmpikphpd {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub ikodikhonjp: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub grid_fight_equipment_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub npieekjohel: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub hhciahnnfdb: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub kongcpafioj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmfblbglgij {
    /// offset: 25
    #[prost(bool, tag = "11")]
    pub ikodikhonjp: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ahkflefofph: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub eagbhhiiocl: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojajnhjaadj {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ljjbnioicab: ::prost::alloc::vec::Vec<Jjfmpikphpd>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub ngbjblfhhgb: ::prost::alloc::vec::Vec<Kmfblbglgij>,
}
/// Obf: BHBNPILBPIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopBuyChimeraCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ihcglpiohha: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub oaddaifhnga: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub mboaijlcgkk: u32,
}
/// Obf: GMJHAGELIBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9229)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopBuyChimeraScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MCDBGONGNLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopBuyItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ahkflefofph: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lolicakkdhi: u32,
}
/// Obf: NOAOCCGFDFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9230)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopBuyItemScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: OKMNCJCPILH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopLockCsReq {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub is_locked: bool,
    #[prost(oneof = "chimera_duel_shop_lock_cs_req::Mgkehfmcbbp", tags = "6, 3")]
    pub mgkehfmcbbp: ::core::option::Option<chimera_duel_shop_lock_cs_req::Mgkehfmcbbp>,
}
/// Nested message and enum types in `ChimeraDuelShopLockCsReq`.
pub mod chimera_duel_shop_lock_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(uint32, tag = "6")]
        Npieekjohel(u32),
        /// offset: 24
        #[prost(uint32, tag = "3")]
        Ahkflefofph(u32),
    }
}
/// Obf: KCLMEHEMOBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9221)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopLockScRsp {
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub is_locked: bool,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    #[prost(oneof = "chimera_duel_shop_lock_sc_rsp::Mgkehfmcbbp", tags = "1, 10")]
    pub mgkehfmcbbp: ::core::option::Option<chimera_duel_shop_lock_sc_rsp::Mgkehfmcbbp>,
}
/// Nested message and enum types in `ChimeraDuelShopLockScRsp`.
pub mod chimera_duel_shop_lock_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Npieekjohel(u32),
        /// offset: 16
        #[prost(uint32, tag = "10")]
        Ahkflefofph(u32),
    }
}
/// Obf: EILKKKMJPDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopRefreshCsReq {}
/// Obf: JEHJKJBMOIF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9250)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelShopRefreshScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcblhidodfc {
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub ihlhkecjomm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "15")]
    pub lmpkpefjppg: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub kcmeeefndlk: ::prost::alloc::vec::Vec<Ndaapjahfko>,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub ilhfaimhmml: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub cgbamlihhnj: u32,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub mapdmiajpmf: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub fchmcfnfjjo: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub laheicnplfa: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub hp: u32,
    #[prost(oneof = "mcblhidodfc::Bcagmogjlba", tags = "326, 1118")]
    pub bcagmogjlba: ::core::option::Option<mcblhidodfc::Bcagmogjlba>,
}
/// Nested message and enum types in `MCBLHIDODFC`.
pub mod mcblhidodfc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bcagmogjlba {
        /// offset: 16
        #[prost(message, tag = "326")]
        Ldjonolbenb(super::Ojajnhjaadj),
        /// offset: 16
        #[prost(message, tag = "1118")]
        Mbagmaoinlf(super::Nonhoncpdph),
    }
}
/// Obf: AAPLBAEKHDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9260)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelGetDataCsReq {}
/// Obf: JBCJAEHJPML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9259)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ddcnefchhfa: ::core::option::Option<Mcblhidodfc>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub gclfnbfneif: ::core::option::Option<Nckhnkacckd>,
}
/// Obf: MDAHIDJJNBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9249)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelUnlockMasterCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lmpkpefjppg: u32,
}
/// Obf: JBILNMJIOAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelUnlockMasterScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lmpkpefjppg: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: EPFJJPLHFPM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelStartGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub lmpkpefjppg: u32,
}
/// Obf: DIJILHMJIKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9245)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelStartGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ddcnefchhfa: ::core::option::Option<Mcblhidodfc>,
}
/// Obf: HPNGKFMFKJC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9218)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundShopStageCsReq {}
/// Obf: JJPGLCAPIBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9216)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundShopStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ddcnefchhfa: ::core::option::Option<Mcblhidodfc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bambddoknco {
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub ecbcndpiihj: bool,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ffcfhcfgdke: ::core::option::Option<ChimeraDuelPlayerRankData>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub ddcnefchhfa: ::core::option::Option<Mcblhidodfc>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub mimcejgckbo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hndohjlaoch {
    /// offset: 44
    #[prost(int32, tag = "4")]
    pub babchmedbbm: i32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub grid_fight_equipment_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cpljcjmklic: u32,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub khpcgmomkph: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub iahgjnjeoea: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub hmgidiffnep: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub exp: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub hhciahnnfdb: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 72
    #[prost(enumeration = "Jdbkjfgapgl", tag = "10")]
    pub status: i32,
    /// offset: 40
    #[prost(int32, tag = "13")]
    pub hp: i32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecnkomclfhl {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub mecmnfmffan: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub dojcmbcpamc: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub lldcokioobd: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub total_auto_turns: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub total_turns: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub gmnmnnobmna: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhobkhnejih {
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub cost_time: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub hcjfginbkfe: ::prost::alloc::vec::Vec<Hndohjlaoch>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub total_damage: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub anoioedjhdd: ::prost::alloc::vec::Vec<Hndohjlaoch>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub jphmefciocn: ::core::option::Option<Ecnkomclfhl>,
}
/// Obf: NBGOLALBJIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9253)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundBattleStageCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub aonbhehbjfa: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub stt: ::core::option::Option<Nhobkhnejih>,
    /// offset: 36
    #[prost(enumeration = "Djnmelmaoll", tag = "9")]
    pub ffdlkmohijn: i32,
}
/// Obf: GALHMLAAAHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundBattleStageScRsp {
    /// offset: 36
    #[prost(enumeration = "Djnmelmaoll", tag = "2")]
    pub ffdlkmohijn: i32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(
        oneof = "chimera_duel_end_round_battle_stage_sc_rsp::Mgkehfmcbbp",
        tags = "1914, 1288"
    )]
    pub mgkehfmcbbp: ::core::option::Option<
        chimera_duel_end_round_battle_stage_sc_rsp::Mgkehfmcbbp,
    >,
}
/// Nested message and enum types in `ChimeraDuelEndRoundBattleStageScRsp`.
pub mod chimera_duel_end_round_battle_stage_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "1914")]
        Ddcnefchhfa(super::Mcblhidodfc),
        /// offset: 24
        #[prost(message, tag = "1288")]
        Maboaiebgno(super::Bambddoknco),
    }
}
/// Obf: KMAMFOKNJHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9241)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndGameCsReq {}
/// Obf: EKLPJCOPILI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub maboaiebgno: ::core::option::Option<Bambddoknco>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnppkdiiolm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub oaddaifhnga: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkgmcikngll {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub ebknfjlcilm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub onlgdibpkdm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egpbfgeakke {
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub lolbfgmlapj: u32,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub source: ::core::option::Option<Aedbimmknmd>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub hhfociieaac: ::core::option::Option<Lnppkdiiolm>,
    #[prost(oneof = "egpbfgeakke::Npdghjeghel", tags = "1939, 1642, 1786")]
    pub npdghjeghel: ::core::option::Option<egpbfgeakke::Npdghjeghel>,
}
/// Nested message and enum types in `EGPBFGEAKKE`.
pub mod egpbfgeakke {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Npdghjeghel {
        /// offset: 24
        #[prost(enumeration = "super::Ijdnojkmldd", tag = "1939")]
        Cjmmncefknj(i32),
        /// offset: 24
        #[prost(uint32, tag = "1642")]
        Bjnlmhffkka(u32),
        /// offset: 24
        #[prost(message, tag = "1786")]
        Pplokjdigbf(super::Mkgmcikngll),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhhcjhhbihf {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oljjeoibkjb {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ljnccffepck: ::core::option::Option<Ojajnhjaadj>,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub khleglkdcif: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obihigcbkcb {
    #[prost(
        oneof = "obihigcbkcb::Nnpkchfkppc",
        tags = "10, 1, 6, 12, 13, 14, 15, 5, 11, 4, 3"
    )]
    pub nnpkchfkppc: ::core::option::Option<obihigcbkcb::Nnpkchfkppc>,
}
/// Nested message and enum types in `OBIHIGCBKCB`.
pub mod obihigcbkcb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 24
        #[prost(message, tag = "10")]
        Opgjfkhmbip(super::Egpbfgeakke),
        /// offset: 24
        #[prost(uint32, tag = "1")]
        Jmkjnnkicmd(u32),
        /// offset: 24
        #[prost(message, tag = "6")]
        Kmedehmnfde(super::Ndaapjahfko),
        /// offset: 24
        #[prost(uint32, tag = "12")]
        Nondcljcfmf(u32),
        /// offset: 24
        #[prost(message, tag = "13")]
        Jmnjljlnfpb(super::Oljjeoibkjb),
        /// offset: 24
        #[prost(message, tag = "14")]
        Alfojlglchp(super::Lhhcjhhbihf),
        /// offset: 24
        #[prost(uint32, tag = "15")]
        Mboaijlcgkk(u32),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        Knfadpojkjh(u32),
        /// offset: 24
        #[prost(uint32, tag = "11")]
        Eaclklpgpdg(u32),
        /// offset: 24
        #[prost(message, tag = "4")]
        Hklpohmclog(super::Eofnolnhamd),
        /// offset: 24
        #[prost(uint32, tag = "3")]
        Dlifbcmmcpm(u32),
    }
}
/// Obf: MCFPGLEPCPM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Obihigcbkcb>,
}
/// Obf: JHCAJMFAMFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9238)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelChangeLineupCsReq {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub paobbghknkb: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ldnnefcjodb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PBKAJFOAEEK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9212)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelChangeLineupScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PKIEDELJADL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9256)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSellChimeraCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub npieekjohel: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EHDEEKCBHBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9255)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSellChimeraScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub npieekjohel: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PONNKOMHLGB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9258)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSelectGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub mimcejgckbo: u32,
}
/// Obf: DFELAODKFDL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9236)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSelectGameScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub mimcejgckbo: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emfgnomfkao {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub hkkaacljdee: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub lmpkpefjppg: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub kcmeeefndlk: ::prost::alloc::vec::Vec<Ndaapjahfko>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eofnolnhamd {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<Emfgnomfkao>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub slot: u32,
}
/// Obf: EHKIHEDGMMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9233)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSaveFriendPvpLineupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub slot: u32,
}
/// Obf: JBINECEAMFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9246)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSaveFriendPvpLineupScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Emfgnomfkao>,
}
/// Obf: DHIOIAFGBAJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9251)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSetFriendDefendLineupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub slot: u32,
}
/// Obf: MBCCPFPJGHH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9225)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSetFriendDefendLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub slot: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: JACAKCIPFOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9215)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelGetFriendListCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eccgjmefobp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<Emfgnomfkao>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
}
/// Obf: LAMAOKNCEIN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9223)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Receive {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub friend_list: ::prost::alloc::vec::Vec<Eccgjmefobp>,
}
/// Obf: MDMHCMLFFKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9227)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelFinishMasterChallengeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub lmpkpefjppg: u32,
}
/// Obf: IAFEAFBJEFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9254)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChimeraDuelFinishMasterChallengeScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub lmpkpefjppg: u32,
}
/// Obf: GOAKCJPNLDO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7250)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pehpgdgnkdf {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub script_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub mbmjmbhehpg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NADOKAGJKAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7249)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoScRsp {
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub onakkjolchg: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub imjpnefdlcd: ::prost::alloc::vec::Vec<Pehpgdgnkdf>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub pogclkcfcbp: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub lnmjdpnnldj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub progress: u32,
}
/// Obf: BDAJEIEOMLE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7239)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dnbjdlgiabh: u32,
}
/// Obf: KEELILLJCBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7233)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUnlockTalentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub dnbjdlgiabh: u32,
}
/// Obf: NHAJKANOEDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptCsReq {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub script_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub mhponialdek: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MFOHEHAIAFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7235)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkStartScriptScRsp {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub script_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: AIKKBMFOFNG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7208)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Emkehpgjbgn {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmahlbcbmke {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub binllghfghn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub jpihnmeifak: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub card_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mppmebmehdm {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub ajoldhiccdc: ::prost::alloc::vec::Vec<Hmahlbcbmke>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub binllghfghn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hedfbljlmnk {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdcdefonblb {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkkpejmkpjb {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jklihamfkdp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub gacha_random: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub ghmcdpkdaka: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffejobnekgg {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oahhghhjlkm {
    /// offset: 24
    #[prost(bool, tag = "15")]
    pub hdfhfolfjkg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdjnnhonfeb {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub fchmcfnfjjo: u32,
    #[prost(oneof = "hdjnnhonfeb::Cpnpdejfcdn", tags = "11, 5, 12, 1, 8, 13, 2, 7")]
    pub cpnpdejfcdn: ::core::option::Option<hdjnnhonfeb::Cpnpdejfcdn>,
}
/// Nested message and enum types in `HDJNNHONFEB`.
pub mod hdjnnhonfeb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cpnpdejfcdn {
        /// offset: 16
        #[prost(message, tag = "11")]
        Bcjjkdgbffn(super::Emkehpgjbgn),
        /// offset: 16
        #[prost(message, tag = "5")]
        Flfgfgknmhf(super::Hedfbljlmnk),
        /// offset: 16
        #[prost(message, tag = "12")]
        Cadhaoemmic(super::Mdcdefonblb),
        /// offset: 16
        #[prost(message, tag = "1")]
        Eiicohemhca(super::Gkkpejmkpjb),
        /// offset: 16
        #[prost(message, tag = "8")]
        Injcenaiehm(super::Jklihamfkdp),
        /// offset: 16
        #[prost(message, tag = "13")]
        Hobfnkjlnha(super::Ffejobnekgg),
        /// offset: 16
        #[prost(message, tag = "2")]
        Okglglfoohe(super::Oahhghhjlkm),
        /// offset: 16
        #[prost(bool, tag = "7")]
        Fklalbmilca(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egaphakookm {
    /// offset: 32
    #[prost(int32, tag = "2")]
    pub iegabpkoigg: i32,
    /// offset: 28
    #[prost(int32, tag = "7")]
    pub hjihnjaaecm: i32,
    /// offset: 24
    #[prost(int32, tag = "10")]
    pub ilgpdkkkdeh: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Papfkhcmkaa {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub fmplaiphnka: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub unique_id: u64,
}
/// Obf: OGJGCHECILA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkBuffList {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<Papfkhcmkaa>,
}
/// Obf: AOHGECNAMBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7206)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoScRsp {
    /// offset: 84
    #[prost(uint32, tag = "13")]
    pub mohofmeimmm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub dmolbooefmj: ::core::option::Option<ClockParkBuffList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub infdpifkbce: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 56
    #[prost(string, tag = "9")]
    pub oeigdgheafn: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub akjecljlmhk: ::core::option::Option<Egaphakookm>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub opoagdegkda: ::core::option::Option<Hdjnnhonfeb>,
    /// offset: 88
    #[prost(uint32, tag = "15")]
    pub script_id: u32,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub akljcpajeha: u32,
    /// offset: 72
    #[prost(uint32, tag = "14")]
    pub dcdijlggopf: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub hnjclmppjjk: u32,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub pbocdekdloh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnijkgfecli {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klmpiacoehk {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub afmfdkngfdl: ::core::option::Option<Mppmebmehdm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mkgfchlaefj {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub cophkecjbca: u32,
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilfkoijmnlf {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Namobechkfd {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gacha_random: u32,
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub omaeiijpaij: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lcekgonplaj {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cophkecjbca: u32,
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdmpekeihkl {}
/// Obf: PFGFDOKOGBN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7243)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitPlaceDiceOperationCsReq {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub fchmcfnfjjo: u32,
    #[prost(
        oneof = "clock_park_handle_wait_place_dice_operation_cs_req::Kfpmofkfiep",
        tags = "2, 15, 10, 12, 11, 9, 3, 13"
    )]
    pub kfpmofkfiep: ::core::option::Option<
        clock_park_handle_wait_place_dice_operation_cs_req::Kfpmofkfiep,
    >,
}
/// Nested message and enum types in `ClockParkHandleWaitPlaceDiceOperationCsReq`.
pub mod clock_park_handle_wait_place_dice_operation_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kfpmofkfiep {
        /// offset: 16
        #[prost(message, tag = "2")]
        Gnfmlkpkaed(super::Gnijkgfecli),
        /// offset: 16
        #[prost(message, tag = "15")]
        Idehkdokdna(super::Klmpiacoehk),
        /// offset: 16
        #[prost(message, tag = "10")]
        Odojajnjlfb(super::Mkgfchlaefj),
        /// offset: 16
        #[prost(message, tag = "12")]
        Kkkgcglaapj(super::Ilfkoijmnlf),
        /// offset: 16
        #[prost(message, tag = "11")]
        Olflhjakjdd(super::Namobechkfd),
        /// offset: 16
        #[prost(message, tag = "9")]
        Aeojfjnmjpd(super::Lcekgonplaj),
        /// offset: 16
        #[prost(message, tag = "3")]
        Cihfpmjamdm(super::Hdmpekeihkl),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Dcdijlggopf(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgfnbopbkcm {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub pbocdekdloh: u32,
    /// offset: 45
    #[prost(bool, tag = "5")]
    pub nmaagmddbde: bool,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub script_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub mohofmeimmm: u32,
    /// offset: 44
    #[prost(bool, tag = "10")]
    pub laecoiadmgb: bool,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: NKGPCAAGKEN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7203)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationScRsp {
    /// offset: 32
    #[prost(enumeration = "ClockParkPlayStatus", tag = "12")]
    pub chlaibhmdib: i32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub enabmcajihh: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub fchmcfnfjjo: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub dcnifnojhif: u32,
}
/// Obf: FNPFBKLDEIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkQuitScriptCsReq {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub hhnecmbdall: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub script_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7229)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ipnomnegjjg {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7201)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iclfmaopngi {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub fchmcfnfjjo: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MLOMNHPJEII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7238)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ClockParkUseBuffCsReq {
    /// offset: 32
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub script_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub fchmcfnfjjo: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7211)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncdeopolpnk {
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub dmolbooefmj: ::core::option::Option<ClockParkBuffList>,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub fchmcfnfjjo: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub script_id: u32,
    #[prost(oneof = "ncdeopolpnk::Iapcggmkkpa", tags = "1868, 761")]
    pub iapcggmkkpa: ::core::option::Option<ncdeopolpnk::Iapcggmkkpa>,
}
/// Nested message and enum types in `NCDEOPOLPNK`.
pub mod ncdeopolpnk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Iapcggmkkpa {
        /// offset: 16
        #[prost(message, tag = "1868")]
        Afmfdkngfdl(super::Mppmebmehdm),
        /// offset: 16
        #[prost(message, tag = "761")]
        Akjecljlmhk(super::Egaphakookm),
    }
}
/// Obf: OCPEJGGOMKA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7221)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkFinishScriptScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub finish_info: ::core::option::Option<Fgfnbopbkcm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Item {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub promotion: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub rank: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub main_affix_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemList {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub item_list: ::prost::alloc::vec::Vec<Item>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PileItem {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub item_num: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ItemCost {
    #[prost(oneof = "item_cost::Item", tags = "8, 7, 9")]
    pub item: ::core::option::Option<item_cost::Item>,
}
/// Nested message and enum types in `ItemCost`.
pub mod item_cost {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Item {
        /// offset: 16
        #[prost(message, tag = "8")]
        PileItem(super::PileItem),
        /// offset: 16
        #[prost(uint32, tag = "7")]
        EquipmentUniqueId(u32),
        /// offset: 16
        #[prost(uint32, tag = "9")]
        RelicUniqueId(u32),
    }
}
/// Obf: BNIJEOMIKPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCostData {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Opmhdakmpfm {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Llpijgonflo {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub promotion: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub exp: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub tid: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idppmbccibd {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub main_affix_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdfmmolcfkj {
    #[prost(oneof = "hdfmmolcfkj::Objipjfdgid", tags = "11, 2, 9")]
    pub objipjfdgid: ::core::option::Option<hdfmmolcfkj::Objipjfdgid>,
}
/// Nested message and enum types in `HDFMMOLCFKJ`.
pub mod hdfmmolcfkj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Objipjfdgid {
        /// offset: 16
        #[prost(message, tag = "11")]
        Podaghlhcph(super::Opmhdakmpfm),
        /// offset: 16
        #[prost(message, tag = "2")]
        Odmlglllfhi(super::Llpijgonflo),
        /// offset: 16
        #[prost(message, tag = "9")]
        Bdakjghdlai(super::Idppmbccibd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcldmciccnm {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub item_list: ::prost::alloc::vec::Vec<Hdfmmolcfkj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Vector {
    /// offset: 24
    #[prost(sint32, tag = "15")]
    pub x: i32,
    /// offset: 28
    #[prost(sint32, tag = "11")]
    pub z: i32,
    /// offset: 32
    #[prost(sint32, tag = "5")]
    pub y: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MotionInfo {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub pos: ::core::option::Option<Vector>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub rot: ::core::option::Option<Vector>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Vector4 {
    /// offset: 28
    #[prost(float, tag = "14")]
    pub x: f32,
    /// offset: 36
    #[prost(float, tag = "2")]
    pub z: f32,
    /// offset: 32
    #[prost(float, tag = "1")]
    pub y: f32,
    /// offset: 24
    #[prost(float, tag = "9")]
    pub w: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneMonsterWaveParam {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub pohhhachhgh: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub elite_group: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub hard_level_group: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub oamhagnbjgi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lejbeeaeofk {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub dlboeembffm: ::prost::alloc::vec::Vec<Miimnjkjokl>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub role_star: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnmnampnodg {
    #[prost(oneof = "pnmnampnodg::Pjnobjnmcgb", tags = "823")]
    pub pjnobjnmcgb: ::core::option::Option<pnmnampnodg::Pjnobjnmcgb>,
}
/// Nested message and enum types in `PNMNAMPNODG`.
pub mod pnmnampnodg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pjnobjnmcgb {
        /// offset: 16
        #[prost(message, tag = "823")]
        Baconenfbpf(super::Lejbeeaeofk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonster {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub cur_hp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub extra_info: ::core::option::Option<Pnmnampnodg>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub max_hp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub monster_id: u32,
}
/// Obf: LMDGGIHDOCM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWave {
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub battle_wave_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub battle_stage_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub nafljonggii: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub monster_list: ::prost::alloc::vec::Vec<SceneMonster>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub monster_param: ::core::option::Option<SceneMonsterWaveParam>,
}
/// Obf: HAEPFMHKNBP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneBattleInfo {
    /// offset: 72
    #[prost(message, repeated, tag = "14")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    /// offset: 96
    #[prost(message, optional, tag = "1711")]
    pub battle_rogue_magic_info: ::core::option::Option<BattleRogueMagicInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "36")]
    pub baconenfbpf: ::core::option::Option<Obljijdcpfg>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 116
    #[prost(bool, tag = "2")]
    pub lbhlilclapc: bool,
    /// offset: 88
    #[prost(message, repeated, tag = "100")]
    pub battle_event: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "561")]
    pub mllkmhnebjn: ::core::option::Option<Hjjmfaedpbe>,
    /// offset: 40
    #[prost(message, optional, tag = "208")]
    pub obefbbcihoa: ::core::option::Option<BattleGridFightSpecialBattleInfo>,
    /// offset: 80
    #[prost(message, optional, tag = "474")]
    pub obehihlodpk: ::core::option::Option<Mmocalfkjbd>,
    /// offset: 128
    #[prost(uint32, tag = "11")]
    pub rounds_limit: u32,
    /// offset: 48
    #[prost(message, optional, tag = "2038")]
    pub dhddgbmfjnh: ::core::option::Option<Moknjjhdbmf>,
    /// offset: 64
    #[prost(map = "uint32, message", tag = "1319")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 112
    #[prost(uint32, tag = "6")]
    pub logic_random_seed: u32,
    /// offset: 124
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    /// offset: 136
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 104
    #[prost(message, repeated, tag = "3")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 120
    #[prost(uint32, tag = "4")]
    pub battle_id: u32,
    /// offset: 132
    #[prost(uint32, tag = "5")]
    pub idhjbjnonlh: u32,
}
/// Obf: DDNBMMAOMDL
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideBattleInfo {
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub battle_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<AetherAvatarInfo>,
    /// offset: 52
    #[prost(bool, tag = "5")]
    pub lbhlilclapc: bool,
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub logic_random_seed: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjcoijleogb {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub assist_uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjeacnjpogm {
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub jjcicdkmddm: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub jijhjkmihpm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct KeyPairValue {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub key: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkgooekjpio {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub key: u32,
    /// offset: 28
    #[prost(sint32, tag = "1")]
    pub value: i32,
}
/// Obf: JGDMMDFCIOP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipRelic {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub relic_unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub r#type: u32,
}
/// Obf: KCHMIGMHCPL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeadFrameInfo {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub head_frame_item_id: u32,
    /// offset: 24
    #[prost(int64, tag = "8")]
    pub head_frame_expire_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataCsReq {}
/// Obf: APPKEPIEOAN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7549)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub data: ::core::option::Option<ContentPackageData>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HPLECHMHKKP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageInfo {
    /// offset: 28
    #[prost(enumeration = "ContentPackageStatus", tag = "12")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub content_id: u32,
}
/// Obf: HKFGNLAPBBP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageData {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub cur_content_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub content_package_list: ::prost::alloc::vec::Vec<ContentPackageInfo>,
}
/// Obf: DBKGDJOCIBH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageSyncDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub data: ::core::option::Option<ContentPackageData>,
}
/// Obf: BNMOCCOHHMK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7533)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ContentPackageTransferScNotify {}
/// Obf: KNLJBHIHFKC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyActivityInfo {
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub is_has_taken: bool,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub daily_active_point: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
}
/// Obf: AKMOABPHFDE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3357)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeApRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
}
/// Obf: PCEMLGDFDPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeApRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: FJJJIMOEGGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3355)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoCsReq {}
/// Obf: JCKODIMEGOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3375)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub daily_active_point: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OACPFLNCKKE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3338)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyActiveInfoNotify {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub daily_active_point: u32,
}
/// Obf: PAKFEFAOMCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3362)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardCsReq {}
/// Obf: JJMMIOPNJDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3347)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub take_reward_level_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MCLDACHFBDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9286)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDiceCombatSystemDataReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdickafbgcl {
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub unlock_timestamp: i64,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub pgcmjaocmii: u32,
}
/// Obf: KAOAACBPODH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9300)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSystemDataRsp {
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub nmjpmnmcnek: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub abnjmbgfbjl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ocdhokogndm>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub hfeifhahehf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub binllghfghn: ::prost::alloc::vec::Vec<Mdickafbgcl>,
}
/// Obf: EKNAFIKIHDO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9299)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddItemRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(int64, tag = "1")]
    pub unlock_timestamp: i64,
    #[prost(oneof = "add_item_rsp::Objipjfdgid", tags = "6, 13")]
    pub objipjfdgid: ::core::option::Option<add_item_rsp::Objipjfdgid>,
}
/// Nested message and enum types in `AddItemRsp`.
pub mod add_item_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Objipjfdgid {
        /// offset: 16
        #[prost(uint32, tag = "6")]
        AvatarId(u32),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Pgcmjaocmii(u32),
    }
}
/// Obf: NELPAOPFDOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9293)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DiceCombatMainPageRollDiceCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9275)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oghamlodobp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: PHMLPAACNJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9284)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDiceCombatShopDataReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Indkoobapbf {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub pdclcedjhhe: ::prost::alloc::vec::Vec<Difaciinpll>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Difaciinpll {
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub bbpddfjoefl: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub jijahpendgn: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ahnfpeleaif: ::core::option::Option<ItemCostData>,
}
/// Obf: HNAHHFFKIGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9285)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub ecnfjbldmai: ::prost::alloc::vec::Vec<Indkoobapbf>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: OKLFHGPOJLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9280)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DiceCombatBuyShopGoodReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub shop_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub jijahpendgn: u32,
}
/// Obf: MMJNBAODIHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9261)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyShopGoodScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub ecnfjbldmai: ::prost::alloc::vec::Vec<Indkoobapbf>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: JKGILBKNHCJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9279)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DiceCombatModifyAvatarDiceCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub nhdbmadmole: u32,
}
/// Obf: BFLPCLIKJKP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9294)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyAvatarDiceRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lfgpbcccced: ::core::option::Option<Ocdhokogndm>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JBCKENNIPAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9289)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DiceCombatUpgradeAvatarCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Obf: EGMCOOEBOPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9271)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpgradeAvatarRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub lfgpbcccced: ::core::option::Option<Ocdhokogndm>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: ABDOAIJJCAN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9291)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DiceCombatFinishPveStageCsReq {
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub kbkkbkkefhf: bool,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub damage: u32,
    /// offset: 33
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub fhglkkpdgln: u32,
}
/// Obf: GGKOCBJIAAE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9288)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPveStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_win: bool,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub fhglkkpdgln: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9295)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mgphhdneokp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cipmednildl: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub jpeaifipjbc: u32,
    /// offset: 28
    #[prost(int32, tag = "9")]
    pub khecdhhhmia: i32,
    /// offset: 25
    #[prost(bool, tag = "3")]
    pub dkgihbeglcj: bool,
    /// offset: 24
    #[prost(bool, tag = "15")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfopljmfcoj {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub mljgehcncba: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub cfnfoodbpjg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub hdhnaogngei: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imflifcgnki {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub dhlcogobhkk: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub infmmokblbi: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub gojkcmokdfb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub hbeeccmegcf: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub llpicpbfbnk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pnfibmcldll {
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub akaknbpeafn: bool,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub lmodmapafdp: u32,
}
/// Obf: OPLEOKMDBCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6990)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataCsReq {}
/// Obf: FDBKOGFFEPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6984)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub naldogakonn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub phbhbdnpbll: u32,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub gkgihmpphhi: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub gfilpibdkkm: ::prost::alloc::vec::Vec<Hfopljmfcoj>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub gfjdcahlceo: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub gahealmhnkf: ::core::option::Option<Imflifcgnki>,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub nbboliainil: u32,
}
/// Obf: BHLKANFLABB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6986)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeDrinkCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub lnmalagelhn: ::core::option::Option<Imflifcgnki>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub phbhbdnpbll: u32,
}
/// Obf: HDICCMCGMDG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6981)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MakeDrinkScRsp {
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub akaknbpeafn: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub kgonfooiphn: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: PCNNNJMCPOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6992)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceCsReq {}
/// Obf: DFKCMBINBMH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6991)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceScRsp {
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub gfjdcahlceo: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub ljbbkglangb: ::prost::alloc::vec::Vec<Pnfibmcldll>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub lfibilihoda: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub cmkomblahcc: ::core::option::Option<Hfopljmfcoj>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: AFFLECIKEMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7000)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub lnmalagelhn: ::core::option::Option<Imflifcgnki>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub lmodmapafdp: u32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub is_save: bool,
}
/// Obf: CLLGOFMCLEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6995)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MakeMissionDrinkScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub is_save: bool,
    /// offset: 37
    #[prost(bool, tag = "8")]
    pub akaknbpeafn: bool,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub gahealmhnkf: ::core::option::Option<Imflifcgnki>,
}
/// Obf: KKKFKEGJCBO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6996)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDayEndScNotify {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub gdimblopaon: u32,
}
/// Obf: PHPBAIDMNPG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6998)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub lnmalagelhn: ::core::option::Option<Imflifcgnki>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub challenge_id: u32,
}
/// Obf: GEEFAOPGGCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6993)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeScRsp {
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub akaknbpeafn: bool,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: JHBDCLMLOJM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6989)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerUpdateTipsNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gfjdcahlceo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcblcdeefkl {
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub kilakddjpng: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub aaoopjbgjhh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lnmalagelhn: ::core::option::Option<Imflifcgnki>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ohacelcbkdd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KDLPFHKDCIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6997)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersGetDataCsReq {}
/// Obf: IOMCADEKKLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6999)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersGetDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub dmdhjcoeacn: ::prost::alloc::vec::Vec<Gcblcdeefkl>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fhfeoapfakf: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub pjnpmdilglp: u32,
}
/// Obf: EIBBDAGJEHB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersMakeDrinkCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub lnmalagelhn: ::core::option::Option<Imflifcgnki>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub aaoopjbgjhh: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub inbbkgkmjme: bool,
}
/// Obf: HBGOLBLOHHA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6987)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersMakeDrinkScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub jhiompkoike: ::core::option::Option<Gcblcdeefkl>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: HIDACPGLHND
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6988)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersEnterNextGroupCsReq {}
/// Obf: CACKFNHMOCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6985)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersEnterNextGroupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pjnpmdilglp: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oefcdadebah {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fmgkpcehkgk {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub aamonjjgdmk: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub lhdbbeimehf: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub loldgodlbnh: u32,
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub jkbhnllfjha: bool,
}
/// Obf: MKMKCOHPPCN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9110)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetActivityElationDataCsReq {}
/// Obf: KOHPFGJHADP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9108)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetElationActivityDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub gfgdjpdgojk: ::prost::alloc::vec::Vec<Fmgkpcehkgk>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: MFOHKALGBHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9104)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterElationActivityStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub obgjaflpgpb: ::prost::alloc::vec::Vec<Oefcdadebah>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub dapbnmfbceo: ::prost::alloc::vec::Vec<Oefcdadebah>,
}
/// Obf: PMICCHJAIOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9105)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterElationActivityStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
}
/// Obf: FGPBECIMCLK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9109)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElationActivityBattleEndScNotify {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub ehpffdcbjlo: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub cmgilbippii: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub ofjbjcpkafg: ::core::option::Option<Fmgkpcehkgk>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub cfolbmgfjie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iopafdonlmh {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub progress: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub hclfhneomdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlaalihaann {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub joljpmjlcha: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub alejgfhofpl: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub cjaenppgfgg: ::prost::alloc::vec::Vec<Iopafdonlmh>,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub lpiocfeekjo: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub loknlmlmibi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhjdingkpad {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ajnijmcdbpl: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub mhlnojdkimh: u32,
    /// offset: 29
    #[prost(bool, tag = "8")]
    pub fiialgmkebk: bool,
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub kjdmlkhgpgd: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ihhmobbjoee: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub pmcdfaaindl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Limhalpibgd {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub ffdhhinidep: ::prost::alloc::vec::Vec<Fhjdingkpad>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub iibbkaldpnm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub nnojeihdgoj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okeahlajkij {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub defkhaenfic: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmngfdanald {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub gkoogoiomol: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jdgmnjfmkgh {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub gkoogoiomol: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub jgcccolfhme: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub phlalbioekk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hglkfnkmpob {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub count: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pgghegdpfpj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Binleggdnji {
    /// offset: 56
    #[prost(uint64, tag = "15")]
    pub fgpbapeokjf: u64,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub kdlaeldpapd: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub bdofifjdgog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub fahilmmkogb: ::prost::alloc::vec::Vec<Jdgmnjfmkgh>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub caffjjkjbol: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub incgiikcmdc: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub hjghopfpomf: ::prost::alloc::vec::Vec<Hglkfnkmpob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alibaphhich {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub bdfiiccnnpa: ::core::option::Option<Binleggdnji>,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub boohblgmlae: ::prost::alloc::vec::Vec<Nmngfdanald>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub kbmdhjfcemp: ::prost::alloc::vec::Vec<Okeahlajkij>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Keanaogdanl {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ehbgfcmpekg: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bajccaeccgj {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub caigjdlhkbl: ::prost::alloc::vec::Vec<Keanaogdanl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efogoopnjme {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jefjckgbchi: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub aadjhhhcenc: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub enhpbggncjn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bgnnjpoopei {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub enhpbggncjn: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub neacagjbcgm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pigihfhndeg {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub egjmjhdkhoi: ::prost::alloc::vec::Vec<Bgnnjpoopei>,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub ngbjblfhhgb: ::prost::alloc::vec::Vec<Efogoopnjme>,
}
/// Obf: NEODNEGFFFH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2600)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetElfRestaurantDataCsReq {}
/// Obf: EGBAPGMHLKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2599)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetElfRestaurantDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub eednajifdnd: ::core::option::Option<Limhalpibgd>,
    /// offset: 48
    #[prost(message, optional, tag = "3")]
    pub lkohjmehbam: ::core::option::Option<Pigihfhndeg>,
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub jebanfipnea: ::core::option::Option<Bajccaeccgj>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub plcianeokio: ::core::option::Option<Alibaphhich>,
    /// offset: 56
    #[prost(message, optional, tag = "8")]
    pub boekjonipal: ::core::option::Option<Hlaalihaann>,
}
/// Obf: KAKEDKLEFON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2574)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterElfRestaurantNextDayCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2557)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ginlaepckfa {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaajlmggham {
    #[prost(
        oneof = "iaajlmggham::Dacclcmhmli",
        tags = "2, 5, 14, 6, 11, 1, 9, 8, 10, 3, 12, 7"
    )]
    pub dacclcmhmli: ::core::option::Option<iaajlmggham::Dacclcmhmli>,
}
/// Nested message and enum types in `IAAJLMGGHAM`.
pub mod iaajlmggham {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Dacclcmhmli {
        /// offset: 24
        #[prost(message, tag = "2")]
        Bjehcnfaleo(super::Hlaalihaann),
        /// offset: 24
        #[prost(message, tag = "5")]
        Ohjnaailneh(super::Fhjdingkpad),
        /// offset: 24
        #[prost(message, tag = "14")]
        Pjcjeenpdep(super::Keanaogdanl),
        /// offset: 24
        #[prost(uint32, tag = "6")]
        Fhgpdlmpmkd(u32),
        /// offset: 24
        #[prost(message, tag = "11")]
        Omicalicegk(super::Okeahlajkij),
        /// offset: 24
        #[prost(message, tag = "1")]
        Ajibebhcben(super::Nmngfdanald),
        /// offset: 24
        #[prost(message, tag = "9")]
        Agdcnadgnob(super::Efogoopnjme),
        /// offset: 24
        #[prost(uint32, tag = "8")]
        Hmpdfiieknm(u32),
        /// offset: 24
        #[prost(message, tag = "10")]
        Ofnpljppkbh(super::Bgnnjpoopei),
        /// offset: 24
        #[prost(uint32, tag = "3")]
        Ganknkcfgeo(u32),
        /// offset: 24
        #[prost(bool, tag = "12")]
        Nnojeihdgoj(bool),
        /// offset: 24
        #[prost(message, tag = "7")]
        Gmlhhlbobhe(super::Binleggdnji),
    }
}
/// Obf: ONJFKDFOHCL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2583)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantDataChangeNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Iaajlmggham>,
}
/// Obf: LCOCHBEPCNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2597)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantBuyFieldCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mhlnojdkimh: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2585)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpmncccmebo {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ekbmbcpcddo: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgnhoadlkge {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mhlnojdkimh: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub pmcdfaaindl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hianagafjif {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mhlnojdkimh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ekbmbcpcddo: ::core::option::Option<ItemCostData>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub pmcdfaaindl: u32,
}
/// Obf: FMMALHKMPMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2558)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantPlantSeedCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ihhmobbjoee: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub ffdhhinidep: ::prost::alloc::vec::Vec<Fgnhoadlkge>,
}
/// Obf: HBIKCFBHJAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2556)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantPlantSeedScRsp {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub aggkkpmfnpg: ::prost::alloc::vec::Vec<Hianagafjif>,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub hincdnfpblp: ::prost::alloc::vec::Vec<Efgghcedmkb>,
}
/// Obf: PFKGJEHMFAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantHarvestCropCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub ffdhhinidep: ::prost::alloc::vec::Vec<Fgnhoadlkge>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbamicnnkje {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub pmcdfaaindl: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub mhlnojdkimh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub loagmdfpheh: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "14")]
    pub doagjopioik: ::std::collections::HashMap<u32, ItemList>,
}
/// Obf: EFDBFFLENAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2553)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantHarvestCropScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub pckjlcpapbe: ::prost::alloc::vec::Vec<Nbamicnnkje>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: HHCMPBIJONE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2581)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantRecycleSeedCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub ffdhhinidep: ::prost::alloc::vec::Vec<Fgnhoadlkge>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efgghcedmkb {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mhlnojdkimh: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub pmcdfaaindl: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub agegdnblomk: ::core::option::Option<ItemList>,
}
/// Obf: FHDHHPLJACD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2579)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantRecycleSeedScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub hincdnfpblp: ::prost::alloc::vec::Vec<Efgghcedmkb>,
}
/// Obf: LGBFAPDIDIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2576)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantTakeVillagerRewardCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gabiekhpkpo {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub laophipeind: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub gonipmlagfk: u32,
}
/// Obf: MHNCPKKGONL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2573)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantTakeVillagerRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub emejnmbmmjg: ::prost::alloc::vec::Vec<Gabiekhpkpo>,
}
/// Obf: LPKBNLPIKMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantUpgradeEmployeeLevelCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub ehbgfcmpekg: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ehioeiiajda: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2570)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glchpeffcbl {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ekbmbcpcddo: ::core::option::Option<ItemCostData>,
}
/// Obf: HJOIOBJJCNI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2588)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantUpgradeFacilityLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub defkhaenfic: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ehioeiiajda: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2561)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hoedchhanpl {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: BLJIHPJCPOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantUpgradeRecipeLevelCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ehioeiiajda: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub gkoogoiomol: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2590)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jamkmlfkhlp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Chbncnhbpgp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub gkoogoiomol: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjmaffidkjh {
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub ionglehkhbh: bool,
    /// offset: 33
    #[prost(bool, tag = "15")]
    pub mameaggfijn: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ejllcjjenhk: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub pfpaecmcgnh: ::prost::alloc::vec::Vec<Chbncnhbpgp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fahkphgojol {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub num: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub eajkmdbhnho: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Modoknjgmdj {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub kpmdieplhbi: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cglcnpkilek: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajiilpjejdf {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub djchdeekohj: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub lbcncedlonp: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub deeheclcljf: u32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub gkoogoiomol: u32,
    /// offset: 37
    #[prost(bool, tag = "4")]
    pub pfaffdbfeen: bool,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub odldcccdfjk: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub lbcpbcfgbae: u32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub igblnikhojh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Daadjddmifo {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub odldcccdfjk: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub afnkkkmmlhc: u32,
}
/// Obf: EHFELCAOIJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2587)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleElfRestaurantPlayCsReq {
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub okjplapkomf: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub emphjidolje: ::prost::alloc::vec::Vec<Mjmaffidkjh>,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub jfnohpljifd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub mohjopbmhcp: ::prost::alloc::vec::Vec<Fahkphgojol>,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hemibdgckne: ::prost::alloc::vec::Vec<Daadjddmifo>,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub cmhlhnndgdk: ::prost::alloc::vec::Vec<Modoknjgmdj>,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub joiikpmkojo: u32,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub eldiegjbhbn: u32,
    /// offset: 88
    #[prost(uint32, tag = "12")]
    pub dclfheahjbh: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub ememjgjkdje: ::prost::alloc::vec::Vec<Ajiilpjejdf>,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub fgpbapeokjf: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub cost_time: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2578)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Liinmfdjoof {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: GEEBKMOCBFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2552)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantBuyShopItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub aadjhhhcenc: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub pbamjbfnbda: u32,
}
/// Obf: KPFNILEKDFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2596)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantBuyShopItemScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub aadjhhhcenc: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub ekbmbcpcddo: ::core::option::Option<ItemCostData>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub admnpackped: ::core::option::Option<ItemList>,
}
/// Obf: LMEBFNLCHDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantFinishTradeOrderCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub neacagjbcgm: u32,
}
/// Obf: NIEABOENOIH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2598)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantFinishTradeOrderScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub neacagjbcgm: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub admnpackped: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ekbmbcpcddo: ::core::option::Option<ItemCostData>,
}
/// Obf: JKOBFIFDDMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2586)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetElfRestaurantPlayRecipeCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kolhimifaol: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2591)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkfakkmdgco {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NDJCCPHLELK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2565)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ElfRestaurantClientStatusCsReq {
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub dpdalmninng: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2555)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Foaaleipljk {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkmcjinmjgo {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub filjjbchfmg: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gamjpejhmma {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub innojcagche: ::prost::alloc::vec::Vec<Fkmcjinmjgo>,
}
/// Obf: BHOJPFCOEOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6560)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkcidnbobim {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Gamjpejhmma>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: KJBDECPPHJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6563)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<Gamjpejhmma>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6561)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncbdooeiopi {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub data: ::core::option::Option<Gamjpejhmma>,
}
/// Obf: LFNJDNDGAEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6559)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataCsReq {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub hkppobokobn: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6572)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhjbbpldkjf {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub hkppobokobn: bool,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<Gamjpejhmma>,
}
/// Obf: IKICFOBLDNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6569)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterEraFlipperDataCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub state: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub filjjbchfmg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6575)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ihbjcbnkgkk {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub filjjbchfmg: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncdceeepida {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub data: ::core::option::Option<Gamjpejhmma>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Heidaleadho {
    /// offset: 36
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(double, tag = "11")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Febomccjkbk {
    /// offset: 64
    #[prost(enumeration = "Dedjhejalmm", tag = "13")]
    pub ploondjphah: i32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub ohpgogcgahi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub round_cnt: u32,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub jfodpdhaami: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<BattleGridFightSpecialBattleInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Heidaleadho>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gfjbhknhplj {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jdmnfboacpi: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub max_score: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ephombldcgm {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ncideekadjm: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbhnhgdemkg {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ohpgogcgahi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 37
    #[prost(bool, tag = "3")]
    pub bkjailokegn: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub klnnehhkmap: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alckallfhhj {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub item_value: u32,
    /// offset: 32
    #[prost(enumeration = "Dedjhejalmm", tag = "3")]
    pub ploondjphah: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub phbgcdobfha: ::prost::alloc::vec::Vec<Ephombldcgm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kloljdgncpf {
    /// offset: 48
    #[prost(message, repeated, tag = "13")]
    pub icnnanhkllk: ::prost::alloc::vec::Vec<Alckallfhhj>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "15")]
    pub hldinamoclg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    /// offset: 80
    #[prost(uint32, tag = "5")]
    pub player_level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub edmmimfocnk: ::prost::alloc::vec::Vec<Gfjbhknhplj>,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub kamkncnfjlj: ::prost::alloc::vec::Vec<Jbhnhgdemkg>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub phbgcdobfha: ::prost::alloc::vec::Vec<Ephombldcgm>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub dcbmopkalog: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JBAPMOFBINM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7150)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildQueryInfoCsReq {}
/// Obf: GJBEIPLENAM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7149)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildQueryInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub laecjmnjedl: ::prost::alloc::vec::Vec<Febomccjkbk>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ddcnefchhfa: ::core::option::Option<Kloljdgncpf>,
}
/// Obf: DMIPMEJNEDI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7124)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Heidaleadho>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub dpcdphmdgoc: ::core::option::Option<Cppcdkimnfn>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
}
/// Obf: IPHLMGGLFME
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7107)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hdmpnkklanm: ::core::option::Option<SceneBattleInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ilbklcniing: ::core::option::Option<Febomccjkbk>,
}
/// Obf: KBMJHPOPDJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7139)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
}
/// Obf: MKPNFFKNLHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7133)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub hdmpnkklanm: ::core::option::Option<SceneBattleInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub ilbklcniing: ::core::option::Option<Febomccjkbk>,
}
/// Obf: PCCCKNFBKOB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildGiveupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
}
/// Obf: FDJHKHEAFHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7135)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildGiveupScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ilbklcniing: ::core::option::Option<Febomccjkbk>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ffpbbflpdbo {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7106)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpjpfnncikm {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ilbklcniing: ::core::option::Option<Febomccjkbk>,
}
/// Obf: PDAPEOMJDIB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7143)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildFinishScNotify {
    /// offset: 52
    #[prost(enumeration = "Peoapfklnbj", tag = "2")]
    pub ncmhnmjpmdl: i32,
    /// offset: 60
    #[prost(bool, tag = "9")]
    pub jeddhbndjda: bool,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub ilbklcniing: ::core::option::Option<Febomccjkbk>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub score_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub wave: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub exp: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub akepoooelgi: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub item_value: u32,
}
/// Obf: MOEEJCDEKCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7103)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildReRandomStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level_id: u32,
}
/// Obf: ADGHAAJCNFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7131)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildReRandomStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub knnngjjdiie: ::core::option::Option<Jbhnhgdemkg>,
}
/// Obf: CPGEIFEOPPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7119)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityUpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ncideekadjm: u32,
}
/// Obf: EIHOEPNDFGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7101)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityUpScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ncideekadjm: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: PCAFOGFDNEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityDownCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub ncideekadjm: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
/// Obf: OGAIMBNPIOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7138)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityDownScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ncideekadjm: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: LNBCMGFEEIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7140)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildShopAbilityResetCsReq {
    /// offset: 24
    #[prost(enumeration = "Dedjhejalmm", tag = "13")]
    pub ploondjphah: i32,
}
/// Obf: LDFCKMONEEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityResetScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub item_value: u32,
    /// offset: 36
    #[prost(enumeration = "Dedjhejalmm", tag = "9")]
    pub ploondjphah: i32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub phbgcdobfha: ::prost::alloc::vec::Vec<Ephombldcgm>,
}
/// Obf: JMAJDGLLPDA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7128)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildCoinNotify {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_value: u32,
    /// offset: 24
    #[prost(enumeration = "Dedjhejalmm", tag = "5")]
    pub ploondjphah: i32,
}
/// Obf: DGKAKLFOPOI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7146)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
}
/// Obf: HEOOMHGLNDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7145)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExpeditionInfo {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
/// Obf: ECOMEEJMEPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2550)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataCsReq {}
/// Obf: DLGFDFMIEJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2549)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub efmfpcdmebi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub total_expedition_count: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub expedition_info: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub haggbbfflaa: i64,
}
/// Obf: JEHDJFFBDAN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2519)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub gnmdlajjkii: ::prost::alloc::vec::Vec<ExpeditionInfo>,
}
/// Obf: JPJIJHHKFEI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2501)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub bjhlapgdlfk: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 48
    #[prost(int64, tag = "6")]
    pub haggbbfflaa: i64,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub emejnmbmmjg: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HGJPGCJNGJE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2520)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardCsReq {}
/// Obf: KAGDPIALKDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2538)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub fliobedfedo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub emejnmbmmjg: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 48
    #[prost(int64, tag = "3")]
    pub haggbbfflaa: i64,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2508)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcbhclkeobm {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub total_expedition_count: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub expedition_info: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub efmfpcdmebi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(int64, tag = "2")]
    pub haggbbfflaa: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opmmhibnjlh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ddelajjapmh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcjpoknjmfm {
    /// offset: 24
    #[prost(map = "uint32, message", tag = "2")]
    pub eaaenhpdnph: ::std::collections::HashMap<u32, Opmmhibnjlh>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub bibikkpelch: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "13")]
    pub dlolokibkmg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub ognhfjcihhj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub ldhlmmamccg: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub lbgpmidliig: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(map = "uint32, uint32", tag = "1")]
    pub oidhpkknmbb: ::std::collections::HashMap<u32, u32>,
}
/// Obf: DGNEJKFDBGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4957)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ldhlmmamccg: u32,
}
/// Obf: FGIOIHOEGDP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub bnffoaoehfh: ::core::option::Option<Dcjpoknjmfm>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4955)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgnbbjaiace {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub bnffoaoehfh: ::core::option::Option<Dcjpoknjmfm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ddelajjapmh {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
}
/// Obf: FBADIGIEIJH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterActivityFantasticStoryCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub ldhlmmamccg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ddelajjapmh>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NDFMEMMPFHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4938)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ldhlmmamccg: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub battle_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BDFPJGBPPNJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4962)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FantasticStoryActivityBattleEndScNotify {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub battle_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub pcfoimdompf: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ldhlmmamccg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjenihhafdi {
    /// offset: 24
    #[prost(enumeration = "Ggkmljlbifh", tag = "6")]
    pub bnhcagblimi: i32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub fokpccljgbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmelbidhmlb {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub affix_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub monster_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 33
    #[prost(bool, tag = "2")]
    pub hafbegpjech: bool,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub liplfdicbbi: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpjknbpdfcg {
    /// offset: 44
    #[prost(int32, tag = "12")]
    pub max_hp: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    /// offset: 48
    #[prost(enumeration = "FateMasterStatusType", tag = "8")]
    pub status: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub jfidanndgfg: ::prost::alloc::vec::Vec<Nmelbidhmlb>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 40
    #[prost(int32, tag = "6")]
    pub hp: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkjkbcmpanp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub ffcfejkjkeb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efcdkonlahj {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub afnpmbaeoln: ::core::option::Option<Bkjkbcmpanp>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub bhpepnccdhe: ::core::option::Option<Bkjkbcmpanp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljfmobaibgm {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub jkopkejpank: ::prost::alloc::vec::Vec<Hpjknbpdfcg>,
}
/// Obf: JLPBJPEJBEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateBuffData {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub cnt: u32,
}
/// Obf: PCHLGDLOMHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActiveTraitSourceList {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Didekejocfb {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub ofdafchcajm: ::prost::alloc::vec::Vec<ActiveTraitSourceList>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Neinmemajde {
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub acenpoffdml: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub lpbbeaeajpo: ::prost::alloc::vec::Vec<Didekejocfb>,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "11")]
    pub jmnmhkckeek: ::std::collections::HashMap<u32, u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<FateBuffData>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "12")]
    pub fahnhkgmjbd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub kmaclilieca: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Phpaldegkjf {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub buff_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub shop_goods_price: u32,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub baapkikdife: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jkjghcdnejc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub bkdmihaglaj: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhipbccijde {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fpjignifbei: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub item_value: u32,
    /// offset: 52
    #[prost(bool, tag = "14")]
    pub mhfcfaloifj: bool,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub iojkahkchcj: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub eamibhibjmh: ::prost::alloc::vec::Vec<Jkjghcdnejc>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub shop_goods_list: ::prost::alloc::vec::Vec<Phpaldegkjf>,
    /// offset: 53
    #[prost(bool, tag = "2")]
    pub gpjofifngbg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bijcmpfndee {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub laheicnplfa: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub hnmfmgcapno: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dpdoldbdpfn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgfbiomnkle {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub pnnandhoblg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejpheajgmpl {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub nphbinlhooa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kdaeinjlepd {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(int32, tag = "13")]
    pub value: i32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub nbmbldajbnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahglamgkegp {
    /// offset: 88
    #[prost(message, optional, tag = "114")]
    pub llfimnoihmj: ::core::option::Option<Hocekpeecob>,
    /// offset: 112
    #[prost(uint32, tag = "5")]
    pub difficulty_level: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "2")]
    pub bnbcebpobop: ::prost::alloc::vec::Vec<Kdaeinjlepd>,
    /// offset: 108
    #[prost(enumeration = "Akgjbmcfojg", tag = "12")]
    pub status: i32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub efonfdoalpi: ::core::option::Option<Mhipbccijde>,
    /// offset: 104
    #[prost(uint32, tag = "3")]
    pub cpcneimjdia: u32,
    /// offset: 80
    #[prost(message, optional, tag = "960")]
    pub ccljhomghai: ::core::option::Option<Dokdofokhgb>,
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub japgcgmemci: ::core::option::Option<Ljfmobaibgm>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub pending_action: ::core::option::Option<Nkoegdhonem>,
    /// offset: 96
    #[prost(message, optional, tag = "14")]
    pub pkjijkinbpc: ::core::option::Option<Neinmemajde>,
    /// offset: 72
    #[prost(message, repeated, tag = "4")]
    pub pjmjkepgbln: ::prost::alloc::vec::Vec<Ejpheajgmpl>,
    /// offset: 64
    #[prost(message, optional, tag = "8")]
    pub pnknbplfhag: ::core::option::Option<Bijcmpfndee>,
    /// offset: 116
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub kmhlcplfogj: ::core::option::Option<Lgfbiomnkle>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkoegdhonem {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub lhoaonbiilb: ::core::option::Option<Adffaoappfn>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub queue_position: u32,
}
/// Obf: IPPIDBCDNMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5988)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateHouguSelectReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub queue_position: u32,
    #[prost(oneof = "fate_hougu_select_req::Dcnifnojhif", tags = "14, 13")]
    pub dcnifnojhif: ::core::option::Option<fate_hougu_select_req::Dcnifnojhif>,
}
/// Nested message and enum types in `FateHouguSelectReq`.
pub mod fate_hougu_select_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Dcnifnojhif {
        /// offset: 16
        #[prost(message, tag = "14")]
        Igneoppoccf(super::Hkgihnpbnhj),
        /// offset: 16
        #[prost(message, tag = "13")]
        Dkcmnlgfkcc(super::Dgkpfjldpbd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkgihnpbnhj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub gkbokkgobee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgkpfjldpbd {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub akmjbplleac: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub eihjpkadgjf: bool,
}
/// Obf: OPPGIIIKIED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5961)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateHandlePendingActionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub queue_position: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CNKOLNBNIMJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5971)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSyncActionResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub kkbnnajcnhc: ::prost::alloc::vec::Vec<Ooainjohfnb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooainjohfnb {
    #[prost(
        oneof = "ooainjohfnb::Nnpkchfkppc",
        tags = "9, 3, 1, 14, 5, 12, 10, 7, 4, 2, 11, 6, 8, 13, 15, 1096, 667, 562, 265, 592, 969, 993"
    )]
    pub nnpkchfkppc: ::core::option::Option<ooainjohfnb::Nnpkchfkppc>,
}
/// Nested message and enum types in `OOAINJOHFNB`.
pub mod ooainjohfnb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 16
        #[prost(message, tag = "9")]
        Bneglkejldf(super::Odgobcolbbk),
        /// offset: 16
        #[prost(message, tag = "3")]
        Pfmfghekpoi(super::Ahgelfmkmko),
        /// offset: 16
        #[prost(message, tag = "1")]
        Lofemloihka(super::Kgaageecbmd),
        /// offset: 16
        #[prost(message, tag = "14")]
        Alfbcljiljn(super::Jnbfmeeingj),
        /// offset: 16
        #[prost(message, tag = "5")]
        Fomgijddcdh(super::Mblpbmfhnic),
        /// offset: 16
        #[prost(message, tag = "12")]
        Cehleghegii(super::Bifkbjkiejk),
        /// offset: 16
        #[prost(message, tag = "10")]
        Pafnnohdpfc(super::Ebhmkcdhobj),
        /// offset: 16
        #[prost(message, tag = "7")]
        Jonhjkekafg(super::Jknafpnhifo),
        /// offset: 16
        #[prost(message, tag = "4")]
        Glpbecfemkj(super::Bdkacfnfemo),
        /// offset: 16
        #[prost(message, tag = "2")]
        Bdnfbglmpok(super::Lgcgheippjh),
        /// offset: 16
        #[prost(message, tag = "11")]
        Mkmoajbnafo(super::Eehblpcmgch),
        /// offset: 16
        #[prost(message, tag = "6")]
        Fdcdjpnhpan(super::Icfehejbmjl),
        /// offset: 16
        #[prost(message, tag = "8")]
        Mghkdblpdle(super::Ompnankfokd),
        /// offset: 16
        #[prost(message, tag = "13")]
        Lbfebjenfhe(super::Albknndfolo),
        /// offset: 16
        #[prost(message, tag = "15")]
        Fpchkebdine(super::Fbmimofoomf),
        /// offset: 16
        #[prost(message, tag = "1096")]
        Khfapgooilk(super::Cbhpaibmpej),
        /// offset: 16
        #[prost(message, tag = "667")]
        Bpmhhbfndac(super::Caelegalmeh),
        /// offset: 16
        #[prost(message, tag = "562")]
        Hikldgjfnjl(super::Efgejobeekf),
        /// offset: 16
        #[prost(message, tag = "265")]
        Bffkokdlfdl(super::Jbflfkpheim),
        /// offset: 16
        #[prost(message, tag = "592")]
        Khafcgabfjn(super::Imjagpoapkg),
        /// offset: 16
        #[prost(message, tag = "969")]
        Mmfdbgfbngo(super::Gnjlageflna),
        /// offset: 16
        #[prost(message, tag = "993")]
        Ekhlnomckpi(super::Ingmfjkbkpl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bifkbjkiejk {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub fpjignifbei: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub iojkahkchcj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbmimofoomf {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub efonfdoalpi: ::core::option::Option<Mhipbccijde>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnjlageflna {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub mhfcfaloifj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ingmfjkbkpl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub pnnandhoblg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icfehejbmjl {
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub cjcklibodlo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub hbdlnnlbdem: ::prost::alloc::vec::Vec<FateBuffData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ompnankfokd {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub khmkengniee: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub ilkokgcbblo: ::prost::alloc::vec::Vec<Didekejocfb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Albknndfolo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub pfaplpdeihm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub admghbhkacp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caelegalmeh {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "9")]
    pub cccenihhohk: ::std::collections::HashMap<u32, u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub higjampcino: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imjagpoapkg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub kmaclilieca: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efgejobeekf {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub eekojffcgke: ::core::option::Option<Gmebjiebdho>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jbflfkpheim {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub gghlmcpnpfk: ::core::option::Option<Hjenihhafdi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Odgobcolbbk {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub bigfembpkbi: ::core::option::Option<Bijcmpfndee>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahgelfmkmko {
    /// offset: 24
    #[prost(enumeration = "Akgjbmcfojg", tag = "5")]
    pub iofhmcmdnhi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Keccndnplnl {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub fjckkmikaee: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    /// offset: 57
    #[prost(bool, tag = "5")]
    pub mkhkjeefppe: bool,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub janlaeecmpi: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub cddjgnajlgi: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub nlmbfbdalfp: u32,
    /// offset: 48
    #[prost(double, tag = "10")]
    pub gckbkgofkhb: f64,
    /// offset: 56
    #[prost(bool, tag = "13")]
    pub fchkmpkcenj: bool,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub femgnidphgd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgaageecbmd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ojddlooigci: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub oapnbeakeaf: u32,
    /// offset: 56
    #[prost(bool, tag = "3")]
    pub dffhhlcbgac: bool,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub hlpmhajffae: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub ajapfgockpi: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub amlgnmjjnai: ::prost::alloc::vec::Vec<Keccndnplnl>,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub gdgnefenedp: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub jkopkejpank: ::prost::alloc::vec::Vec<Hpjknbpdfcg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnbfmeeingj {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub dleclfekkcl: ::prost::alloc::vec::Vec<Efcdkonlahj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mblpbmfhnic {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub gold: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ebhmkcdhobj {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub acenpoffdml: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jknafpnhifo {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub jepdinobcmn: ::core::option::Option<Ejpheajgmpl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bdkacfnfemo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgcgheippjh {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub fhjmpnmonmc: ::core::option::Option<Kdaeinjlepd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eehblpcmgch {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbhpaibmpej {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub cfndmjkhnjc: ::core::option::Option<Hpjknbpdfcg>,
}
/// Obf: JJLFMHDJHIB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5990)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSyncPendingActionScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub pending_action: ::core::option::Option<Nkoegdhonem>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adffaoappfn {
    #[prost(oneof = "adffaoappfn::Nnpkchfkppc", tags = "15, 3")]
    pub nnpkchfkppc: ::core::option::Option<adffaoappfn::Nnpkchfkppc>,
}
/// Nested message and enum types in `ADFFAOAPPFN`.
pub mod adffaoappfn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 16
        #[prost(message, tag = "15")]
        Igneoppoccf(super::Oaabaffbflm),
        /// offset: 16
        #[prost(message, tag = "3")]
        Dkcmnlgfkcc(super::Ffjombhjnel),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oaabaffbflm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub fajiakfpcgh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fcgnpmmekca {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub mipllmmfhlh: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub nbmbldajbnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffjombhjnel {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub pngoenbdmnk: ::prost::alloc::vec::Vec<Fcgnpmmekca>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggmhmkidoeh {
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub dplcceipihe: ::core::option::Option<Ljelalljiad>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub anlnbkbijdj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub bfckanafdpk: ::core::option::Option<Mgopgnoefng>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub obieeolcaci: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljelalljiad {
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub gonohjjaino: u32,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub hjihbeilppd: ::core::option::Option<Dknhmaimfol>,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "1")]
    pub iknadohocan: ::std::collections::HashMap<u32, Dknhmaimfol>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub iibnphpiogd: ::prost::alloc::vec::Vec<Jhighhkniaa>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub dcdkcbnlche: ::core::option::Option<Dknhmaimfol>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgopgnoefng {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub exp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub bapdjdlcpdd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub bfjlhjpkama: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dknhmaimfol {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub nddiaphgdjh: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "6")]
    pub emhiegnlpnn: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub jgpmlpakcnf: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub khpfpbgmdil: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OKDEDGFOKEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6000)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateQueryCsReq {}
/// Obf: OEPLPDAHJGE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5999)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateQueryScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ilbklcniing: ::core::option::Option<Ahglamgkegp>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub rogue_get_info: ::core::option::Option<Ggmhmkidoeh>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MMDJHIHCAFB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5974)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateStartCsReq {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub difficulty_level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<FeverTimeAvatar>,
}
/// Obf: DPEKLBPKEFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5957)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateStartScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ilbklcniing: ::core::option::Option<Ahglamgkegp>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BIIGNDEODKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5989)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateBattleStartCsReq {}
/// Obf: HIDHBFJDLFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateBattleStartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: ALEPJIONJME
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5997)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateChangeLineupCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<FeverTimeAvatar>,
}
/// Obf: CMFCLEKFKLI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5985)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateChangeLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KFNIFLAJHPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5958)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopBuyGoodsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub jlfokphpblc: u32,
}
/// Obf: DMKOODHECOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5956)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopBuyGoodsScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub jlfokphpblc: u32,
}
/// Obf: FHLPFIFIDCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5993)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopSellBuffCsReq {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub dlbehbgbbip: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub obicbfocdek: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub oipdnphpcml: u32,
}
/// Obf: MCNKIALBEHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5953)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopSellBuffScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub oipdnphpcml: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub obicbfocdek: u32,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub dlbehbgbbip: bool,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: OPPAKABKHDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5981)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopRefreshGoodsCsReq {}
/// Obf: EJELDGJBDOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5979)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateShopRefreshGoodsScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub shop_goods_list: ::prost::alloc::vec::Vec<Phpaldegkjf>,
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub gpjofifngbg: bool,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: EJGONFOGCOF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5972)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopLockGoodsCsReq {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub is_locked: bool,
}
/// Obf: GJFHHLFODKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5969)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopLockGoodsScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub is_locked: bool,
}
/// Obf: GGNPKBKLKPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5951)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopLeaveCsReq {}
/// Obf: JLGMODHBKDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5970)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateShopLeaveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hocekpeecob {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub dleclfekkcl: ::prost::alloc::vec::Vec<Efcdkonlahj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmebjiebdho {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub source: ::core::option::Option<Hjenihhafdi>,
    /// offset: 32
    #[prost(map = "uint32, double", tag = "8")]
    pub kmamklocofg: ::std::collections::HashMap<u32, f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dokdofokhgb {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub lnldjpdckfh: ::prost::alloc::vec::Vec<Gmebjiebdho>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5987)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cicmhgaomop {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5978)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikcjolplecf {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ddmdclbhebm {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub elbnfmhgdnc: bool,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhighhkniaa {
    /// offset: 56
    #[prost(map = "uint32, uint32", tag = "1366")]
    pub lilahlhgpdh: ::std::collections::HashMap<u32, u32>,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub laheicnplfa: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ddmdclbhebm>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub bnbcebpobop: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub hnmfmgcapno: u32,
    /// offset: 96
    #[prost(uint32, tag = "14")]
    pub cpcneimjdia: u32,
    /// offset: 84
    #[prost(uint32, tag = "11")]
    pub alpaicmbmoe: u32,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub difficulty_level: u32,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub dpdoldbdpfn: u32,
    /// offset: 92
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "6")]
    pub ddpnlebnjja: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "1")]
    pub pjmjkepgbln: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "9")]
    pub kojeiaanagn: ::std::collections::HashMap<u32, u32>,
}
/// Obf: DHFGONMMPIG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5952)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSettleScNotify {
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub pjojlkkkeoi: ::core::option::Option<Jhighhkniaa>,
}
/// Obf: FMENMPMNHBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5996)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FateTakeExpRewardCsReq {}
/// Obf: LBAKKEBLLMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5995)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateTakeExpRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub hennifjpdcl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "11")]
    pub dfhcefklenk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ifkhdimbngn {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bkpdigabmac: u32,
    /// offset: 28
    #[prost(enumeration = "FeverTimeBattleRank", tag = "14")]
    pub cbpdbaeobnc: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mbklcgkeika: u32,
}
/// Obf: AJPKKIDHHLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7155)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataCsReq {}
/// Obf: ILBPLAHKDBK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7159)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub oiogccdocog: ::prost::alloc::vec::Vec<Ifkhdimbngn>,
}
/// Obf: JEOLDHBLKIL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7154)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeverTimeActivityBattleEndScNotify {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub turn_left: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub id: u32,
    /// offset: 36
    #[prost(enumeration = "FeverTimeBattleRank", tag = "15")]
    pub ifpmgonimhn: i32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub kbkbpckeegj: u32,
}
/// Obf: MPGAAOECBMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7160)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub mlpkpmkidag: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<FeverTimeAvatar>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ehnkhmdjack: u32,
}
/// Obf: GAAIMEFDKII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7158)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightEnterCsReq {
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub platform: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    /// offset: 56
    #[prost(uint64, tag = "11")]
    pub ehppffcifnm: u64,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub account_ip: u32,
    /// offset: 24
    #[prost(string, tag = "8")]
    pub onmbadceelc: ::prost::alloc::string::String,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub client_res_version: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub account_ip_port: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ndkheebmlld: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30028)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightEnterScRsp {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub secret_key_seed: u64,
    /// offset: 40
    #[prost(uint64, tag = "4")]
    pub server_timestamp_ms: u64,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub dmnilmhejeh: bool,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ndkheebmlld: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightLeaveScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub onilchdopeb: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30075)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightKickOutScNotify {
    /// offset: 24
    #[prost(enumeration = "Ahnofnbcabg", tag = "9")]
    pub kick_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightHeartBeatCsReq {
    /// offset: 24
    #[prost(uint64, tag = "10")]
    pub client_time_ms: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30062)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightHeartBeatScRsp {
    /// offset: 40
    #[prost(uint64, tag = "9")]
    pub client_time_ms: u64,
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub server_time_ms: u64,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30047)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jpihmhnijgg {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub gocanflcaoj: ::core::option::Option<Famnpacaoip>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jokknficicj {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub keilmfgeaom: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "1")]
    pub klfpbgdmhln: ::prost::alloc::vec::Vec<u8>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbfmjjkmoml {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub keilmfgeaom: u32,
    /// offset: 24
    #[prost(bytes = "vec", tag = "10")]
    pub klfpbgdmhln: ::prost::alloc::vec::Vec<u8>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gplkjalhghi {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub keilmfgeaom: u32,
    /// offset: 24
    #[prost(bytes = "vec", tag = "2")]
    pub klfpbgdmhln: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehmfclhmmcj {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub lceocfacjeo: ::core::option::Option<Gplkjalhghi>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub fdhmdjhihba: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejjmenoipkm {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ggideighfna: u32,
    /// offset: 24
    #[prost(bytes = "vec", tag = "1")]
    pub picgemahioe: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imbkcdaaglm {
    /// offset: 56
    #[prost(bytes = "vec", tag = "1")]
    pub jablcmbailo: ::prost::alloc::vec::Vec<u8>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub gedmmfffnhb: ::prost::alloc::vec::Vec<Ejjmenoipkm>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub nciciiooocp: ::prost::alloc::vec::Vec<Gplkjalhghi>,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub ggideighfna: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub lapjhboajkb: ::prost::alloc::vec::Vec<Ehmfclhmmcj>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "14")]
    pub fdhmdjhihba: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bytes = "vec", tag = "2")]
    pub picgemahioe: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcjojpddind {
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ejkaonjfgga: ::core::option::Option<Gdoclbelini>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdalojbmflj {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub anlemepjilc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub monmfnenfhm: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub hjcdijjepik: u32,
}
/// Obf: MONIHMPKINK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3657)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataCsReq {}
/// Obf: CPGMOGPHJGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "5")]
    pub kgkjbkmfkgf: ::std::collections::HashMap<u32, u32>,
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub jhanacfhcan: bool,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub lmmfkfccmdh: ::prost::alloc::vec::Vec<Fdalojbmflj>,
}
/// Obf: LCFGLHNPDOG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3655)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityDataChangeScNotify {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "15")]
    pub kgkjbkmfkgf: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub lmmfkfccmdh: ::prost::alloc::vec::Vec<Fdalojbmflj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jhapcagdhdo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
}
/// Obf: ABIDHCICPGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3675)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub jbkpkdkllip: ::prost::alloc::vec::Vec<Jhapcagdhdo>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub ohahiifjjmi: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KDAPAJBKFHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3638)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ohahiifjjmi: u32,
}
/// Obf: CDODOCACNEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3662)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ohahiifjjmi: u32,
}
/// Obf: JPGDIBHMPHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3647)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub ohahiifjjmi: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emfifmdbnfm {
    /// offset: 48
    #[prost(enumeration = "Pdcegfopnpj", tag = "14")]
    pub bghbdhickoi: i32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub cjddoiaoagg: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub kbdaolmjhlh: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub afalbedocjh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub pnnfnflmfjb: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub kddafpicmal: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub eadjkfchkjb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdglbpfmijk {
    /// offset: 24
    #[prost(float, tag = "14")]
    pub x: f32,
    /// offset: 40
    #[prost(uint64, tag = "6")]
    pub gbmckpfocea: u64,
    /// offset: 36
    #[prost(float, tag = "12")]
    pub z: f32,
    /// offset: 28
    #[prost(float, tag = "13")]
    pub y: f32,
    /// offset: 32
    #[prost(float, tag = "10")]
    pub cffiebemikk: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fibhknbkmed {
    /// offset: 64
    #[prost(int32, tag = "11")]
    pub apcodccnbac: i32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub bmpgmppjena: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub runtime_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub akkgdehofgk: ::core::option::Option<Mdglbpfmijk>,
    /// offset: 48
    #[prost(int32, tag = "5")]
    pub bafdhpphakp: i32,
    /// offset: 40
    #[prost(int32, tag = "13")]
    pub nnpjgjgkkdl: i32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub gakdmjejlml: ::core::option::Option<Mdglbpfmijk>,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub gjmhbnjmame: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hccbdkdjogd {
    /// offset: 32
    #[prost(int32, tag = "13")]
    pub unique_id: i32,
    /// offset: 36
    #[prost(int32, tag = "2")]
    pub gcomoaaoiod: i32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub bmockohinlc: ::core::option::Option<Aiofdcadfdd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Faaaihahbhm {
    /// offset: 40
    #[prost(int32, tag = "8")]
    pub unique_id: i32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub pmnpaffpdee: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub bmockohinlc: ::core::option::Option<Aiofdcadfdd>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub mpdegpamiei: ::prost::alloc::vec::Vec<Gkgooekjpio>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egaokgmgbki {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub acknepohlcc: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mhnddgobcha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iifbafhmill {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<Egaokgmgbki>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub ofjiophlbki: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub jolndlackeb: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub lkbjclbfkan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbobbhfbpbg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub aoeonihnipi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub cebeioeamom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jioiamdfnlc {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "12")]
    pub hfcpnnjpjip: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "15")]
    pub hkeaikoddag: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub jlgioljkpam: u32,
    /// offset: 84
    #[prost(uint32, tag = "11")]
    pub section_id: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "4")]
    pub lkdmgcejhha: ::prost::alloc::vec::Vec<Mbobbhfbpbg>,
    /// offset: 72
    #[prost(uint64, tag = "14")]
    pub edlhbbonnno: u64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub jglooldjfgg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub nfgbgnefcgh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "10")]
    pub mloiifgcnie: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "6")]
    pub nakomoffmgp: ::prost::alloc::vec::Vec<Iifbafhmill>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gplmpgjaffh {
    /// offset: 80
    #[prost(message, repeated, tag = "9")]
    pub lnlppliinnc: ::prost::alloc::vec::Vec<Npcibkkobfk>,
    /// offset: 96
    #[prost(message, repeated, tag = "3")]
    pub cflmgcmlejd: ::prost::alloc::vec::Vec<Fibhknbkmed>,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub klgankbnbho: ::prost::alloc::vec::Vec<Jioiamdfnlc>,
    /// offset: 112
    #[prost(uint64, tag = "12")]
    pub oaimiigoiak: u64,
    /// offset: 72
    #[prost(message, optional, tag = "7")]
    pub ocdbopembmg: ::core::option::Option<Faaaihahbhm>,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub komphhfjncl: ::prost::alloc::vec::Vec<Hccbdkdjogd>,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub bkoibmgnipe: ::core::option::Option<Didndphifkk>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub gmefiilpcee: ::core::option::Option<Banmnfibhga>,
    /// offset: 108
    #[prost(bool, tag = "15")]
    pub omfdcebehlh: bool,
    /// offset: 88
    #[prost(message, repeated, tag = "14")]
    pub iobmmgbpfji: ::prost::alloc::vec::Vec<Faaaihahbhm>,
    /// offset: 104
    #[prost(uint32, tag = "6")]
    pub mglnnegmbcj: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub pbpkpeijeio: ::prost::alloc::vec::Vec<Ifegehgdlbe>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub clnhkebhhnp: ::prost::alloc::vec::Vec<Faaaihahbhm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlkijmioajd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub region_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dalmbfjohnk {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub nafdnnbnngp: ::prost::alloc::vec::Vec<Fibhknbkmed>,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub jhdhenfhkoi: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub fdhmdjhihba: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub blbjikmedbp: ::prost::alloc::vec::Vec<Dlkijmioajd>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub bbpelbhcfmd: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub gabagcngikh: ::prost::alloc::vec::Vec<Dohbnbfafed>,
    /// offset: 60
    #[prost(bool, tag = "10")]
    pub kimdcafmjeo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oghihgdfmgj {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub idohkahihpk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub gbpnoaeijin: ::core::option::Option<Gplmpgjaffh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onbbonjbiho {
    /// offset: 48
    #[prost(message, repeated, tag = "15")]
    pub cflmgcmlejd: ::prost::alloc::vec::Vec<Fibhknbkmed>,
    /// offset: 56
    #[prost(message, repeated, tag = "13")]
    pub befeloljcdj: ::prost::alloc::vec::Vec<Faaaihahbhm>,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub aohflgpcnkn: ::prost::alloc::vec::Vec<Faaaihahbhm>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub komphhfjncl: ::prost::alloc::vec::Vec<Hccbdkdjogd>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub iebeaciikpj: ::core::option::Option<Faaaihahbhm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjnplalliai {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub idohkahihpk: u32,
    /// offset: 32
    #[prost(uint64, tag = "14")]
    pub oaimiigoiak: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub klgankbnbho: ::prost::alloc::vec::Vec<Jioiamdfnlc>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub mglnnegmbcj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iabimcofofi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub iadaogbfgch: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub jhedlcmbdbk: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub lkbjclbfkan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Paikhplfgjc {
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub score_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub bhckkgajack: ::prost::alloc::vec::Vec<Iabimcofofi>,
    /// offset: 40
    #[prost(int32, tag = "4")]
    pub eeolpnfaknf: i32,
    /// offset: 36
    #[prost(int32, tag = "12")]
    pub cbkfcghmlbn: i32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ojlcgnceffm: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub aecnbkanhpa: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opikhdhdgjd {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub lkdmgcejhha: ::prost::alloc::vec::Vec<Mbobbhfbpbg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aiofdcadfdd {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub gkfadfjidjn: u32,
    /// offset: 28
    #[prost(int32, tag = "12")]
    pub dpmfjkpgefa: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub oeegeoamagj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cpdkbinohbk {
    /// offset: 32
    #[prost(int32, tag = "9")]
    pub x: i32,
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub y: i32,
    /// offset: 28
    #[prost(int32, tag = "4")]
    pub z: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dohbnbfafed {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lfncchinhge: u32,
    /// offset: 36
    #[prost(int32, tag = "15")]
    pub unique_id: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub pos: ::core::option::Option<Aiofdcadfdd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pceionklafm {
    /// offset: 48
    #[prost(enumeration = "Hnadojbjcnd", tag = "14")]
    pub ffifjajjckm: i32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub onooleomole: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub ncideekadjm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub hnmjaeojmna: ::core::option::Option<Cpdkbinohbk>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pmnpaffpdee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhdkbpnofho {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub ahckpbpefph: ::prost::alloc::vec::Vec<Dohbnbfafed>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ifegehgdlbe {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lkaenaooafp: ::core::option::Option<Aiofdcadfdd>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anmdghoiaie {
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub gcdignaapcb: bool,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub gjiblkgmgmd: ::core::option::Option<Ifegehgdlbe>,
    #[prost(oneof = "anmdghoiaie::Ilkdchplbgm", tags = "4, 12")]
    pub ilkdchplbgm: ::core::option::Option<anmdghoiaie::Ilkdchplbgm>,
}
/// Nested message and enum types in `ANMDGHOIAIE`.
pub mod anmdghoiaie {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Ilkdchplbgm {
        /// offset: 16
        #[prost(uint32, tag = "4")]
        Bbhibajgnck(u32),
        /// offset: 16
        #[prost(bool, tag = "12")]
        Bgaednmfgoe(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfdhhkfoifm {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub fkkeaicimde: ::prost::alloc::vec::Vec<Anmdghoiaie>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eoeofbhckmp {
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub pclhofkgmlb: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub edcagdocbhc: u32,
    #[prost(oneof = "eoeofbhckmp::Dlnlkchenph", tags = "2, 1")]
    pub dlnlkchenph: ::core::option::Option<eoeofbhckmp::Dlnlkchenph>,
}
/// Nested message and enum types in `EOEOFBHCKMP`.
pub mod eoeofbhckmp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Dlnlkchenph {
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Cmddmndbkkn(u32),
        /// offset: 24
        #[prost(message, tag = "1")]
        Ehedlcagdao(super::Ifegehgdlbe),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Banmnfibhga {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub becagjobiad: ::prost::alloc::vec::Vec<Eoeofbhckmp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Didndphifkk {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub banmkmogffo: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub cndkfjoomce: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Knffhkpeaif {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cbgigggabmf: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub hgjabebbkhc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ghjecjkbbcf {
    #[prost(oneof = "ghjecjkbbcf::Bnbhmibfdge", tags = "14")]
    pub bnbhmibfdge: ::core::option::Option<ghjecjkbbcf::Bnbhmibfdge>,
}
/// Nested message and enum types in `GHJECJKBBCF`.
pub mod ghjecjkbbcf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bnbhmibfdge {
        /// offset: 24
        #[prost(message, tag = "14")]
        Afhidppickc(super::Knffhkpeaif),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npcibkkobfk {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub gjbkcbllgha: u32,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub gcdignaapcb: bool,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub pjcbkmegheg: ::core::option::Option<Ghjecjkbbcf>,
    /// offset: 40
    #[prost(int32, tag = "14")]
    pub unique_id: i32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub pos: ::core::option::Option<Mdglbpfmijk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mafnlmgdkhf {
    #[prost(oneof = "mafnlmgdkhf::Lcbhcehapon", tags = "8, 15")]
    pub lcbhcehapon: ::core::option::Option<mafnlmgdkhf::Lcbhcehapon>,
}
/// Nested message and enum types in `MAFNLMGDKHF`.
pub mod mafnlmgdkhf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Lcbhcehapon {
        /// offset: 16
        #[prost(uint32, tag = "8")]
        Gpmhcgbaoal(u32),
        /// offset: 16
        #[prost(uint32, tag = "15")]
        SourceUid(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hohgjeebjje {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub gljhjidimai: ::core::option::Option<Mafnlmgdkhf>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub cjddoiaoagg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phlpbknhpkk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub amjcjjdafhd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Holfdankbfa {
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub gbmckpfocea: u64,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub mejjijadahp: u32,
    #[prost(
        oneof = "holfdankbfa::Phfkmpidbac",
        tags = "1151, 2038, 123, 313, 578, 1747, 434, 172, 592, 593, 2019, 1449, 470, 957"
    )]
    pub phfkmpidbac: ::core::option::Option<holfdankbfa::Phfkmpidbac>,
}
/// Nested message and enum types in `HOLFDANKBFA`.
pub mod holfdankbfa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phfkmpidbac {
        /// offset: 24
        #[prost(message, tag = "1151")]
        Gbpnoaeijin(super::Oghihgdfmgj),
        /// offset: 24
        #[prost(message, tag = "2038")]
        Lhfljcfffmm(super::Onbbonjbiho),
        /// offset: 24
        #[prost(message, tag = "123")]
        Flaflcjhbod(super::Jjnplalliai),
        /// offset: 24
        #[prost(message, tag = "313")]
        Dlbmfibaknj(super::Paikhplfgjc),
        /// offset: 24
        #[prost(message, tag = "578")]
        Fgbngghdmlb(super::Opikhdhdgjd),
        /// offset: 24
        #[prost(message, tag = "1747")]
        Mglebnbocho(super::Pceionklafm),
        /// offset: 24
        #[prost(message, tag = "434")]
        Ppnndkdedom(super::Mhdkbpnofho),
        /// offset: 24
        #[prost(message, tag = "172")]
        Nehjncjfkni(super::Jfdhhkfoifm),
        /// offset: 24
        #[prost(message, tag = "592")]
        Kclflaflbom(super::Banmnfibhga),
        /// offset: 24
        #[prost(message, tag = "593")]
        Bkoibmgnipe(super::Didndphifkk),
        /// offset: 24
        #[prost(message, tag = "2019")]
        Jpaonpingap(super::Npcibkkobfk),
        /// offset: 24
        #[prost(message, tag = "1449")]
        Gljhjidimai(super::Hohgjeebjje),
        /// offset: 24
        #[prost(message, tag = "470")]
        Npoejoahblm(super::Fibhknbkmed),
        /// offset: 24
        #[prost(message, tag = "957")]
        Ijbaicdalja(super::Phlpbknhpkk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adnbcijdbdp {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub lmnalgicicp: ::prost::alloc::vec::Vec<Holfdankbfa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dilglkhbcdj {
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub gbpnoaeijin: ::core::option::Option<Gplmpgjaffh>,
    /// offset: 56
    #[prost(uint64, tag = "3")]
    pub gbmckpfocea: u64,
    /// offset: 48
    #[prost(uint64, tag = "10")]
    pub bffehcnpcfg: u64,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub kecjnbjnhji: ::core::option::Option<Dalmbfjohnk>,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub dlbmfibaknj: ::core::option::Option<Paikhplfgjc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mhncnmiakkl {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub acknepohlcc: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub lkbjclbfkan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejnimojfikc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub acknepohlcc: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lkbjclbfkan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bcalpolkjge {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cebeioeamom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bgdbmddlajl {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub cebeioeamom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pblhagnoamo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ghoicgnanbg {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbbfiaepcbi {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub hnmjaeojmna: ::core::option::Option<Cpdkbinohbk>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub onooleomole: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnnhcfmlpch {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ckdnijkpice {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub gljhjidimai: ::core::option::Option<Mafnlmgdkhf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fcpmbcofeic {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hgekgdnkmcj {
    /// offset: 44
    #[prost(enumeration = "Pdcegfopnpj", tag = "2")]
    pub bghbdhickoi: i32,
    /// offset: 41
    #[prost(bool, tag = "3")]
    pub malmidombcd: bool,
    /// offset: 32
    #[prost(uint64, tag = "4")]
    pub cjddoiaoagg: u64,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub kbkkbkkefhf: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub damage: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ekoiadecppo {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub iodibcbpfcn: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub challenge_id: u32,
    /// offset: 36
    #[prost(enumeration = "Hhekachhnca", tag = "10")]
    pub cbpdbaeobnc: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub mbklcgkeika: u32,
}
/// Obf: FONMOADPALM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7300)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFightFestDataCsReq {}
/// Obf: MLMHEOOHHOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7299)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightFestDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub agkkagdflme: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub challenge_list: ::prost::alloc::vec::Vec<Ekoiadecppo>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ccpiejhnkcm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
}
/// Obf: BAGIPAGFCJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7274)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestCsReq {
    /// offset: 44
    #[prost(enumeration = "FightFestType", tag = "10")]
    pub r#type: i32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub agkkagdflme: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ccpiejhnkcm>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub id: u32,
}
/// Obf: OAKGBMLPMOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7257)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestScRsp {
    /// offset: 40
    #[prost(enumeration = "FightFestType", tag = "11")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: GKBKOKKDCCI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7289)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestScoreUpdateNotify {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ggjnfkchbco: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
}
/// Obf: LMOKAJJHALL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7283)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUnlockSkillNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub llkfgmpikof: u32,
}
/// Obf: EMCLNAJAPPN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7297)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUpdateChallengeRecordNotify {
    /// offset: 40
    #[prost(enumeration = "Hhekachhnca", tag = "4")]
    pub rank: i32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub turn_left: u32,
    /// offset: 24
    #[prost(enumeration = "Hhekachhnca", tag = "2")]
    pub oklnbfapoeg: i32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub mbklcgkeika: u32,
}
/// Obf: DKCMNMGLCOF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7285)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightFestUpdateCoinNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eoocdmcfknj {
    /// offset: 36
    #[prost(int32, tag = "1")]
    pub lnobeglodge: i32,
    /// offset: 32
    #[prost(enumeration = "Pdcegfopnpj", tag = "11")]
    pub bghbdhickoi: i32,
    /// offset: 24
    #[prost(uint64, tag = "7")]
    pub cjddoiaoagg: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpgngedpdab {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub kkbnnajcnhc: ::prost::alloc::vec::Vec<Eoocdmcfknj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cgogflndcep {
    /// offset: 28
    #[prost(float, tag = "14")]
    pub y: f32,
    /// offset: 24
    #[prost(float, tag = "5")]
    pub x: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Alnjohjpkdk {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub bclgbacfjbj: ::core::option::Option<Cgogflndcep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaogeldaiil {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mejjijadahp: u32,
    #[prost(oneof = "kaogeldaiil::Phfkmpidbac", tags = "1939, 1510, 261, 539, 1822")]
    pub phfkmpidbac: ::core::option::Option<kaogeldaiil::Phfkmpidbac>,
}
/// Nested message and enum types in `KAOGELDAIIL`.
pub mod kaogeldaiil {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Phfkmpidbac {
        /// offset: 16
        #[prost(message, tag = "1939")]
        Aalmiadelld(super::Jdppcaocnhh),
        /// offset: 16
        #[prost(message, tag = "1510")]
        Gmhmlgdccaa(super::Nkigaeckjci),
        /// offset: 16
        #[prost(message, tag = "261")]
        FinishInfo(super::Klafkbhbnhb),
        /// offset: 16
        #[prost(message, tag = "539")]
        Gbpnoaeijin(super::Gdgpbbaodah),
        /// offset: 16
        #[prost(message, tag = "1822")]
        Bfjhjcfbbhg(super::Mmpofndadil),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojajhokgcdc {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub paommihdgjp: ::prost::alloc::vec::Vec<Kaogeldaiil>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdppcaocnhh {
    /// offset: 68
    #[prost(enumeration = "Mjnmmhkikpg", tag = "8")]
    pub edjfdmcdkeh: i32,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub iaicmkdineh: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub onnmbedhbnn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub pkaadcnkghf: u32,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub oacgfdhnjlk: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub dappcdkfihl: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
    /// offset: 57
    #[prost(bool, tag = "10")]
    pub affhemojfaa: bool,
    /// offset: 40
    #[prost(uint32, repeated, tag = "14")]
    pub ciajknbnkbj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub mmokcgnacli: u32,
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub mdbehpacpid: u32,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub eoonhmcmmdm: u32,
    /// offset: 92
    #[prost(uint32, tag = "4")]
    pub jmdibpfbnhn: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "83")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 76
    #[prost(enumeration = "Mjnmmhkikpg", tag = "13")]
    pub ppnfmbimbgb: i32,
    /// offset: 56
    #[prost(bool, tag = "2")]
    pub kimdcafmjeo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iidjfhmkkfh {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub ackapggllec: i32,
    /// offset: 36
    #[prost(int32, tag = "4")]
    pub total_damage: i32,
    /// offset: 40
    #[prost(int32, tag = "8")]
    pub pncanechimi: i32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub jhedlcmbdbk: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klafkbhbnhb {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub edkkkjekilc: ::prost::alloc::vec::Vec<Iidjfhmkkfh>,
    /// offset: 45
    #[prost(bool, tag = "4")]
    pub dkgihbeglcj: bool,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub mhnddgobcha: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub igkiiclhpll: u32,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub is_win: bool,
    /// offset: 36
    #[prost(int32, tag = "5")]
    pub pnnfnflmfjb: i32,
    /// offset: 48
    #[prost(enumeration = "Mddpcpianil", tag = "11")]
    pub gkndippidjn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jccdapicglb {
    /// offset: 68
    #[prost(float, tag = "245")]
    pub aieidjbekcg: f32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub fncbjddcied: ::core::option::Option<Cgogflndcep>,
    /// offset: 148
    #[prost(int32, tag = "5")]
    pub attack: i32,
    /// offset: 80
    #[prost(enumeration = "Obkldjbdhil", tag = "3")]
    pub ebomfnfbalc: i32,
    /// offset: 92
    #[prost(enumeration = "Bdenoikddlj", tag = "11")]
    pub bgngfnnoonc: i32,
    /// offset: 76
    #[prost(float, tag = "1")]
    pub time: f32,
    /// offset: 120
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 98
    #[prost(bool, tag = "403")]
    pub fiohljkkfgp: bool,
    /// offset: 100
    #[prost(uint32, tag = "13")]
    pub ajagbinehgd: u32,
    /// offset: 136
    #[prost(int32, tag = "15")]
    pub hp: i32,
    /// offset: 88
    #[prost(enumeration = "FightMarbleHpChangeType", tag = "702")]
    pub edgpdjdebeo: i32,
    /// offset: 152
    #[prost(uint32, tag = "14")]
    pub skill_id: u32,
    /// offset: 144
    #[prost(uint32, tag = "1854")]
    pub text_id: u32,
    /// offset: 116
    #[prost(uint32, tag = "1301")]
    pub lolbfgmlapj: u32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub killcppoamf: ::core::option::Option<Cgogflndcep>,
    /// offset: 156
    #[prost(int32, tag = "24")]
    pub hbkjejokgha: i32,
    /// offset: 140
    #[prost(uint32, tag = "973")]
    pub level: u32,
    /// offset: 108
    #[prost(uint32, tag = "496")]
    pub iahdnajkmlb: u32,
    /// offset: 84
    #[prost(float, tag = "806")]
    pub mkkppdkdigk: f32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub hmmiajbjnjp: ::core::option::Option<Cgogflndcep>,
    /// offset: 128
    #[prost(uint32, tag = "51")]
    pub mdbehpacpid: u32,
    /// offset: 112
    #[prost(int32, tag = "7")]
    pub max_hp: i32,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub mdpkmojhmml: ::core::option::Option<Cgogflndcep>,
    /// offset: 97
    #[prost(bool, tag = "1785")]
    pub bdihacahbbj: bool,
    /// offset: 124
    #[prost(uint32, tag = "1443")]
    pub oacgfdhnjlk: u32,
    /// offset: 64
    #[prost(uint32, tag = "631")]
    pub fdbhpcnnlan: u32,
    /// offset: 104
    #[prost(uint32, tag = "437")]
    pub buff_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "362")]
    pub jjabjgmdnpf: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub ikojmghboif: ::core::option::Option<Cgogflndcep>,
    /// offset: 132
    #[prost(uint32, tag = "8")]
    pub aeojhkehgne: u32,
    /// offset: 96
    #[prost(bool, tag = "1068")]
    pub kcmddioeoki: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkigaeckjci {
    /// offset: 84
    #[prost(bool, tag = "3")]
    pub mmcafealcdi: bool,
    /// offset: 108
    #[prost(uint32, tag = "1530")]
    pub mnfhhkleboh: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub mjhhocgkaff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "1491")]
    pub ohmgppoaimk: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "1365")]
    pub lkklalhngla: ::prost::alloc::vec::Vec<Jccdapicglb>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub jgdfleaoidm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 100
    #[prost(uint32, tag = "6")]
    pub dbmblijhnog: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub iidehbinpid: ::prost::alloc::vec::Vec<Jccdapicglb>,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub source_uid: u32,
    /// offset: 104
    #[prost(uint32, tag = "11")]
    pub queue_position: u32,
    /// offset: 112
    #[prost(uint32, tag = "13")]
    pub fmjgpamcoei: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub kngplopckho: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(uint32, tag = "15")]
    pub cpamffobinf: u32,
    /// offset: 96
    #[prost(enumeration = "Denipndochl", tag = "10")]
    pub idinjndiake: i32,
    /// offset: 68
    #[prost(float, tag = "7")]
    pub kelkgniplcd: f32,
    /// offset: 86
    #[prost(bool, tag = "9")]
    pub membjmalbfh: bool,
    /// offset: 85
    #[prost(bool, tag = "59")]
    pub henkechlfcd: bool,
    /// offset: 80
    #[prost(uint32, tag = "999")]
    pub gcgbidjjhna: u32,
    /// offset: 88
    #[prost(uint32, tag = "12")]
    pub iahdnajkmlb: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub lpegbfbbolo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdgpbbaodah {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub khcfnbpndeh: ::prost::alloc::vec::Vec<Fdmbdfemnlg>,
    /// offset: 84
    #[prost(enumeration = "Kecgpfeiled", tag = "15")]
    pub phase: i32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub eoonhmcmmdm: ::core::option::Option<Phbknajjcdm>,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub dfcafkfalgj: u32,
    /// offset: 76
    #[prost(float, tag = "6")]
    pub phmlpjgofia: f32,
    /// offset: 64
    #[prost(message, repeated, tag = "8")]
    pub ojajhkoogjb: ::prost::alloc::vec::Vec<Fdmbdfemnlg>,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub aalmiadelld: ::core::option::Option<Jdppcaocnhh>,
    /// offset: 92
    #[prost(bool, tag = "4")]
    pub henkechlfcd: bool,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub cpamffobinf: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "14")]
    pub jgdfleaoidm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub dappcdkfihl: ::core::option::Option<Phbknajjcdm>,
    /// offset: 88
    #[prost(uint32, tag = "11")]
    pub mhnddgobcha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmpofndadil {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub bclgbacfjbj: ::core::option::Option<Cgogflndcep>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub mhnddgobcha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phbknajjcdm {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub fkndafmjilg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub iboligggfbm: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub jkiefglgelf: ::prost::alloc::vec::Vec<Fdmbdfemnlg>,
    /// offset: 56
    #[prost(bool, tag = "6")]
    pub fiohljkkfgp: bool,
    /// offset: 57
    #[prost(bool, tag = "15")]
    pub onpnokkolbk: bool,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub joabjiloekn: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub gdjjdghcjon: ::prost::alloc::vec::Vec<Epjhcpohmmh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fdmbdfemnlg {
    /// offset: 55
    #[prost(bool, tag = "2")]
    pub inonjejanjl: bool,
    /// offset: 68
    #[prost(int32, tag = "14")]
    pub attack: i32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub hmmiajbjnjp: ::core::option::Option<Cgogflndcep>,
    /// offset: 72
    #[prost(float, tag = "13")]
    pub mkkppdkdigk: f32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 54
    #[prost(bool, tag = "11")]
    pub membjmalbfh: bool,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub mdpkmojhmml: ::core::option::Option<Cgogflndcep>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
    /// offset: 64
    #[prost(int32, tag = "8")]
    pub max_hp: i32,
    /// offset: 53
    #[prost(bool, tag = "6")]
    pub bdihacahbbj: bool,
    /// offset: 48
    #[prost(int32, tag = "7")]
    pub hp: i32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub level: u32,
    /// offset: 52
    #[prost(bool, tag = "1")]
    pub kcmddioeoki: bool,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub jjabjgmdnpf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Epjhcpohmmh {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub iahdnajkmlb: u32,
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub ldijmfcofll: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgidkdcpplc {
    /// offset: 56
    #[prost(enumeration = "Dgbmekmlobc", tag = "4")]
    pub state: i32,
    /// offset: 44
    #[prost(bool, tag = "11")]
    pub ffcfejkjkeb: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub item_list: ::prost::alloc::vec::Vec<Plnnokmmmab>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub rank: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub jcmjfgfdmcb: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub cjddoiaoagg: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub kaobjbcgamg: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub hp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpdpfccdikn {
    /// offset: 48
    #[prost(uint64, tag = "8")]
    pub acgpklinlga: u64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub idlocpnlibj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub ofbcmckakkh: ::prost::alloc::vec::Vec<Lgidkdcpplc>,
    /// offset: 60
    #[prost(enumeration = "Dedimhkjnmj", tag = "12")]
    pub canancdncch: i32,
    /// offset: 56
    #[prost(int32, tag = "14")]
    pub lpiagoidhgj: i32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub gbpnoaeijin: ::core::option::Option<Jhnfaajmkpc>,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub mdbfpcffcbj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Okpopfmojke {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lmhfflhdjch: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gbpoibgolma: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhnfaajmkpc {
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub kfilengodbn: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub imbdhomnjic: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub item_list: ::prost::alloc::vec::Vec<Plnnokmmmab>,
    /// offset: 84
    #[prost(uint32, tag = "11")]
    pub energy_info: u32,
    /// offset: 72
    #[prost(enumeration = "Dgbmekmlobc", tag = "12")]
    pub gkndippidjn: i32,
    /// offset: 92
    #[prost(uint32, tag = "6")]
    pub ipgbajhimke: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<Dgkanihkgbk>,
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub nikcpfoiigj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub ehibpfdcaml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub op_list: ::prost::alloc::vec::Vec<Leimjphlekc>,
    /// offset: 96
    #[prost(uint32, tag = "14")]
    pub score_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub cur_hp: u32,
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub fhgfccgfmgg: u32,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub difmkklkedp: ::core::option::Option<Djigejalcmp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afjcchlafjp {
    /// offset: 32
    #[prost(enumeration = "Lpjdbpmbdfa", tag = "11")]
    pub oiffgkcmdnp: i32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub nnjldjafokf: ::core::option::Option<Jhnfaajmkpc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pdgjphgjjda {
    /// offset: 24
    #[prost(int32, tag = "7")]
    pub player_data: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imkbckdhfab {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub data: ::core::option::Option<Fpdpfccdikn>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30155)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amcbdgkagkk {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<Fpdpfccdikn>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhlljfehjmc {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub afonemhcfdl: ::core::option::Option<Fpdpfccdikn>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agmciceafhc {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub ahnofldcddi: ::core::option::Option<Fpdpfccdikn>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub ndhpfjlopmi: ::core::option::Option<Fpdpfccdikn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbmakfmhbje {
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub cur_index: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub kihkaidakfk: ::prost::alloc::vec::Vec<Afjcchlafjp>,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub miknmpbhali: ::core::option::Option<Okpopfmojke>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub hnmjaeojmna: ::core::option::Option<Okpopfmojke>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30147)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcjoojcbnjg {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub cur_index: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub pdhomdbdmcm: bool,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub blpceopbokk: ::core::option::Option<Jhnfaajmkpc>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30120)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjbmnoeheon {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub jcmjfgfdmcb: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub hp: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub mdbfpcffcbj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub item_list: ::prost::alloc::vec::Vec<Plnnokmmmab>,
    /// offset: 32
    #[prost(enumeration = "Dgbmekmlobc", tag = "11")]
    pub state: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npfaieifgac {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub imnmpgjinlp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Popgbikilae {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub imnmpgjinlp: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30137)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bbmabhlnhfl {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub imnmpgjinlp: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub hgnheididac: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30169)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miilkkkpekb {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub data: ::core::option::Option<Fpdpfccdikn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plnnokmmmab {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub ahigglnkbbj: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jlbnhfddopj: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub oiajjhbogpf: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub fnnccnnpael: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Leimjphlekc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub hncdanclgni: u32,
    /// offset: 28
    #[prost(enumeration = "Kogcbngfomf", tag = "12")]
    pub op_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgkanihkgbk {
    /// offset: 28
    #[prost(enumeration = "Ipgkkbajeim", tag = "6")]
    pub gjcmahcflhk: i32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlklnejemgl {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub item_list: ::prost::alloc::vec::Vec<Plnnokmmmab>,
    /// offset: 64
    #[prost(enumeration = "Dgbmekmlobc", tag = "10")]
    pub gkndippidjn: i32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub energy_info: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub kaobjbcgamg: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub cjddoiaoagg: u32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub imbdhomnjic: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub fhgfccgfmgg: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub difmkklkedp: ::core::option::Option<Djigejalcmp>,
    /// offset: 41
    #[prost(bool, tag = "15")]
    pub egndcdfepel: bool,
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub plljdapicnf: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcibifccfnb {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub oepngcckhea: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub ofbcmckakkh: ::prost::alloc::vec::Vec<Mlklnejemgl>,
    /// offset: 48
    #[prost(uint64, tag = "13")]
    pub acgpklinlga: u64,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub ibmdlnoldmm: u32,
    /// offset: 44
    #[prost(enumeration = "Gibkpkmonma", tag = "11")]
    pub canancdncch: i32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub gbpnoaeijin: ::core::option::Option<Jhnfaajmkpc>,
    /// offset: 60
    #[prost(int32, tag = "7")]
    pub lpiagoidhgj: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cklklgfeclo {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub kihkaidakfk: ::prost::alloc::vec::Vec<Afjcchlafjp>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub pfjomibgghm: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub gpoajinnjak: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub hbigafpkagk: ::prost::alloc::vec::Vec<Okpopfmojke>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30179)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mapmmejebpm {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub pfjomibgghm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub dioanemkfmg: ::core::option::Option<Jhnfaajmkpc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cjfbacjgili {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30183)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijjnlccckob {
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub data: ::core::option::Option<Pcibifccfnb>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Focllneobab {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cnnbighdham: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub dknfjlhceok: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub oepngcckhea: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30134)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Coljjdcagdo {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30193)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cklgkfdpobn {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Pcibifccfnb>,
    /// offset: 32
    #[prost(enumeration = "Hdmbcppdfml", tag = "6")]
    pub reason: i32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30189)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klachdlobnl {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub kjmlkpioaod: ::core::option::Option<Cbmakfmhbje>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub dioanemkfmg: ::core::option::Option<Jhnfaajmkpc>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30176)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cddboihmibp {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub dioanemkfmg: ::core::option::Option<Jhnfaajmkpc>,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub kjmlkpioaod: ::core::option::Option<Cklklgfeclo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oakbghocfim {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30180)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibhhogcgebi {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hcmjpngijbb {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub cjddoiaoagg: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub score_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 32
    #[prost(enumeration = "Dgbmekmlobc", tag = "5")]
    pub state: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pknohckipha {
    /// offset: 48
    #[prost(uint64, tag = "10")]
    pub acgpklinlga: u64,
    /// offset: 60
    #[prost(int32, tag = "13")]
    pub lpiagoidhgj: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub gbpnoaeijin: ::core::option::Option<Jhnfaajmkpc>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub ofbcmckakkh: ::prost::alloc::vec::Vec<Hcmjpngijbb>,
    /// offset: 56
    #[prost(enumeration = "Adaphabgple", tag = "7")]
    pub canancdncch: i32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub ibmdlnoldmm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jdgioiifeij {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30114)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcfdmdjncac {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub fpnlmicfkfi: ::core::option::Option<Pknohckipha>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30112)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eloocafchop {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub fpnlmicfkfi: ::core::option::Option<Pknohckipha>,
    /// offset: 32
    #[prost(enumeration = "Flipmobngen", tag = "15")]
    pub reason: i32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30150)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfpcpoefjhn {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub ofbcmckakkh: ::prost::alloc::vec::Vec<Hcmjpngijbb>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ibmdlnoldmm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjfbkfgjihn {}
/// Obf: BNDGIDIGOIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2260)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFiveDimGameDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub jkoppgkgmfo: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ddcnefchhfa: ::core::option::Option<Pdfkincinil>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kaclhaefnai {
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub ppfbbddjdee: ::core::option::Option<Ocahnnkfaoo>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub ilbklcniing: ::core::option::Option<Bkkdkkobgfb>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub fcmkeijccjk: ::core::option::Option<MotionInfo>,
}
/// Obf: FCBNGPJCDGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2261)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterFiveDimGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmibbnbodbn {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub fcmkeijccjk: ::core::option::Option<MotionInfo>,
}
/// Obf: GGBNMFHJEFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2272)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveFiveDimGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub client_pos_version: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfoflkbdkpp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cahcmienepj: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ppfbbddjdee: ::core::option::Option<Ocahnnkfaoo>,
}
/// Obf: KCPGGIIIGMK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2275)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateFiveDimGameDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Belhdailpjc {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ppfbbddjdee: ::core::option::Option<Ocahnnkfaoo>,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub ilbklcniing: ::core::option::Option<Bkkdkkobgfb>,
}
/// Obf: AEOOHLMAMPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2268)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FiveDimGameTransferScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NLAOLIKCMJF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2262)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FiveDimGameDataUpdateScNotify {
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub kiefkbhhijd: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub client_pos_version: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub ddcnefchhfa: ::core::option::Option<Pdfkincinil>,
}
/// Obf: CNIHOCNNIKL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2253)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FiveDimJumpEnergyChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jkoppgkgmfo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Loaopglhihj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub mpapcbhlkoh: u32,
}
/// Obf: BPOAFJFACOC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2273)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFiveDimMoneyScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub mpapcbhlkoh: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub bpahlciiphd: u32,
}
/// Obf: NEAJCPKKDMC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2274)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FiveDimMoneyChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub inlooligfpb: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub lcnpeefbije: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkfodfhjdge {}
/// Obf: DCBFDKLOEMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2267)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFiveDimMoneyDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lcnpeefbije: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub inlooligfpb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AssistSimpleInfo {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub dressed_skin_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dbjlliiihdf {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub innmebkccmb: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub maemjcjolid: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub bgpgneobckk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glllkdobljn {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fanpgiilipa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljoddhnogfi {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub fanpgiilipa: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub dofllkfeamj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub khphkfmgoaa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdonfecaobf {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub mdfllmgnkbo: ::core::option::Option<Ljoddhnogfi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecdahobdakb {
    #[prost(oneof = "ecdahobdakb::Aclhdhbfige", tags = "1, 6")]
    pub aclhdhbfige: ::core::option::Option<ecdahobdakb::Aclhdhbfige>,
}
/// Nested message and enum types in `ECDAHOBDAKB`.
pub mod ecdahobdakb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Aclhdhbfige {
        /// offset: 24
        #[prost(message, tag = "1")]
        Egkibamoofo(super::Glllkdobljn),
        /// offset: 24
        #[prost(message, tag = "6")]
        Kifpkncgoha(super::Gdonfecaobf),
    }
}
/// Obf: DJPJAHDIGNH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FriendGridFightRecord {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnnaenmmemb {
    /// offset: 48
    #[prost(enumeration = "BattleRecordType", tag = "15")]
    pub aipgefnpnll: i32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub odahffjlkla: ::core::option::Option<FriendGridFightRecord>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub lkgcklhphkp: ::core::option::Option<Dbjlliiihdf>,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub flnbenjopal: ::core::option::Option<Ecdahobdakb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSimpleInfo {
    /// offset: 92
    #[prost(enumeration = "FriendOnlineStatus", tag = "6")]
    pub online_status: i32,
    /// offset: 88
    #[prost(uint32, tag = "965")]
    pub gender: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub assist_simple_info_list: ::prost::alloc::vec::Vec<AssistSimpleInfo>,
    /// offset: 48
    #[prost(message, optional, tag = "1007")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 16
    #[prost(string, tag = "13")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 120
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 84
    #[prost(uint32, tag = "8")]
    pub head_icon: u32,
    /// offset: 96
    #[prost(uint32, tag = "12")]
    pub personal_card: u32,
    /// offset: 24
    #[prost(string, tag = "9")]
    pub platform_uuid: ::prost::alloc::string::String,
    /// offset: 112
    #[prost(int64, tag = "5")]
    pub last_active_time: i64,
    /// offset: 124
    #[prost(bool, tag = "11")]
    pub is_banned: bool,
    /// offset: 104
    #[prost(enumeration = "PlatformType", tag = "4")]
    pub platform: i32,
    /// offset: 72
    #[prost(string, tag = "1")]
    pub platform_nick: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(message, optional, tag = "2")]
    pub player_outfit_data: ::core::option::Option<Einfbmjpdah>,
    /// offset: 32
    #[prost(string, tag = "15")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 100
    #[prost(uint32, tag = "14")]
    pub chat_bubble_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: FNMMBHNDOKJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisplayEquipmentInfo {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub rank: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub promotion: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub tid: u32,
}
/// Obf: JEOOOPHAPCI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayRelicInfo {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub r#type: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub tid: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub main_affix_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarDetailInfo {
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub enhanced_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub exp: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub pos: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub dressed_skin_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub promotion: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub equipment: ::core::option::Option<DisplayEquipmentInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub relic_list: ::prost::alloc::vec::Vec<DisplayRelicInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerCollectionInfo {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub lnihjlagcik: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub dgghnmeghal: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub ekmgbchdifl: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pjdmgdheepm: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub bioekfooaoc: u32,
}
/// Obf: EPEHFJLCGHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerRecordInfo {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub bfhandbgaka: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub colpfjaekpk: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub npbalagigkj: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub okkheeknloa: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub collection_info: ::core::option::Option<PlayerCollectionInfo>,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub phjijjjgioi: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub epapbcodgil: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub ilnfafpmian: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub cgplkkhjofj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrivacySettings {
    /// offset: 25
    #[prost(bool, tag = "14")]
    pub pkcionmhpca: bool,
    /// offset: 27
    #[prost(bool, tag = "7")]
    pub ichibkcaonn: bool,
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub aplfohpelbf: bool,
    /// offset: 26
    #[prost(bool, tag = "1")]
    pub bmdmffbohog: bool,
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub lfmdlegkiop: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDisplaySettings {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub challenge_list: ::prost::alloc::vec::Vec<Dbjlliiihdf>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub flnbenjopal: ::core::option::Option<Ecdahobdakb>,
}
/// Obf: NLCPANMKCIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDetailInfo {
    /// offset: 117
    #[prost(bool, tag = "4")]
    pub nlmanmdkhdn: bool,
    /// offset: 112
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 104
    #[prost(string, tag = "13")]
    pub chmlhandgbf: ::prost::alloc::string::String,
    /// offset: 136
    #[prost(uint32, tag = "14")]
    pub head_icon: u32,
    /// offset: 140
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 132
    #[prost(uint32, tag = "642")]
    pub laabjddgfea: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "653")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 80
    #[prost(message, optional, tag = "1395")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 48
    #[prost(string, tag = "5")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "12")]
    pub hbkbkngeeig: ::prost::alloc::string::String,
    /// offset: 128
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    /// offset: 124
    #[prost(uint32, tag = "2")]
    pub cbloeibcmod: u32,
    /// offset: 88
    #[prost(message, optional, tag = "1056")]
    pub hklnbkdnlof: ::core::option::Option<PlayerDisplaySettings>,
    /// offset: 144
    #[prost(enumeration = "PlatformType", tag = "10")]
    pub platform: i32,
    /// offset: 96
    #[prost(message, optional, tag = "1834")]
    pub fhgjnbdjpdn: ::core::option::Option<Einfbmjpdah>,
    /// offset: 116
    #[prost(bool, tag = "9")]
    pub is_banned: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub assist_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 72
    #[prost(message, optional, tag = "1215")]
    pub privacy_settings: ::core::option::Option<PrivacySettings>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub record_info: ::core::option::Option<PlayerRecordInfo>,
    /// offset: 24
    #[prost(string, tag = "8")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 120
    #[prost(uint32, tag = "7")]
    pub jphciddbjpn: u32,
}
/// Obf: DIDOAMAMDJO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendSimpleInfo {
    /// offset: 48
    #[prost(enumeration = "PlayingState", tag = "2")]
    pub playing_state: i32,
    /// offset: 56
    #[prost(int64, tag = "11")]
    pub create_time: i64,
    /// offset: 40
    #[prost(string, tag = "12")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 52
    #[prost(bool, tag = "1")]
    pub is_marked: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub hppeobbhfmi: ::core::option::Option<Bnnaenmmemb>,
}
/// Obf: FLILIIDMHJB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendApplyInfo {
    /// offset: 32
    #[prost(int64, tag = "5")]
    pub lihmbobkcff: i64,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
}
/// Obf: ENNAEMFJNEP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendRecommendInfo {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub apply_time: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerAssistInfo {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub assist_avatar: ::core::option::Option<DisplayAvatarDetailInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efkcmhogpeb {
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub gociennbphd: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub head_icon: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub alhenfjljod: u32,
    /// offset: 56
    #[prost(enumeration = "PlatformType", tag = "8")]
    pub platform: i32,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 24
    #[prost(string, tag = "14")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 40
    #[prost(string, tag = "9")]
    pub hbkbkngeeig: ::prost::alloc::string::String,
}
/// Obf: LMAFBOAGLGD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendChallengeLineup {
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub buff_one: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub buff_two: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub ldekmaadnkk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 16
    #[prost(string, tag = "11")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
}
/// Obf: HPMJMOIEOJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendChallengeClearanceInfo {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub innmebkccmb: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    #[prost(
        oneof = "friend_challenge_clearance_info::Ddipekcncld",
        tags = "1055, 1548, 1129"
    )]
    pub ddipekcncld: ::core::option::Option<
        friend_challenge_clearance_info::Ddipekcncld,
    >,
}
/// Nested message and enum types in `FriendChallengeClearanceInfo`.
pub mod friend_challenge_clearance_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ddipekcncld {
        /// offset: 16
        #[prost(message, tag = "1055")]
        ChallengeDefault(super::ChallengeStatistics),
        /// offset: 16
        #[prost(message, tag = "1548")]
        ChallengeStory(super::ChallengeStoryStatistics),
        /// offset: 16
        #[prost(message, tag = "1129")]
        ChallengeBoss(super::ChallengeBossStatistics),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igngjhiajgl {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub finish_info: ::core::option::Option<Ekpbbbmpdde>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enklgfpejoa {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub jnbnncjkhng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgkhokpndef {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub fanpgiilipa: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub clpjpjpmcfc: ::core::option::Option<Igelbccjgpe>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub khphkfmgoaa: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub mbpjhicnofb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kicfmloadcj {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub jniaflchifj: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub emkcamoiaea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mndldpgblen {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub mnkbejiinla: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub aaonaioedcj: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub ojempbjipdp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aoclpngcmom {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub onnelogdlhk: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub hcijenlaogj: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub nfgdmdmkamk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihjchgkjjgd {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub pfklkaodjop: ::core::option::Option<Mndldpgblen>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub fjepbiogjed: ::core::option::Option<Kicfmloadcj>,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub dhhhpndmdhg: ::core::option::Option<Aoclpngcmom>,
    #[prost(oneof = "ihjchgkjjgd::Ncbfdomofki", tags = "532, 423")]
    pub ncbfdomofki: ::core::option::Option<ihjchgkjjgd::Ncbfdomofki>,
}
/// Nested message and enum types in `IHJCHGKJJGD`.
pub mod ihjchgkjjgd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ncbfdomofki {
        /// offset: 32
        #[prost(message, tag = "532")]
        Allgjhpnlbc(super::Igngjhiajgl),
        /// offset: 32
        #[prost(message, tag = "423")]
        Edimnkfbbme(super::Hgkhokpndef),
    }
}
/// Obf: PPNLCGACCGF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerChallengePeakRecordMobData {
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<ChallengeLineupList>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kklgcdoejnm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub cycles_used: u32,
}
/// Obf: NFFBDCDMOMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerChallengePeakRecordBossData {
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub peak_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<ChallengeLineupList>,
    /// offset: 53
    #[prost(bool, tag = "10")]
    pub jljngogjfpm: bool,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub mbklcgkeika: u32,
    /// offset: 52
    #[prost(bool, tag = "12")]
    pub cnpbcfnjkmm: bool,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub best_cycle_count: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub kklgcdoejnm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obejahhmoob {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub dpeknakgcoh: ::core::option::Option<PlayerChallengePeakRecordBossData>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub gihmkncaehd: ::prost::alloc::vec::Vec<PlayerChallengePeakRecordMobData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fjmdjcbelnc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fglapfkjipo {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iibgdbbpdji {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub dbcgckkhkgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dmbacealdkb {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ollhkkbbaji {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub peak_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gboabcfdjlk {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub khphkfmgoaa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Olljannifhh {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eleegfkicik {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ljelepgkmmc: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub bcpjeainebo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjpbekapfcf {
    /// offset: 40
    #[prost(int64, tag = "2")]
    pub time: i64,
    /// offset: 36
    #[prost(enumeration = "DevelopmentType", tag = "13")]
    pub okjngokpaij: i32,
    #[prost(
        oneof = "jjpbekapfcf::Mbcakkoodlp",
        tags = "537, 862, 926, 755, 1582, 1245, 382, 1541, 1721, 1356, 747"
    )]
    pub mbcakkoodlp: ::core::option::Option<jjpbekapfcf::Mbcakkoodlp>,
}
/// Nested message and enum types in `JJPBEKAPFCF`.
pub mod jjpbekapfcf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mbcakkoodlp {
        /// offset: 24
        #[prost(message, tag = "537")]
        Eggakpplbhe(super::Fglapfkjipo),
        /// offset: 24
        #[prost(message, tag = "862")]
        Ogcjcppnhfp(super::Dmbacealdkb),
        /// offset: 24
        #[prost(uint32, tag = "926")]
        AvatarId(u32),
        /// offset: 24
        #[prost(uint32, tag = "755")]
        Faiogbephhe(u32),
        /// offset: 24
        #[prost(uint32, tag = "1582")]
        Dcfloabjong(u32),
        /// offset: 24
        #[prost(message, tag = "1245")]
        Mkadmliacdf(super::Iibgdbbpdji),
        /// offset: 24
        #[prost(uint32, tag = "382")]
        PanelId(u32),
        /// offset: 24
        #[prost(message, tag = "1541")]
        Jmjoclijoah(super::Ollhkkbbaji),
        /// offset: 24
        #[prost(message, tag = "1721")]
        Nipelendggc(super::Gboabcfdjlk),
        /// offset: 24
        #[prost(message, tag = "1356")]
        Ippkgomlpcf(super::Olljannifhh),
        /// offset: 24
        #[prost(message, tag = "747")]
        Nppanmocnbg(super::Eleegfkicik),
    }
}
/// Obf: IPEJDMBJILG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2957)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoCsReq {}
/// Obf: OIKJMJHCHPO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub black_list: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub friend_list: ::prost::alloc::vec::Vec<FriendSimpleInfo>,
}
/// Obf: HKPKPMGBBAE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2955)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub uid: u32,
}
/// Obf: DALHJLIJDMH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerDetailInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub detail_info: ::core::option::Option<PlayerDetailInfo>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: OEDGLLBJKHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2938)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoCsReq {}
/// Obf: POIMIKPADHN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2962)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub receive_apply_list: ::prost::alloc::vec::Vec<FriendApplyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub send_apply_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MNEJIMKKOFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2947)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ApplyFriendCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 28
    #[prost(enumeration = "FriendApplySource", tag = "14")]
    pub source: i32,
}
/// Obf: FAKFJKDLBMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2920)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ApplyFriendScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HHOGJOJFGIP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2926)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncApplyFriendScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub friend_apply_info: ::core::option::Option<FriendApplyInfo>,
}
/// Obf: KDABJJLLBLB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2905)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HandleFriendCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub is_accept: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: FKCLPJILOKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2937)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleFriendScRsp {
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub is_accept: bool,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub friend_info: ::core::option::Option<FriendSimpleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: DDAALOLBJIH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2969)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncHandleFriendScNotify {
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_accept: bool,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub friend_info: ::core::option::Option<FriendSimpleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub uid: u32,
}
/// Obf: EGNLDACOOED
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2966)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteFriendCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ffbloajhlgm: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: FBAMMPOOIBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2979)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteFriendScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Obf: PGDECBMMAOH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2945)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncDeleteFriendScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: OLKGNNHODIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2983)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AddBlacklistCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
/// Obf: FDEGBIKJGJH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2995)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBlacklistScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub black_info: ::core::option::Option<PlayerSimpleInfo>,
}
/// Obf: PBKEJFKOEKB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2934)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncAddBlacklistScNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub uid: u32,
}
/// Obf: PFPDHLAFIBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2993)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub ofiihnlbgek: bool,
}
/// Obf: DAOGCIDBJFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2989)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<FriendRecommendInfo>,
}
/// Obf: NPIOGBLDPDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2976)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameCsReq {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub reason: u32,
    /// offset: 16
    #[prost(string, tag = "1")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: DHGOENKPCEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2996)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetFriendRemarkNameScRsp {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub remark_name: ::prost::alloc::string::String,
}
/// Obf: PAKKBIOOAHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2980)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReportPlayerCsReq {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ebecgohglao: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub caglmbadldf: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2977)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReportPlayerScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: DNALALHLBAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2914)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: NLAGLAKBOLN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2912)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteBlacklistScRsp {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: HIABLMCMHIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2950)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerCsReq {
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub ofiihnlbgek: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub nokcjajclcc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DPICEDIAPJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2986)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub nklkdcejgoh: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub khjhphoiohb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PMDANGNOPKO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2909)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAssistListCsReq {
    /// offset: 25
    #[prost(bool, tag = "5")]
    pub odibihfhnjj: bool,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub ofiihnlbgek: bool,
}
/// Obf: HPMCGNBIIBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2985)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistListScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub assist_list: ::prost::alloc::vec::Vec<PlayerAssistInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: AMCCOEKAFDH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2911)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAssistCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Obf: IDKDNJOIHEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2978)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAssistScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub aaalkeajohe: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: AJBBFJBNDJP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2913)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurAssistCsReq {}
/// Obf: ACMGNMMLJKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2999)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurAssistScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub fflcbpfmhkg: ::core::option::Option<PlayerAssistInfo>,
}
/// Obf: GMIBDGDCHCO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2942)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryCsReq {}
/// Obf: ENIPMLCDAGO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2916)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistHistoryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub kjcedfcmpkk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub eipcbiajekc: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub nlplmcnklfl: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub bfjefklchkm: u32,
}
/// Obf: PMENBINGJDC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2952)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NewAssistHistoryNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nlplmcnklfl: u32,
}
/// Obf: OAJECHNJILM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2982)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardCsReq {}
/// Obf: IMINGEBBFAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2988)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub gpamohingla: ::prost::alloc::vec::Vec<Efkcmhogpeb>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JNBLNHJIEEH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2951)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurAssistChangedNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub fflcbpfmhkg: ::core::option::Option<PlayerAssistInfo>,
}
/// Obf: COIDPBDMCML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2956)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoCsReq {
    /// offset: 32
    #[prost(enumeration = "PlatformType", tag = "4")]
    pub platform: i32,
    /// offset: 24
    #[prost(string, repeated, tag = "5")]
    pub mfoaodohfmn: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Obf: CCNNDEDPJBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2908)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
}
/// Obf: BPIFEAKJCFK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2970)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoCsReq {}
/// Obf: KJBJHCPHLNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2901)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendLoginInfoScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub ckjhinjopgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 41
    #[prost(bool, tag = "6")]
    pub mcadcamejof: bool,
    /// offset: 40
    #[prost(bool, tag = "9")]
    pub mbmjpificgo: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub dfommfkiami: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KFLGAKJECAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2941)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetAllowOtherApplyFriendCsReq {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub fmbccmkoipc: bool,
}
/// Obf: ABBDACCJCKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2932)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetForbidOtherApplyFriendScRsp {
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub fmbccmkoipc: bool,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DNKGCDHAKHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2921)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetFriendMarkCsReq {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub uid: u32,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub acmechlphil: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub reason: u32,
}
/// Obf: DNFHBJNHAIE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2930)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetFriendMarkScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub acmechlphil: bool,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: MCFHDJKPKAN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2918)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub bhamkfflhik: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "Mlikabelcbf", tag = "3")]
    pub ekkokhlfkoo: i32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub target_side: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub glpddkndikp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "6")]
    pub ofiihnlbgek: bool,
}
/// Obf: HFGJJGDBKPI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2992)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub assist_list: ::prost::alloc::vec::Vec<PlayerAssistInfo>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub target_side: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehigppfabfp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pomjpogjnik>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emgfppfieda {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub peak_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pomjpogjnik>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdhgcpapkho {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub odelhdlohpj: ::prost::alloc::vec::Vec<Emgfppfieda>,
}
/// Obf: AACFKONDHND
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBossFriendLineupRecommendation {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub buff_id: u32,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub is_hard_mode: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pomjpogjnik>,
    /// offset: 41
    #[prost(bool, tag = "11")]
    pub hard_mode_has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjpbngdcdjk {
    /// offset: 40
    #[prost(string, tag = "8")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    #[prost(oneof = "kjpbngdcdjk::Jhmcbaahifk", tags = "10, 7, 9, 11")]
    pub jhmcbaahifk: ::core::option::Option<kjpbngdcdjk::Jhmcbaahifk>,
}
/// Nested message and enum types in `KJPBNGDCDJK`.
pub mod kjpbngdcdjk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jhmcbaahifk {
        /// offset: 24
        #[prost(message, tag = "10")]
        Goaekahkmef(super::FriendChallengeLineup),
        /// offset: 24
        #[prost(message, tag = "7")]
        Lcmdhofhfoh(super::Ehigppfabfp),
        /// offset: 24
        #[prost(message, tag = "9")]
        Eenmedcmmnk(super::Cdhgcpapkho),
        /// offset: 24
        #[prost(message, tag = "11")]
        Oggodhjjkhc(super::ChallengePeakBossFriendLineupRecommendation),
    }
}
/// Obf: JKOLAPGPHAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2922)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub key: u32,
    /// offset: 28
    #[prost(enumeration = "Ajljolejlac", tag = "9")]
    pub r#type: i32,
}
/// Obf: MCEJGMLIGLL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2972)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub challenge_recommend_list: ::prost::alloc::vec::Vec<Kjpbngdcdjk>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub key: u32,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub iboblikapnm: bool,
    /// offset: 36
    #[prost(enumeration = "Ajljolejlac", tag = "7")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: AFKNFCEKGPI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2960)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailCsReq {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub key: u32,
    /// offset: 24
    #[prost(enumeration = "Ajljolejlac", tag = "3")]
    pub r#type: i32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: HJGAFAKGPJO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 36
    #[prost(enumeration = "Ajljolejlac", tag = "9")]
    pub r#type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub lnhpcigmpim: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub key: u32,
}
/// Obf: IAOJCDJDHNI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2981)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Obf: DJMHHEIPPLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2997)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailScRsp {
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub fmikaehpmac: ::core::option::Option<Ihjchgkjjgd>,
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub dblcppkmigb: ::prost::alloc::vec::Vec<Obejahhmoob>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub cicoddekopi: ::prost::alloc::vec::Vec<FriendChallengeClearanceInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub odahffjlkla: ::core::option::Option<Fjmdjcbelnc>,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: POOIFELACEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2915)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: OJEEFICNFID
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2991)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub kdpnpgfbgnb: ::prost::alloc::vec::Vec<Jjpbekapfcf>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: EMAGCGAHEGL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1957)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGachaInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GachaCeilingAvatar {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub repeated_cnt: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeiling {
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub ceiling_num: u32,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub is_claimed: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<GachaCeilingAvatar>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ommdlbpngek {
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub lodcipdaadc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub gaghecohomc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub kifieakajck: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub fmefmdoahcd: u32,
}
/// Obf: CDHFIOPJNPH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaInfo {
    /// offset: 96
    #[prost(uint32, tag = "12")]
    pub fhgigaepgcd: u32,
    /// offset: 80
    #[prost(uint32, tag = "1")]
    pub aodiebmkeke: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    /// offset: 100
    #[prost(uint32, tag = "9")]
    pub gacha_id: u32,
    /// offset: 72
    #[prost(int64, tag = "10")]
    pub begin_time: i64,
    /// offset: 64
    #[prost(uint32, repeated, tag = "15")]
    pub item_detail_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub prize_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "6")]
    pub fbnfkkeddad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub kifieakajck: u32,
    /// offset: 88
    #[prost(int64, tag = "4")]
    pub end_time: i64,
    /// offset: 48
    #[prost(string, tag = "5")]
    pub detail_webview: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "7")]
    pub drop_history_webview: ::prost::alloc::string::String,
}
/// Obf: CKFOFEPFKGO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub gacha_info_list: ::prost::alloc::vec::Vec<GachaInfo>,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub fnedonfjnmi: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub flheecfdpbm: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub gacha_random: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub caibcnmemjp: ::prost::alloc::vec::Vec<Ommdlbpngek>,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub bfdmhodlljm: u32,
}
/// Obf: EGFKAHJFCMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1955)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoGachaCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub gacha_random: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub simulate_magic: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub gacha_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub gacha_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaItem {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub token_item: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(bool, tag = "1")]
    pub is_new: bool,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub gacha_item: ::core::option::Option<Item>,
}
/// Obf: PNMHCIFEMKD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaScRsp {
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub gacha_num: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub ceiling_num: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub gacha_item_list: ::prost::alloc::vec::Vec<GachaItem>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub aodiebmkeke: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub fhgigaepgcd: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub bocjnjccbne: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub flheecfdpbm: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub gacha_id: u32,
}
/// Obf: KFBHEHNDDEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1938)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub gacha_type: u32,
}
/// Obf: PEEKDNCJNGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1962)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub gacha_type: u32,
}
/// Obf: NDPMPJMOOHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1947)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub gacha_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
/// Obf: BPNNCFIOBND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1920)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeiling {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub gacha_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
}
/// Obf: FCHPCPPOJKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1926)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGachaDecideItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub gacha_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub fmefmdoahcd: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub lodcipdaadc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ACJAIGMECAN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1905)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGachaDecideItemScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub ljfccllcijk: ::core::option::Option<Ommdlbpngek>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GMJMNAFALON
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameInfo {
    #[prost(
        oneof = "grid_fight_game_info::Oempdakaaab",
        tags = "8, 4, 12, 3, 6, 10, 9, 15, 5"
    )]
    pub oempdakaaab: ::core::option::Option<grid_fight_game_info::Oempdakaaab>,
}
/// Nested message and enum types in `GridFightGameInfo`.
pub mod grid_fight_game_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Oempdakaaab {
        /// offset: 16
        #[prost(message, tag = "8")]
        GridBasicInfo(super::GridFightGameBasicInfo),
        /// offset: 16
        #[prost(message, tag = "4")]
        GridDraftInfo(super::GridFightGameItemsInfo),
        /// offset: 16
        #[prost(message, tag = "12")]
        GridItemsInfo(super::GridFightGameShopInfo),
        /// offset: 16
        #[prost(message, tag = "3")]
        GridShopInfo(super::GridFightLevelInfo),
        /// offset: 16
        #[prost(message, tag = "6")]
        GridLevelInfo(super::GridFightGameOrbInfo),
        /// offset: 16
        #[prost(message, tag = "10")]
        GridOrbInfo(super::GridFightGameAugmentSync),
        /// offset: 16
        #[prost(message, tag = "9")]
        GridAugmentInfo(super::GridFightGameTraitInfo),
        /// offset: 16
        #[prost(message, tag = "15")]
        GridTraitGameInfo(super::GridFightGameTeamInfo),
        /// offset: 16
        #[prost(message, tag = "5")]
        GridTeamGameInfo(super::Echnhihinde),
    }
}
/// Obf: JMHGDKKDBGI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightCurrentInfo {
    /// offset: 48
    #[prost(message, repeated, tag = "8")]
    pub rogue_current_game_info: ::prost::alloc::vec::Vec<GridFightGameInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub grid_fight_game_data: ::core::option::Option<GridFightGameData>,
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 56
    #[prost(bool, tag = "5")]
    pub is_overlock: bool,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub season: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub division_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub bbkonopnppg: ::core::option::Option<Gfaadaagohn>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub pending_action: ::core::option::Option<GridFightPendingAction>,
}
/// Obf: LKPJBCPLAIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightCurrentTask {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub task_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub progress: u32,
}
/// Obf: PHEAPNKKMJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncCurrentTaskInfo {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub cur_task: ::core::option::Option<GridFightCurrentTask>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub finish_task_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ACPBECBOKNP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightLockInfo {
    /// offset: 28
    #[prost(enumeration = "GridFightLockType", tag = "13")]
    pub lock_type: i32,
    /// offset: 24
    #[prost(enumeration = "GridFightLockReason", tag = "1")]
    pub lock_reason: i32,
}
/// Obf: CEIODEFOGMH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameBasicInfo {
    /// offset: 108
    #[prost(uint32, tag = "11")]
    pub gold: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1800")]
    pub tutorial_unlock_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub track_trait_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 116
    #[prost(uint32, tag = "1")]
    pub grid_fight_combo_win_num: u32,
    /// offset: 120
    #[prost(uint32, tag = "9")]
    pub grid_fight_buy_exp_cost: u32,
    /// offset: 96
    #[prost(uint32, tag = "14")]
    pub ccnmbclhejp: u32,
    /// offset: 40
    #[prost(message, optional, tag = "1863")]
    pub game_lock_info: ::core::option::Option<GridFightLockInfo>,
    /// offset: 100
    #[prost(enumeration = "GridFightLockType", tag = "10")]
    pub lock_type: i32,
    /// offset: 64
    #[prost(message, optional, tag = "532")]
    pub grid_fight_sync_curtask_info: ::core::option::Option<
        GridFightSyncCurrentTaskInfo,
    >,
    /// offset: 132
    #[prost(uint32, tag = "8")]
    pub grid_fight_off_field_max_count: u32,
    /// offset: 112
    #[prost(uint32, tag = "15")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 56
    #[prost(string, tag = "845")]
    pub grid_fight_target_guide_code: ::prost::alloc::string::String,
    /// string grid_fight_target_guide_code = 74; // offset: 72
    ///
    /// offset: 124
    #[prost(uint32, tag = "7")]
    pub grid_fight_cur_level_exp: u32,
    /// offset: 88
    #[prost(uint32, tag = "5")]
    pub eekpbmffbfn: u32,
    /// offset: 136
    #[prost(uint32, tag = "13")]
    pub grid_fight_lineup_max_hp: u32,
    /// offset: 104
    #[prost(uint32, tag = "2")]
    pub jgfejnojann: u32,
    /// offset: 92
    #[prost(uint32, tag = "12")]
    pub grid_fight_max_interest_gold: u32,
    /// offset: 128
    #[prost(uint32, tag = "6")]
    pub grid_fight_max_avatar_count: u32,
    /// repeated uint32 tutorial_unlock_id_list = 601; // offset: 80
    ///
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub role_track_equipment_list: ::prost::alloc::vec::Vec<RoleTrackEquipmentInfo>,
}
/// Obf: HLLIPEDCOBF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameRoleInfo {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "12")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(map = "string, uint32", tag = "1")]
    pub grid_fight_value_init_component: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        u32,
    >,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub role_star: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub pos: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub update_equips_component: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LCMJGIOKJCM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameNpcInfo {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub update_equips_component: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub pos: u32,
}
/// Obf: ILOAJEDCEJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameForgeItemInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub forge_goods_list: ::prost::alloc::vec::Vec<GridFightForgeGoodsInfo>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub forge_item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iaimmhmkknj {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub jjojlfkepfg: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnfdelpkfei {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub grid_fight_trait_member_unique_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfmfdjlhfhk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub akkeekoefbk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BAMCHEHJKCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitEffectInfo {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub effect_id: u32,
    #[prost(
        oneof = "grid_fight_trait_effect_info::Lcibglegjfk",
        tags = "1871, 1676, 1945, 1781"
    )]
    pub lcibglegjfk: ::core::option::Option<grid_fight_trait_effect_info::Lcibglegjfk>,
}
/// Nested message and enum types in `GridFightTraitEffectInfo`.
pub mod grid_fight_trait_effect_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 16
        #[prost(uint32, tag = "1871")]
        TraitCoreRole(u32),
        /// offset: 16
        #[prost(message, tag = "1676")]
        AvatarCoreInfo(super::Gnfdelpkfei),
        /// offset: 16
        #[prost(uint32, tag = "1945")]
        Magfcpigbhg(u32),
        /// offset: 16
        #[prost(message, tag = "1781")]
        Nhejkldiaga(super::Kfmfdjlhfhk),
    }
}
/// Obf: FDBCIMDADMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitSyncInfo {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub trait_effect_info: ::core::option::Option<GridFightTraitEffectInfo>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub trait_id: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub is_sync_effect: bool,
}
/// Obf: EFDAHOEPONK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameTraitInfo {
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub ifdaelfffap: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub pheohebelge: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub trait_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub fcgjaghhgfb: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub trait_effect_list: ::prost::alloc::vec::Vec<GridFightTraitEffectInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub grid_fight_trait_member_unique_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PNBGDLNOCBB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameTeamInfo {
    /// offset: 48
    #[prost(message, repeated, tag = "10")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<GridGameRoleInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub eaplpphgpeo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub cedpkfdfdhh: ::prost::alloc::vec::Vec<Iaimmhmkknj>,
    /// offset: 64
    #[prost(message, repeated, tag = "7")]
    pub grid_game_forge_item_list: ::prost::alloc::vec::Vec<GridGameForgeItemInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<GridGameNpcInfo>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "4")]
    pub ocegadjjbhm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBAOEPFMJIP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameTraitInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<GridGameTraitInfo>,
}
/// Obf: FJANMIOAGJA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightConsumableInfo {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub num: u32,
}
/// Obf: MEBJOMELNIF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEquipmentInfo {
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub is_temporary: bool,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "5")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub grid_fight_equipment_id: u32,
}
/// Obf: GOPCCLHEKLH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightForgeEquipmentInfo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub grid_fight_equipment_id: u32,
}
/// Obf: LPFPOPAHAGI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightForgeRoleInfo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub role_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub onmgejpgmee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dlochephlok {
    #[prost(oneof = "dlochephlok::Doodipcbcmk", tags = "11, 8")]
    pub doodipcbcmk: ::core::option::Option<dlochephlok::Doodipcbcmk>,
}
/// Nested message and enum types in `DLOCHEPHLOK`.
pub mod dlochephlok {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Doodipcbcmk {
        /// offset: 24
        #[prost(message, tag = "11")]
        RoleGoodsInfo(super::GridFightForgeRoleInfo),
        /// offset: 24
        #[prost(uint32, tag = "8")]
        Gold(u32),
    }
}
/// Obf: POIDGDJJOBL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightForgeGoodsInfo {
    #[prost(oneof = "grid_fight_forge_goods_info::Doodipcbcmk", tags = "4, 10")]
    pub doodipcbcmk: ::core::option::Option<grid_fight_forge_goods_info::Doodipcbcmk>,
}
/// Nested message and enum types in `GridFightForgeGoodsInfo`.
pub mod grid_fight_forge_goods_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Doodipcbcmk {
        /// offset: 24
        #[prost(message, tag = "4")]
        EquipmentGoodsInfo(super::GridFightForgeEquipmentInfo),
        /// offset: 24
        #[prost(message, tag = "10")]
        RoleGoodsInfo(super::GridFightForgeRoleInfo),
    }
}
/// Obf: CFDLGIAGPHF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemsInfo {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub grid_fight_consumable_list: ::prost::alloc::vec::Vec<GridFightConsumableInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub grid_game_forge_item_list: ::prost::alloc::vec::Vec<GridGameForgeItemInfo>,
}
/// Obf: PGODAMFMCAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRoleGoodsInfo {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub role_star: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub role_id: u32,
}
/// Obf: MINLMAACNGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSpecialGoodsInfo {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub special_goods_id: u32,
}
/// Obf: EIHCHAMANKD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightShopGoodsInfo {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub shop_goods_price: u32,
    /// offset: 36
    #[prost(bool, tag = "11")]
    pub is_sold_out: bool,
    #[prost(oneof = "grid_fight_shop_goods_info::Nkdnlbmnaam", tags = "1249, 420")]
    pub nkdnlbmnaam: ::core::option::Option<grid_fight_shop_goods_info::Nkdnlbmnaam>,
}
/// Nested message and enum types in `GridFightShopGoodsInfo`.
pub mod grid_fight_shop_goods_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Nkdnlbmnaam {
        /// offset: 16
        #[prost(message, tag = "1249")]
        RoleGoodsInfo(super::GridFightRoleGoodsInfo),
        /// offset: 16
        #[prost(message, tag = "420")]
        SpecialGoodsInfo(super::GridFightSpecialGoodsInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gpdpjbhclhl {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub nobfgbienph: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub lnfhhcikeik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mibonfgcfbn {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub agmonajckcc: ::prost::alloc::vec::Vec<Gpdpjbhclhl>,
}
/// Obf: FCBJFDFMHJK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameShopInfo {
    /// offset: 44
    #[prost(bool, tag = "12")]
    pub shop_is_locked: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub kgiiafnejfi: ::core::option::Option<Mibonfgcfbn>,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub shop_goods_list: ::prost::alloc::vec::Vec<GridFightShopGoodsInfo>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub hhafohgfenp: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub klkhjnappbp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pndjklokmfk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub dopalgfambp: u32,
}
/// Obf: DLKLMCFJGEJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGamePortalBuffInfo {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub portal_buff_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub ohiapgnkkbi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jnibflhmaam {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dopalgfambp: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub gobiahagpll: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub role_star: u32,
}
/// Obf: EACGOICDGIK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridEncounterMonsterWave {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub njfmlgbcepd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub daecphobjdp: ::prost::alloc::vec::Vec<Jnibflhmaam>,
}
/// Obf: LCHONAKDFDN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEncounterInfo {
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub hiddbhhbnja: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub nhpfnlcblkc: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub aaejdjkjjhd: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub hegkmhldomj: ::core::option::Option<GridFightDropInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<GridEncounterMonsterWave>,
}
/// Obf: NMPOJGKINJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightRouteInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub route_encounter_list: ::prost::alloc::vec::Vec<GridFightEncounterInfo>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub elite_branch_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub fight_camp_id: u32,
}
/// Obf: GEHMGPHJPAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSupplyRoleInfo {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KCJOOCFGEFB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLayerInfo {
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub route_is_pending: bool,
    #[prost(oneof = "grid_fight_layer_info::Eompndfjefd", tags = "1649")]
    pub eompndfjefd: ::core::option::Option<grid_fight_layer_info::Eompndfjefd>,
}
/// Nested message and enum types in `GridFightLayerInfo`.
pub mod grid_fight_layer_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Eompndfjefd {
        /// offset: 24
        #[prost(message, tag = "1649")]
        RouteInfo(super::GridFightRouteInfo),
    }
}
/// Obf: FDCLBEMLEAN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightBossInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub ghbpahmhhhj: ::prost::alloc::vec::Vec<Jnibflhmaam>,
}
/// Obf: GIDOAPCHEPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSectionCampRecordInfo {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub pjiabminbhh: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub dopalgfambp: u32,
}
/// Obf: GPECOGHNNCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSectionRecordInfo {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub ledlkghdnoc: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub section_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub mohofmeimmm: u32,
    #[prost(oneof = "grid_fight_section_record_info::Podfnpgpbfe", tags = "559")]
    pub podfnpgpbfe: ::core::option::Option<grid_fight_section_record_info::Podfnpgpbfe>,
}
/// Nested message and enum types in `GridFightSectionRecordInfo`.
pub mod grid_fight_section_record_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Podfnpgpbfe {
        /// offset: 24
        #[prost(message, tag = "559")]
        CampRecordInfo(super::GridFightSectionCampRecordInfo),
    }
}
/// Obf: ALHDDPEPEBJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightDamageSttInfo {
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub alafinajgbo: ::prost::alloc::vec::Vec<Fhlhbdbhcdp>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub hmcedaoacfg: ::prost::alloc::vec::Vec<Admjmapicpa>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub kpngjkiogbg: ::prost::alloc::vec::Vec<Fjanomhomcc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihekkdgkchc {
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub lcpbmblegdi: ::prost::alloc::vec::Vec<GridFightSectionRecordInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub grid_fight_damage_stt_info: ::core::option::Option<GridFightDamageSttInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmabmlokdek {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub mohofmeimmm: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub section_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnhakdhpkcm {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub akimbabnbgm: ::prost::alloc::vec::Vec<Nmabmlokdek>,
}
/// Obf: JKPFIAPJJLE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLevelInfo {
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 56
    #[prost(message, optional, tag = "7")]
    pub knhikkppodk: ::core::option::Option<Cnhakdhpkcm>,
    /// offset: 72
    #[prost(message, optional, tag = "8")]
    pub grid_fight_layer_info: ::core::option::Option<GridFightLayerInfo>,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub amekcnmoagb: ::prost::alloc::vec::Vec<Pndjklokmfk>,
    /// offset: 40
    #[prost(message, repeated, tag = "12")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<
        GridFightGamePortalBuffInfo,
    >,
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub grid_fight_affix_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub dcjkchfjmbk: u32,
    /// offset: 64
    #[prost(message, optional, tag = "5")]
    pub boss_info: ::core::option::Option<GridFightBossInfo>,
    /// offset: 84
    #[prost(uint32, tag = "13")]
    pub mohofmeimmm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub imhnbpiodkm: ::core::option::Option<Ihekkdgkchc>,
}
/// Obf: JGDKIEMHGEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridGameOrbInfo {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub orb_item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
/// Obf: HKDHLFKPKMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridGameOrbInfoa {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mbgjnledeei: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub cdjccjlnbcd: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
}
/// Obf: CDKNJKEJJLJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameOrbInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub grid_game_orba_list: ::prost::alloc::vec::Vec<GridGameOrbInfoa>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub grid_game_orb_list: ::prost::alloc::vec::Vec<GridGameOrbInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhflpnlhhcb {
    /// offset: 24
    #[prost(map = "string, uint32", tag = "10")]
    pub ehajbbcmcen: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Echnhihinde {
    /// offset: 16
    #[prost(map = "string, uint32", tag = "12")]
    pub kpojmmgbjal: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
/// Obf: LALLJGNLCMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameData {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub innlkfjfbeb: ::prost::alloc::vec::Vec<GridFightGameItemInfo>,
}
/// Obf: CLNDHJNKEFD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemInfo {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
    #[prost(
        oneof = "grid_fight_game_item_info::Pgomjbeecpo",
        tags = "466, 621, 30, 359, 1511, 29, 335, 894, 167, 1672, 1445, 704, 1057, 572, 777, 1065, 1860, 1754, 727, 974, 932, 928, 1174, 1643"
    )]
    pub pgomjbeecpo: ::core::option::Option<grid_fight_game_item_info::Pgomjbeecpo>,
}
/// Nested message and enum types in `GridFightGameItemInfo`.
pub mod grid_fight_game_item_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pgomjbeecpo {
        /// offset: 24
        #[prost(message, tag = "466")]
        Codgpncikgh(super::Panngnfmpig),
        /// offset: 24
        #[prost(message, tag = "621")]
        Bjbddljpkde(super::Fnfbjgeknbp),
        /// offset: 24
        #[prost(message, tag = "30")]
        Mjfokmnbppa(super::Cfibdkapfbo),
        /// offset: 24
        #[prost(message, tag = "359")]
        Olkkngcmpcn(super::Lpjhhfmolhb),
        /// offset: 24
        #[prost(message, tag = "1511")]
        Fhpajjpihnc(super::Ckfdbanphik),
        /// offset: 24
        #[prost(message, tag = "29")]
        Cnnifgcinnf(super::Ojkhfkkfmhe),
        /// offset: 24
        #[prost(message, tag = "335")]
        Ekoanbaideb(super::Dbnfncjbnhh),
        /// offset: 24
        #[prost(message, tag = "894")]
        Defflclklkb(super::Nnjakbjmfhg),
        /// offset: 24
        #[prost(message, tag = "167")]
        Jelejmpkgff(super::Jngjojlhagi),
        /// offset: 24
        #[prost(message, tag = "1672")]
        Gdcfbokodkm(super::Pidieepcgfj),
        /// offset: 24
        #[prost(message, tag = "1445")]
        Ichijkmcfja(super::Pfagojdomcf),
        /// offset: 24
        #[prost(message, tag = "704")]
        Jfidhilglkg(super::Hibiimalefj),
        /// offset: 24
        #[prost(message, tag = "1057")]
        Fdacfkbjfpm(super::Anoiddagoae),
        /// offset: 24
        #[prost(message, tag = "572")]
        Fjpgnlpbjjc(super::Mfbbepecakb),
        /// offset: 24
        #[prost(message, tag = "777")]
        Jikcmeggcjb(super::Nnpkbllcmme),
        /// offset: 24
        #[prost(message, tag = "1065")]
        Nckejpencoa(super::Ajfmpmcjpen),
        /// offset: 24
        #[prost(message, tag = "1860")]
        Oedjoaamepf(super::Bdolnldfmdn),
        /// offset: 24
        #[prost(message, tag = "1754")]
        Klbjniodlcm(super::Goacbbbjbep),
        /// offset: 24
        #[prost(message, tag = "727")]
        Ojddhfbibgh(super::Jkllagcmkdo),
        /// offset: 24
        #[prost(message, tag = "974")]
        Cdcpkaclhaa(super::Dmfimmbkbpl),
        /// offset: 24
        #[prost(message, tag = "932")]
        Enlelkmbgia(super::Maajfncfcpl),
        /// offset: 24
        #[prost(message, tag = "928")]
        Kaboohlnbmd(super::Cceklphhjcd),
        /// offset: 24
        #[prost(message, tag = "1174")]
        Ffbhigjcflf(super::Ciceacgkjae),
        /// offset: 24
        #[prost(message, tag = "1643")]
        Apggbhekoad(super::Jfknejoglld),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Panngnfmpig {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub section_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub hbnfjbhblff: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub ledlkghdnoc: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub mohofmeimmm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnfbjgeknbp {
    /// offset: 24
    #[prost(int64, tag = "9")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(int64, tag = "10")]
    pub cdojgidgoln: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfibdkapfbo {
    /// offset: 24
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub fhbbeadnick: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub godocchbckh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpjhhfmolhb {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ghicohlljpk: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub lkmpmiiebgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ckfdbanphik {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nnjgkjjpjod: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojkhfkkfmhe {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub kpeliikiolg: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub ledlkghdnoc: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub aoafnjofdhe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbnfncjbnhh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub lkkjjmgjpac: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnjakbjmfhg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub lkkjjmgjpac: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jngjojlhagi {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub kkjebgedddk: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mohofmeimmm: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ficpmbaedha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pidieepcgfj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfagojdomcf {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ohcmmngadne: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hibiimalefj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub lodcipdaadc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub lbbbenmmlal: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anoiddagoae {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mfbbepecakb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nnpkbllcmme {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajfmpmcjpen {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub trait_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub ifdaelfffap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bdolnldfmdn {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pahnpnhjabk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfknejoglld {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub dress_equipment_unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub mplakadccag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Goacbbbjbep {
    /// offset: 24
    #[prost(double, tag = "12")]
    pub hiekikmdfgj: f64,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gphomdhmjfa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jkllagcmkdo {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub role_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub dress_role_unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mncebjlodha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmfimmbkbpl {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub role_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub dress_role_unique_id: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "10")]
    pub dndgeloohcl: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Maajfncfcpl {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub npalemjdlpb: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub hbaheghbndo: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub trait_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cceklphhjcd {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lnfhhcikeik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ciceacgkjae {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lnfhhcikeik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfaadaagohn {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kpfceepined: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JIAONHMCKAJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameAugmentInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub hmdmeaepbej: ::prost::alloc::vec::Vec<GridFightGameItemInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub augment_id: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub glpkgighaph: bool,
}
/// Obf: FILPONMHEIN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameAugmentAdd {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub update_augment_info: ::core::option::Option<GridGameAugmentInfo>,
}
/// Obf: CDJPLOJDGHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameAugmentUpdate {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub update_augment_info: ::core::option::Option<GridGameAugmentInfo>,
}
/// Obf: IMJNEMAMKCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameAugmentSync {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<GridGameAugmentInfo>,
}
/// Obf: AINOKEJDILI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8550)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightGetDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub season: u32,
}
/// Obf: CFOIAHACOCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8578)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub rogue_get_info: ::core::option::Option<GridFightSystemInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub fight_current_info: ::core::option::Option<GridFightCurrentInfo>,
}
/// Obf: MBIODEGFKCE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightConsumableUpdateInfo {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    /// offset: 28
    #[prost(int32, tag = "15")]
    pub item_stack_count: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub num: u32,
}
/// Obf: GALBMCGDBDG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemSyncInfo {
    /// offset: 48
    #[prost(message, repeated, tag = "2")]
    pub grid_game_forge_item_list: ::prost::alloc::vec::Vec<GridGameForgeItemInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub update_grid_fight_consumable_list: ::prost::alloc::vec::Vec<
        GridFightConsumableUpdateInfo,
    >,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub grid_fight_consumable_list: ::prost::alloc::vec::Vec<GridFightConsumableInfo>,
}
/// Obf: CFICEGHHAFA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPlayerLevelSyncInfo {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub max_level: u32,
}
/// Obf: ONONPGAMGHM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightLineupHpSyncInfo {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub grid_fight_lineup_max_hp: u32,
}
/// Obf: BFNKLJECCPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightShopSyncInfo {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub kgiiafnejfi: ::core::option::Option<Mibonfgcfbn>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub hhafohgfenp: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub shop_goods_list: ::prost::alloc::vec::Vec<GridFightShopGoodsInfo>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub klkhjnappbp: u32,
    /// offset: 40
    #[prost(bool, tag = "12")]
    pub shop_is_locked: bool,
}
/// Obf: CKENCGEIAKC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightPortalServerDataUpdate {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub portal_buff_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ohiapgnkkbi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MJNFLLBKPFB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLevelSyncInfo {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub grid_fight_layer_info: ::core::option::Option<GridFightLayerInfo>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub section_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mohofmeimmm: u32,
}
/// Obf: PGLEGDNGAGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightOrbSyncInfo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub orb_item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
}
/// Obf: CIHLIAIPBCF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitTrackSyncInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub track_trait_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_sync: bool,
}
/// Obf: LLDKPJFEAMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoleTrackEquipmentInfo {
    /// offset: 44
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "14")]
    pub source: i32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub ghhcdhnlphm: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub imeljggoehg: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub track_equipped_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ONCMCHKINKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RoleTrackEquipmentSyncInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub role_track_equipment_list: ::prost::alloc::vec::Vec<RoleTrackEquipmentInfo>,
}
/// Obf: JHIMCMOLMPF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightEliteBranchSyncInfo {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub elite_branch_id: u32,
}
/// Obf: FNHJAGKPEJL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightTutorialSyncInfo {
    #[prost(oneof = "grid_fight_tutorial_sync_info::Cgdkgnfcgci", tags = "12, 15, 7")]
    pub cgdkgnfcgci: ::core::option::Option<grid_fight_tutorial_sync_info::Cgdkgnfcgci>,
}
/// Nested message and enum types in `GridFightTutorialSyncInfo`.
pub mod grid_fight_tutorial_sync_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Cgdkgnfcgci {
        /// offset: 16
        #[prost(uint32, tag = "12")]
        FinishGridFightTutorialId(u32),
        /// offset: 16
        #[prost(message, tag = "15")]
        CurrentTask(super::GridFightCurrentTask),
        /// offset: 16
        #[prost(uint32, tag = "7")]
        StartGridFightTutorialId(u32),
    }
}
/// Obf: IMEPDEECABP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncData {
    #[prost(
        oneof = "grid_fight_sync_data::Cgdkgnfcgci",
        tags = "586, 1452, 341, 1312, 703, 584, 1344, 1497, 403, 837, 346, 575, 1874, 303, 1430, 907, 553, 581, 1310, 1775, 1853, 66, 1703, 841, 763, 166, 721, 1354, 1340, 1548, 691, 273, 164, 379, 1447, 1810, 1737, 963, 232, 1754, 2034, 1622, 902, 1098, 435, 228, 337, 332, 225, 1699, 960"
    )]
    pub cgdkgnfcgci: ::core::option::Option<grid_fight_sync_data::Cgdkgnfcgci>,
}
/// Nested message and enum types in `GridFightSyncData`.
pub mod grid_fight_sync_data {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cgdkgnfcgci {
        /// offset: 16
        #[prost(message, tag = "586")]
        AddRoleInfo(super::GridGameRoleInfo),
        /// offset: 16
        #[prost(message, tag = "1452")]
        UpdateRoleInfo(super::GridGameRoleInfo),
        /// offset: 16
        #[prost(uint32, tag = "341")]
        RemoveRoleUniqueId(u32),
        /// offset: 16
        #[prost(message, tag = "1312")]
        AddGameItemInfo(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(message, tag = "703")]
        UpdateGameItemInfo(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(message, tag = "584")]
        RemoveGameItemInfo(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(uint32, tag = "1344")]
        ItemValue(u32),
        /// offset: 16
        #[prost(message, tag = "1497")]
        PlayerLevel(super::GridFightPlayerLevelSyncInfo),
        /// offset: 16
        #[prost(message, tag = "403")]
        GridFightLineupHp(super::GridFightLineupHpSyncInfo),
        /// offset: 16
        #[prost(uint32, tag = "837")]
        MaxBattleRoleNum(u32),
        /// offset: 16
        #[prost(message, tag = "346")]
        ShopSyncInfo(super::GridFightShopSyncInfo),
        /// offset: 16
        #[prost(message, tag = "575")]
        PendingAction(super::GridFightPendingAction),
        /// offset: 16
        #[prost(message, tag = "1874")]
        PortalServerDataUpdate(super::GridFightPortalServerDataUpdate),
        /// offset: 16
        #[prost(message, tag = "303")]
        LevelSyncInfo(super::GridFightLevelSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1430")]
        OrbSyncInfo(super::GridFightOrbSyncInfo),
        /// offset: 16
        #[prost(message, tag = "907")]
        SectionRecordSyncInfo(super::GridFightSectionRecordInfo),
        /// offset: 16
        #[prost(message, tag = "553")]
        GridGameAugmentUpdate(super::GridFightGameAugmentUpdate),
        /// offset: 16
        #[prost(uint32, tag = "581")]
        RemoveAugmentUniqueId(u32),
        /// offset: 16
        #[prost(uint32, tag = "1310")]
        FinishPendingActionPos(u32),
        /// offset: 16
        #[prost(uint32, tag = "1775")]
        GridFightMaxInterestGold(u32),
        /// offset: 16
        #[prost(uint32, tag = "1853")]
        GridFightBuyExpCost(u32),
        /// offset: 16
        #[prost(message, tag = "66")]
        TraitSyncInfo(super::GridFightTraitSyncInfo),
        /// offset: 16
        #[prost(enumeration = "super::GridFightLockType", tag = "1703")]
        LockType(i32),
        /// offset: 16
        #[prost(message, tag = "841")]
        TraitTrackSyncInfo(super::GridFightTraitTrackSyncInfo),
        /// offset: 16
        #[prost(uint32, tag = "763")]
        GridFightComboWinNum(u32),
        /// offset: 16
        #[prost(uint32, tag = "166")]
        GridFightMaxAvatarCount(u32),
        /// offset: 16
        #[prost(uint32, tag = "721")]
        GridFightOffFieldMaxCount(u32),
        /// offset: 16
        #[prost(message, tag = "1354")]
        GridFightDamageSttInfo(super::GridFightDamageSttInfo),
        /// offset: 16
        #[prost(message, tag = "1340")]
        EliteBranchSyncInfo(super::GridFightEliteBranchSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1548")]
        AddNpcInfo(super::GridGameNpcInfo),
        /// offset: 16
        #[prost(message, tag = "691")]
        UpdateNpcInfo(super::GridGameNpcInfo),
        /// offset: 16
        #[prost(uint32, tag = "273")]
        RemoveNpcUniqueId(u32),
        /// offset: 16
        #[prost(message, tag = "164")]
        AddForgeInfo(super::GridGameForgeItemInfo),
        /// offset: 16
        #[prost(message, tag = "379")]
        UpdateForgeInfo(super::GridGameForgeItemInfo),
        /// offset: 16
        #[prost(uint32, tag = "1447")]
        RemoveForgeUniqueId(u32),
        /// offset: 16
        #[prost(message, tag = "1810")]
        AugmentSyncInfo(super::GridFightGameAugmentAdd),
        /// offset: 16
        #[prost(message, tag = "1737")]
        EquipmentTrackSyncInfo(super::RoleTrackEquipmentSyncInfo),
        /// offset: 16
        #[prost(message, tag = "963")]
        GridFightSyncGameItemInfo(super::GridFightGameItemInfo),
        /// offset: 16
        #[prost(uint32, tag = "232")]
        RemoveOrbUniqueId(u32),
        /// offset: 16
        #[prost(uint32, tag = "1754")]
        Gnfgkfmafhj(u32),
        /// offset: 16
        #[prost(message, tag = "2034")]
        GridFightTutorialSync(super::GridFightTutorialSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1622")]
        SyncLockInfo(super::GridFightLockInfo),
        /// offset: 16
        #[prost(uint32, tag = "902")]
        RemoveTraitEffectId(u32),
        /// offset: 16
        #[prost(message, tag = "1098")]
        Liogmhapgjo(super::Iaimmhmkknj),
        /// offset: 16
        #[prost(message, tag = "435")]
        Bceecfanebm(super::Iaimmhmkknj),
        /// offset: 16
        #[prost(uint32, tag = "228")]
        Hkaibkflfoo(u32),
        /// offset: 16
        #[prost(message, tag = "337")]
        Ceaakghfdfj(super::GridGameOrbInfo),
        /// offset: 16
        #[prost(uint32, tag = "332")]
        Pfkeeikadma(u32),
        /// offset: 16
        #[prost(uint32, tag = "225")]
        Mknidkodjho(u32),
        /// offset: 16
        #[prost(uint32, tag = "1699")]
        Jegmopkfmlf(u32),
        /// offset: 16
        #[prost(message, tag = "960")]
        Ehajbbcmcen(super::Jhflpnlhhcb),
    }
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8455)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oklgpoldiim {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub sync_effect_param_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "GridFightUpdateSrcType", tag = "13")]
    pub grid_update_src: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub update_dynamic_list: ::prost::alloc::vec::Vec<GridFightSyncData>,
}
/// Obf: IAEBAJBJANC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncResultData {
    /// offset: 40
    #[prost(enumeration = "GridFightUpdateSrcType", tag = "10")]
    pub grid_update_src: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub update_dynamic_list: ::prost::alloc::vec::Vec<GridFightSyncData>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub sync_effect_param_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HBHIECLLHOP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncUpdateResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub sync_result_data_list: ::prost::alloc::vec::Vec<GridFightSyncResultData>,
}
/// Obf: MALIGLOKPHO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPosInfo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub pos: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
}
/// Obf: EFMMLBHAKJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdatePosCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub grid_fight_pos_info_list: ::prost::alloc::vec::Vec<GridFightPosInfo>,
}
/// Obf: EECKLCEDEAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdatePosScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub grid_fight_pos_info_list: ::prost::alloc::vec::Vec<GridFightPosInfo>,
}
/// Obf: HBIJENNEMHD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRecycleRoleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
}
/// Obf: NOAJFMKMELB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8440)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRecycleRoleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DNFNCNMGAON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8583)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightEquipDressCsReq {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub dress_equipment_unique_id: u32,
    /// offset: 28
    #[prost(enumeration = "GridFightEquipDressSource", tag = "14")]
    pub dress_source: i32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dress_role_unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8596)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glnhaflaleg {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DGMEKPHHAKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8588)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEquipCraftCsReq {
    /// offset: 32
    #[prost(enumeration = "GridFightEquipCraftSource", tag = "11")]
    pub source: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub craft_materials: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub boalejbpmmp: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub hiemmffgmcm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8503)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jhdncligjdl {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: LKBIBAADKMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRemoveTypeTargetInfo {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dress_role_unique_id: u32,
}
/// Obf: PNPPBONNAEB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRollTypeTargetInfo {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dress_equipment_unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dress_role_unique_id: u32,
}
/// Obf: GFACEAGPPPJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightUpgradeTypeTargetInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub dress_equipment_unique_id: u32,
}
/// Obf: KEBINFBDIKA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightCopyTypeTargetInfo {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dress_role_unique_id: u32,
}
/// Obf: MFDJPBFIHBH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightGainRecommendEquipTypeTargetInfo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dress_role_unique_id: u32,
}
/// Obf: PNBCMHFDMBK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightConsumableTargetInfo {
    #[prost(
        oneof = "grid_fight_consumable_target_info::Lcibglegjfk",
        tags = "1291, 64, 1166, 776, 777"
    )]
    pub lcibglegjfk: ::core::option::Option<
        grid_fight_consumable_target_info::Lcibglegjfk,
    >,
}
/// Nested message and enum types in `GridFightConsumableTargetInfo`.
pub mod grid_fight_consumable_target_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 24
        #[prost(message, tag = "1291")]
        RemoveTypeTargetInfo(super::GridFightRemoveTypeTargetInfo),
        /// offset: 24
        #[prost(message, tag = "64")]
        RollTypeTargetInfo(super::GridFightRollTypeTargetInfo),
        /// offset: 24
        #[prost(message, tag = "1166")]
        UpgradeTypeTargetInfo(super::GridFightUpgradeTypeTargetInfo),
        /// offset: 24
        #[prost(message, tag = "776")]
        CopyTypeTargetInfo(super::GridFightCopyTypeTargetInfo),
        /// offset: 24
        #[prost(message, tag = "777")]
        GainRecommendEquipTypeTargetInfo(
            super::GridFightGainRecommendEquipTypeTargetInfo,
        ),
    }
}
/// Obf: IOMEDMMFPBN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8417)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightUseConsumableCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub display_value: ::core::option::Option<GridFightConsumableTargetInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8509)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhjjpbhfeno {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FALDPOFABLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8544)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightUseForgeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub forge_target_index: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8524)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmikkkmndbi {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8567)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhefbglgigh {
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub is_get_all: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub kmkcaiejenk: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8558)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lcdeemeebmn {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkelicjmdik {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub nafljonggii: ::core::option::Option<GridFightDropInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ebogaammnfi: u32,
}
/// Obf: OHNOPAOIMGI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightBuyExpCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8424)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cbbjjefdcbg {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CPFHMEJFKJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8557)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRefreshShopCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbnbcmganni {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: NCANEBJNIDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightLockShopCsReq {
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub is_locked: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8521)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jokhjnmamfg {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CADOPGHDKIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightBuyGoodsCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub buy_goods_index_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8532)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cblblibniij {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fjcemkbidia {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Alglhaebknb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub nobfgbienph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Agcofheoloa {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub num: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8460)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oanidljphno {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub jelibmajjon: ::prost::alloc::vec::Vec<Alglhaebknb>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub fgebpgoeoag: ::prost::alloc::vec::Vec<Agcofheoloa>,
}
/// Obf: MIHDFMPGFAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightPortalBuffActionInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub glabggfieah: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub omdaodmfdmk: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub flbpjdmejee: u32,
}
/// Obf: IEGJFNPKJJO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPendingAugmentInfo {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub mogjfkbgjeo: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub mkkhppajepm: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub augment_id: u32,
}
/// Obf: GNMBIBCPJFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightAugmentActionInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub pending_augment_info_list: ::prost::alloc::vec::Vec<GridFightPendingAugmentInfo>,
}
/// Obf: HFIKIGBLOFD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightTraitActionInfo {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub effect_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub trait_id: u32,
}
/// Obf: PFMJJFNHJAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightEliteBranchActionInfo {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub glabggfieah: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub flbpjdmejee: u32,
}
/// Obf: LCBCKPHHMED
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSupplyActionInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub supply_role_info_list: ::prost::alloc::vec::Vec<GridFightSupplyRoleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ajldnhkgmcj: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub glabggfieah: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ekfjgejdeal: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub flbpjdmejee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgobacenkho {
    /// offset: 36
    #[prost(bool, tag = "12")]
    pub pkaekemmfgc: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub trait_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub iahildndcin: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eogmblodeeh {}
/// Obf: LAFLFCCFDKG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRoundBeginActionInfo {}
/// Obf: EDPAHJGFFPF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightReturnPreparationActionInfo {}
/// Obf: BABOBDOFOJK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpgradeEquipActionInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub available_equipment_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PIDLKFGFCPN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightRecommendEquipmentActionInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub available_equipment_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NKBIGDFCJMJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightForgeRoleActionInfo {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub forge_item_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub forge_goods_list: ::prost::alloc::vec::Vec<GridFightForgeRoleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dekllffcibh {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub forge_item_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub forge_goods_list: ::prost::alloc::vec::Vec<Dlochephlok>,
}
/// Obf: OJNHCFBOMLB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightPendingAction {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub queue_position: u32,
    #[prost(
        oneof = "grid_fight_pending_action::Kgopabimhhc",
        tags = "1863, 577, 926, 1283, 1214, 1765, 328, 249, 1593, 477, 1632, 150, 83"
    )]
    pub kgopabimhhc: ::core::option::Option<grid_fight_pending_action::Kgopabimhhc>,
}
/// Nested message and enum types in `GridFightPendingAction`.
pub mod grid_fight_pending_action {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kgopabimhhc {
        /// offset: 16
        #[prost(message, tag = "1863")]
        PortalBuffAction(super::GridFightPortalBuffActionInfo),
        /// offset: 16
        #[prost(message, tag = "577")]
        AugmentAction(super::GridFightAugmentActionInfo),
        /// offset: 16
        #[prost(message, tag = "926")]
        TraitAction(super::GridFightTraitActionInfo),
        /// offset: 16
        #[prost(message, tag = "1283")]
        EliteBranchAction(super::GridFightEliteBranchActionInfo),
        /// offset: 16
        #[prost(message, tag = "1214")]
        Nhejkldiaga(super::Fgobacenkho),
        /// offset: 16
        #[prost(message, tag = "1765")]
        Inhiapdnmja(super::Eogmblodeeh),
        /// offset: 16
        #[prost(message, tag = "328")]
        RoundBeginAction(super::GridFightRoundBeginActionInfo),
        /// offset: 16
        #[prost(message, tag = "249")]
        ReturnPreparationAction(super::GridFightReturnPreparationActionInfo),
        /// offset: 16
        #[prost(message, tag = "1593")]
        SupplyAction(super::GridFightSupplyActionInfo),
        /// offset: 16
        #[prost(message, tag = "477")]
        UpgradeEquipAction(super::GridFightUpgradeEquipActionInfo),
        /// offset: 16
        #[prost(message, tag = "1632")]
        RecommendEquipmentAction(super::GridFightRecommendEquipmentActionInfo),
        /// offset: 16
        #[prost(message, tag = "150")]
        ForgeRoleActionInfo(super::GridFightForgeRoleActionInfo),
        /// offset: 16
        #[prost(message, tag = "83")]
        Fffbjagpnle(super::Dekllffcibh),
    }
}
/// Obf: MAOPMBOBFGE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPortalBuffActionResult {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub select_portal_buff_id: u32,
}
/// Obf: BHNJCHNLBMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPortalBuffRerollActionResult {}
/// Obf: GOJJHBAGPAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightAugmentActionResult {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub augment_id: u32,
}
/// Obf: EDGHNABGPLE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightAugmentRerollActionResult {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub augment_id: u32,
}
/// Obf: KPGGIFGNFEL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightTraitActionResult {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
}
/// Obf: LJNHKPBBPBA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightEliteBranchActionResult {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub elite_branch_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Biemoaddgfi {}
/// Obf: LNEFNBCGBFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSupplyActionResult {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub select_supply_indexes: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BNMHLPGIEPG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightUpgradeEquipActionResult {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub select_equipment_id: u32,
}
/// Obf: FNOKCDAHJKM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRecommendEquipmentActionResult {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub select_equipment_id: u32,
}
/// Obf: JLMOPCHFFCK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightForgeRoleActionResult {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub forge_target_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pajocfhjlli {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub forge_target_index: u32,
}
/// Obf: KOKDEKPFLGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSupplyRerollActionResult {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Apelikidono {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub iokajobjpan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhmdknikjbm {}
/// Obf: MJJCIBGDPEB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightRoundBeginActionResult {}
/// Obf: AELLPDJCJBO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightReturnPreparationActionResult {}
/// Obf: GPHEHIENCEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8425)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSelectRecommendEquipCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub queue_position: u32,
    #[prost(
        oneof = "grid_fight_select_recommend_equip_cs_req::Kgopabimhhc",
        tags = "247, 1975, 857, 1742, 1394, 604, 2023, 709, 1880, 1844, 773, 688, 670, 1128, 323, 196, 198"
    )]
    pub kgopabimhhc: ::core::option::Option<
        grid_fight_select_recommend_equip_cs_req::Kgopabimhhc,
    >,
}
/// Nested message and enum types in `GridFightSelectRecommendEquipCsReq`.
pub mod grid_fight_select_recommend_equip_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kgopabimhhc {
        /// offset: 16
        #[prost(message, tag = "247")]
        PortalBuffAction(super::GridFightPortalBuffActionResult),
        /// offset: 16
        #[prost(message, tag = "1975")]
        PortalBuffRerollAction(super::GridFightPortalBuffRerollActionResult),
        /// offset: 16
        #[prost(message, tag = "857")]
        AugmentAction(super::GridFightAugmentActionResult),
        /// offset: 16
        #[prost(message, tag = "1742")]
        RerollAugmentAction(super::GridFightAugmentRerollActionResult),
        /// offset: 16
        #[prost(message, tag = "1394")]
        TraitAction(super::GridFightTraitActionResult),
        /// offset: 16
        #[prost(message, tag = "604")]
        EliteBranchAction(super::GridFightEliteBranchActionResult),
        /// offset: 16
        #[prost(message, tag = "2023")]
        Nhejkldiaga(super::Apelikidono),
        /// offset: 16
        #[prost(message, tag = "709")]
        Inhiapdnmja(super::Dhmdknikjbm),
        /// offset: 16
        #[prost(message, tag = "1880")]
        RoundBeginAction(super::GridFightRoundBeginActionResult),
        /// offset: 16
        #[prost(message, tag = "1844")]
        ReturnPreparationAction(super::GridFightReturnPreparationActionResult),
        /// offset: 16
        #[prost(message, tag = "773")]
        SupplyAction(super::GridFightSupplyActionResult),
        /// offset: 16
        #[prost(message, tag = "688")]
        RerollSupplyAction(super::GridFightSupplyRerollActionResult),
        /// offset: 16
        #[prost(message, tag = "670")]
        UpgradeEquipAction(super::GridFightUpgradeEquipActionResult),
        /// offset: 16
        #[prost(message, tag = "1128")]
        Ahhdnbhmpkh(super::Biemoaddgfi),
        /// offset: 16
        #[prost(message, tag = "323")]
        RecommendEquipmentAction(super::GridFightRecommendEquipmentActionResult),
        /// offset: 16
        #[prost(message, tag = "196")]
        ForgeRoleActionInfo(super::GridFightForgeRoleActionResult),
        /// offset: 16
        #[prost(message, tag = "198")]
        Fffbjagpnle(super::Pajocfhjlli),
    }
}
/// Obf: POALACGMJHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8577)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightHandlePendingActionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub queue_position: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: EPHICAJLFIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8475)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightStartGamePlayCsReq {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub season: u32,
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub is_overlock: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub division_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8575)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmbbmaeddek {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub fight_current_info: ::core::option::Option<GridFightCurrentInfo>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: NDEMJIKOMKE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8454)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightQuitLeaveGamePlayCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8595)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfcpkpaomae {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: AKFNHDILDKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8528)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightResumeGamePlayCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8534)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmhakdookdl {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: EANAEIHMKCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8498)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightFinishTutorialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub hlaldpgidff: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8472)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fdkjjigmfoj {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: LOMHDJCJJOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8562)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightEnterBattleStageCsReq {}
/// Obf: IFOEKEPDNOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8594)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEnterBattleStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmcnndjkbpe {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub kbmikmphhbl: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub nopkjchdnhe: u32,
    /// offset: 24
    #[prost(enumeration = "GridFightGlobalHpChangeReason", tag = "6")]
    pub reason: i32,
}
/// Obf: CAOAMCLHDHH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightHpModifyInfo {
    /// offset: 28
    #[prost(int32, tag = "5")]
    pub nopkjchdnhe: i32,
    /// offset: 36
    #[prost(enumeration = "GridFightUpdateGlobalHpReason", tag = "6")]
    pub reason: i32,
    /// offset: 24
    #[prost(int32, tag = "14")]
    pub kbmikmphhbl: i32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub kmfkncenmff: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dkkefgajjai: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nioenfocgif {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gpnflogaonp: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibcfpghkidm {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub pfjdonlbalp: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub ghbegbhopmi: ::core::option::Option<Nioenfocgif>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub oidhdmbhoal: ::core::option::Option<Nioenfocgif>,
}
/// Obf: INOHNMJCKKM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8579)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEndBattleStageNotify {
    /// offset: 108
    #[prost(uint32, tag = "1609")]
    pub nkpocgopalf: u32,
    /// offset: 48
    #[prost(message, optional, tag = "875")]
    pub ojafpkcdnol: ::core::option::Option<Ibcfpghkidm>,
    /// offset: 72
    #[prost(uint32, tag = "1972")]
    pub khpmjigemig: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub grid_fight_damage_stt_info: ::core::option::Option<GridFightDamageSttInfo>,
    /// offset: 88
    #[prost(uint32, tag = "9")]
    pub pfjdonlbalp: u32,
    /// offset: 116
    #[prost(uint32, tag = "11")]
    pub jaepphimkki: u32,
    /// offset: 56
    #[prost(map = "uint32, message", tag = "8")]
    pub ckabgcifocf: ::std::collections::HashMap<u32, GridFightDropInfo>,
    /// offset: 120
    #[prost(uint32, tag = "6")]
    pub cgmofcibigd: u32,
    /// offset: 112
    #[prost(uint32, tag = "10")]
    pub gnjajcehnag: u32,
    /// offset: 132
    #[prost(uint32, tag = "3")]
    pub ghicohlljpk: u32,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub afchaleijnn: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "844")]
    pub olaijkfmfcm: ::prost::alloc::vec::Vec<GridFightHpModifyInfo>,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub section_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "1894")]
    pub iamlgbobiif: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub pdelhmbnmfd: u32,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub mohofmeimmm: u32,
    /// offset: 68
    #[prost(uint32, tag = "938")]
    pub kbmikmphhbl: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "207")]
    pub gopbklcilkh: ::prost::alloc::vec::Vec<Kmcnndjkbpe>,
    /// offset: 128
    #[prost(bool, tag = "5")]
    pub ghcgcoonmkm: bool,
    /// offset: 96
    #[prost(uint32, tag = "14")]
    pub dcjkchfjmbk: u32,
    /// offset: 104
    #[prost(uint32, tag = "1285")]
    pub bigfengjfao: u32,
    /// offset: 100
    #[prost(uint32, tag = "1253")]
    pub meekgdnaghd: u32,
    /// offset: 124
    #[prost(uint32, tag = "15")]
    pub mbfohlpclfm: u32,
}
/// Obf: LNILLHBCPFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8497)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightQuitSettleCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8453)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pikaejjmlcp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enddcjokebl {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub role_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8489)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khjpplnphdb {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub effect_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub trait_id: u32,
    #[prost(oneof = "khjpplnphdb::Lcibglegjfk", tags = "544")]
    pub lcibglegjfk: ::core::option::Option<khjpplnphdb::Lcibglegjfk>,
}
/// Nested message and enum types in `KHJPPLNPHDB`.
pub mod khjpplnphdb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 24
        #[prost(message, tag = "544")]
        Jpjcbljcpgp(super::Enddcjokebl),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8552)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocdgjkicdoh {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8500)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Egfngncdejg {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub trait_id: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub ekedekmjgpa: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8415)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cllaamlhdlg {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Capfbhldkef {
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub ghhcdhnlphm: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub imeljggoehg: u32,
    /// offset: 52
    #[prost(bool, tag = "2")]
    pub ekedekmjgpa: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub track_equipped_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "4")]
    pub source: i32,
}
/// Obf: OBDFNDEGDNB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8419)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdateEquipTrackCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub migloddldfc: ::prost::alloc::vec::Vec<Capfbhldkef>,
    /// offset: 32
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "3")]
    pub source: i32,
}
/// Obf: KIHMKCHOMCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8449)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightUpdateEquipTrackScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Almhbkhckjh {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub imeljggoehg: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ghhcdhnlphm: u32,
}
/// Obf: ABMJPHPLNMG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8466)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdateEquipTrackPriorityCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub dpcikocijgk: ::prost::alloc::vec::Vec<Almhbkhckjh>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8593)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nlfbpkgmljk {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: LNAHAJGNIFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8461)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSummonProjectionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub jjojlfkepfg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8568)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnhlpolpmgm {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8561)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Odieamckehc {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub elite_branch_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8570)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdinjlbohab {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhlhbdbhcdp {
    /// offset: 33
    #[prost(bool, tag = "13")]
    pub kdoiplndmcm: bool,
    /// offset: 48
    #[prost(double, tag = "1")]
    pub total_damage: f64,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub lkbhhohcbol: bool,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub role_star: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fjanomhomcc {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub trait_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub pheohebelge: u32,
    /// offset: 32
    #[prost(double, tag = "10")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Admjmapicpa {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub augment_id: u32,
    /// offset: 40
    #[prost(double, tag = "12")]
    pub damage: f64,
    /// offset: 32
    #[prost(double, tag = "13")]
    pub jiakhnonljm: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbmbaakggcb {
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub mjcmgdgcbfg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub tutorial_unlock_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub ljelepgkmmc: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub bigfengjfao: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub dcjkchfjmbk: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub mohofmeimmm: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub meekgdnaghd: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub section_id: u32,
}
/// Obf: ALFBKOAEKDE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightFinishInfo {
    /// offset: 149
    #[prost(bool, tag = "797")]
    pub is_overlock: bool,
    /// offset: 88
    #[prost(message, repeated, tag = "2")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<GridGameAugmentInfo>,
    /// offset: 96
    #[prost(message, repeated, tag = "14")]
    pub alafinajgbo: ::prost::alloc::vec::Vec<Fhlhbdbhcdp>,
    /// offset: 80
    #[prost(message, repeated, tag = "1242")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "1027")]
    pub kpngjkiogbg: ::prost::alloc::vec::Vec<Fjanomhomcc>,
    /// offset: 156
    #[prost(uint32, tag = "1165")]
    pub dfjhcljafnn: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub dbhkefnolji: ::prost::alloc::vec::Vec<GridFightGamePortalBuffInfo>,
    /// offset: 152
    #[prost(uint32, tag = "1")]
    pub cnblhpaeael: u32,
    /// offset: 104
    #[prost(uint32, repeated, tag = "1738")]
    pub eaplpphgpeo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 120
    #[prost(message, repeated, tag = "2029")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<GridGameRoleInfo>,
    /// offset: 144
    #[prost(uint32, tag = "121")]
    pub lafeobpibcb: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "1115")]
    pub hmcedaoacfg: ::prost::alloc::vec::Vec<Admjmapicpa>,
    /// offset: 148
    #[prost(bool, tag = "929")]
    pub fbajbilpldi: bool,
    /// offset: 128
    #[prost(uint32, repeated, tag = "1509")]
    pub likmkicnnmc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 136
    #[prost(message, repeated, tag = "1414")]
    pub cedpkfdfdhh: ::prost::alloc::vec::Vec<Iaimmhmkknj>,
    /// offset: 160
    #[prost(enumeration = "GridFightSettleReason", tag = "422")]
    pub reason: i32,
    /// offset: 64
    #[prost(message, optional, tag = "1570")]
    pub bbkonopnppg: ::core::option::Option<Gfaadaagohn>,
    /// offset: 112
    #[prost(message, repeated, tag = "12")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<GridGameTraitInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1141")]
    pub epanffbogem: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub aecaeliapam: ::core::option::Option<Mbmbaakggcb>,
    /// offset: 72
    #[prost(message, repeated, tag = "968")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<GridGameNpcInfo>,
}
/// Obf: PKOEGGLDADM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSettleNotify {
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub current_score: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub lhdneegaond: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub pifbijacgbf: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ajipglpocma: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub ilbejgkaikl: u32,
    /// offset: 40
    #[prost(uint32, tag = "1945")]
    pub eppfadgijbp: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub lccjncjlpko: u32,
    /// offset: 16
    #[prost(message, optional, tag = "925")]
    pub clpjpjpmcfc: ::core::option::Option<GridFightFinishInfo>,
    /// offset: 36
    #[prost(uint32, tag = "1639")]
    pub iffkifljmen: u32,
}
/// Obf: POIIFJJLNFF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTalentInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub mhponialdek: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Inoglboenjf {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub lhdneegaond: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ldeojalnifi: u32,
}
/// Obf: EMKDKJFADAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightStaticGameInfo {
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub fanjbeaaonn: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub grid_fight_combo_win_num: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub bcfloadkmdm: ::core::option::Option<GridFightTalentInfo>,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub ilbejgkaikl: u32,
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub exp: ::core::option::Option<Inoglboenjf>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub pgfacppnaac: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub mimadijigei: ::core::option::Option<GridFightHandBookInfo>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elhlhalgagm {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub bcfloadkmdm: ::core::option::Option<GridFightTalentInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub mkjgfkmbjdb: ::core::option::Option<GridFightWeeklyScore>,
}
/// Obf: FFEGBACCPBM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSystemInfo {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ploondjphah: ::core::option::Option<GridFightStaticGameInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub hffflkdddci: ::core::option::Option<Elhlhalgagm>,
}
/// Obf: ALODKLIOKKO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8421)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPermanentTalentEnableCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dnbjdlgiabh: u32,
}
/// Obf: MDINIILGGPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8598)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPermanentTalentEnableScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub dnbjdlgiabh: u32,
}
/// Obf: AKHKDDDAKIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8581)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSeasonTalentEnableCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dnbjdlgiabh: u32,
}
/// Obf: KFPGLLMHIJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8560)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSeasonTalentEnableScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub dnbjdlgiabh: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FNAPJLNELAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8564)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPermanentTalentResetCsReq {}
/// Obf: FHEGMPGCJKD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8412)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightPermanentTalentResetScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: OENMPPMNLHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8515)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSeasonTalentResetCsReq {}
/// Obf: PBKHKOHAODM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8488)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSeasonTalentResetScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lklhmalclcf {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ejikpkfmknm: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_count: u32,
}
/// Obf: FNFBBLAGEGH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8406)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncVirtualItemNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<Lklhmalclcf>,
}
/// Obf: GJNGCEHFMDO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookRoleInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub cagadanmgkn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PGCKMGGGKKE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookEquipInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub hpakjakmgfh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NIAOGPDKHFP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookAugmentInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub ihfogdclmbh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub anphmbppopj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OPKECHOCJHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookPortalInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub nidnihiofbj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GJELOEMGBOM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookMonsterInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub amekcnmoagb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GHFJGBDCEJP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightHandBookInfo {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub grid_fight_monster_info: ::core::option::Option<GridFightHandBookMonsterInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub grid_fight_equip_info: ::core::option::Option<GridFightHandBookEquipInfo>,
    /// offset: 56
    #[prost(message, optional, tag = "13")]
    pub grid_fight_portal_info: ::core::option::Option<GridFightHandBookPortalInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub grid_fight_role_info: ::core::option::Option<GridFightHandBookRoleInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub grid_fight_augment_info: ::core::option::Option<GridFightHandBookAugmentInfo>,
}
/// Obf: OJGDPPFDHEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8446)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSeasonHandBookNotify {
    #[prost(
        oneof = "grid_fight_season_hand_book_notify::Mgkehfmcbbp",
        tags = "515, 864, 1111, 1024, 761"
    )]
    pub mgkehfmcbbp: ::core::option::Option<
        grid_fight_season_hand_book_notify::Mgkehfmcbbp,
    >,
}
/// Nested message and enum types in `GridFightSeasonHandBookNotify`.
pub mod grid_fight_season_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "515")]
        HandbookGridFightRoleInfo(super::GridFightHandBookRoleInfo),
        /// offset: 16
        #[prost(message, tag = "864")]
        HandbookGridFightEquipInfo(super::GridFightHandBookEquipInfo),
        /// offset: 16
        #[prost(message, tag = "1111")]
        HandbookGridFightAugmentInfo(super::GridFightHandBookAugmentInfo),
        /// offset: 16
        #[prost(message, tag = "1024")]
        HandbookGridFightPortalInfo(super::GridFightHandBookPortalInfo),
        /// offset: 16
        #[prost(message, tag = "761")]
        HandbookGridFightMonsterInfo(super::GridFightHandBookMonsterInfo),
    }
}
/// Obf: DBNDGBIACFN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8448)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightWeeklyExtraSeasonExpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cur_taken_extra_exp: u32,
}
/// Obf: BHPKLHCLAAM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightWeeklyScore {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub current_score: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub has_got_score_rank: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
    /// offset: 48
    #[prost(int64, tag = "11")]
    pub end_time: i64,
}
/// Obf: NGIMLOKDMHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8469)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTakeWeeklyRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub grid_fight_score_rank_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DIGBAPBMILO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8408)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTakeWeeklyRewardScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub mkjgfkmbjdb: ::core::option::Option<GridFightWeeklyScore>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FDABAEAGCIJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8582)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdateWeeklyRewardInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub mkjgfkmbjdb: ::core::option::Option<GridFightWeeklyScore>,
}
/// Obf: OOHKGLFAFPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightArchiveData {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub clpjpjpmcfc: ::core::option::Option<GridFightFinishInfo>,
    /// offset: 56
    #[prost(int64, tag = "9")]
    pub keaijdhfpbf: i64,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fdldlhoajmb: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub pgfacppnaac: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub poioedokcga: u32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub hlbddpdcfmh: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub season: u32,
}
/// Obf: BBDHOCEHOAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightGetArchiveCsReq {
    /// offset: 24
    #[prost(enumeration = "Hoamfmhcgfp", tag = "7")]
    pub r#type: i32,
}
/// Obf: PIHACKNAEOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8487)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGetArchiveScRsp {
    /// offset: 32
    #[prost(enumeration = "Hoamfmhcgfp", tag = "9")]
    pub r#type: i32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub kjnjodndfff: ::prost::alloc::vec::Vec<GridFightArchiveData>,
}
/// Obf: LLKPPJKBICI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8438)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FavourArchiveCsReq {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub hlbddpdcfmh: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub fdldlhoajmb: u32,
}
/// Obf: DCMGBIEPNOP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8507)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FavourArchiveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub fdldlhoajmb: u32,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub hlbddpdcfmh: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LIIJFJMOEEJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8456)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightSyncKeepWinCntNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kgjgbdciljh: u32,
}
/// Obf: GCMAMEDPFEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8597)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GridFightBackToPrepareReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8542)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nlnlipcmnog {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggamcodinhm {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub pos: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub role_star: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub role_id: u32,
    /// offset: 44
    #[prost(bool, tag = "13")]
    pub ceomkkjhmfb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfobaccmkna {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub kmldkdnlcdj: ::prost::alloc::vec::Vec<Ggamcodinhm>,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub dice_slot_id: u32,
    /// offset: 16
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "7")]
    pub bgcpnfgmhjl: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pccfhcogjmo {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8480)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeckgofkoan {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub dmjecfijpfj: ::prost::alloc::vec::Vec<Bfobaccmkna>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub bafhldnaoel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibbacfkokga {
    /// offset: 40
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub kmldkdnlcdj: ::prost::alloc::vec::Vec<Ggamcodinhm>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub dice_slot_id: u32,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub bgcpnfgmhjl: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgniconkncd {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub cmfloddghoh: ::core::option::Option<Bfobaccmkna>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpcoajphhgn {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub hmmcmbhmapp: ::core::option::Option<Bfobaccmkna>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8478)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhmeblkkgjd {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ogpbmipogbb: ::core::option::Option<Bfobaccmkna>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibghbjiojgl {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dice_slot_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8525)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Chefallmfjp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bafhldnaoel: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub cajemgakhgf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dfbkjgpdmjj {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub fhnomlmnlji: u32,
    /// offset: 24
    #[prost(enumeration = "dfbkjgpdmjj::caofjehknjk::Nplbjnpafad", tag = "4")]
    pub r#type: i32,
}
/// Nested message and enum types in `DFBKJGPDMJJ`.
pub mod dfbkjgpdmjj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
    pub struct Caofjehknjk {}
    /// Nested message and enum types in `CAOFJEHKNJK`.
    pub mod caofjehknjk {
        #[derive(proto_derive::CmdID)]
        #[derive(
            Clone,
            Copy,
            Debug,
            PartialEq,
            Eq,
            Hash,
            PartialOrd,
            Ord,
            ::prost::Enumeration
        )]
        #[repr(i32)]
        pub enum Nplbjnpafad {
            Dcofgadapbh = 0,
            Cldendoebje = 1,
            Moimihkijpc = 2,
        }
        impl Nplbjnpafad {
            /// String value of the enum field names used in the ProtoBuf definition.
            ///
            /// The values are not transformed in any way and thus are considered stable
            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
            pub fn as_str_name(&self) -> &'static str {
                match self {
                    Self::Dcofgadapbh => "NPLBJNPAFAD_DCOFGADAPBH",
                    Self::Cldendoebje => "NPLBJNPAFAD_CLDENDOEBJE",
                    Self::Moimihkijpc => "NPLBJNPAFAD_MOIMIHKIJPC",
                }
            }
            /// Creates an enum from field names used in the ProtoBuf definition.
            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
                match value {
                    "NPLBJNPAFAD_DCOFGADAPBH" => Some(Self::Dcofgadapbh),
                    "NPLBJNPAFAD_CLDENDOEBJE" => Some(Self::Cldendoebje),
                    "NPLBJNPAFAD_MOIMIHKIJPC" => Some(Self::Moimihkijpc),
                    _ => None,
                }
            }
        }
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8572)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmmmfkapjcm {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub bafhldnaoel: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8517)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iecfjnaadjb {
    /// offset: 16
    #[prost(string, tag = "3")]
    pub kgphcbifnad: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "1")]
    pub gllchmpbkgb: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8445)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahmceeabdoi {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub gllchmpbkgb: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "12")]
    pub kgphcbifnad: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialDialogueInfo {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dialogue_id: u32,
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub gbcfgpdcpba: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialScriptInfo {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub script_id: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub fnnpoajkjoc: bool,
    /// offset: 33
    #[prost(bool, tag = "1")]
    pub hebomnnblgo: bool,
    /// offset: 24
    #[prost(enumeration = "HeartDialEmotionType", tag = "11")]
    pub cur_emotion_type: i32,
    /// offset: 28
    #[prost(enumeration = "HeartDialStepType", tag = "2")]
    pub step: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npdbekkkpbb {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub script_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub boibdnigfnc: u32,
}
/// Obf: GCMDMCGKGJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6357)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoCsReq {}
/// Obf: AMBPCPPAACE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub script_info_list: ::prost::alloc::vec::Vec<HeartDialScriptInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub dialogue_info_list: ::prost::alloc::vec::Vec<HeartDialDialogueInfo>,
    /// offset: 48
    #[prost(enumeration = "HeartDialUnlockStatus", tag = "15")]
    pub unlock_status: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub ckfalfepaap: ::prost::alloc::vec::Vec<Npdbekkkpbb>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BPIPNHODIGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6355)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionCsReq {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub cbndjpbpeop: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
    /// offset: 32
    #[prost(enumeration = "HeartDialEmotionType", tag = "12")]
    pub target_emotion_type: i32,
}
/// Obf: KBHOIDMFJOB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6375)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeScriptEmotionScRsp {
    /// offset: 32
    #[prost(enumeration = "HeartDialEmotionType", tag = "12")]
    pub emotion_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub script_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: GNANIJPKBJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6338)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cbndjpbpeop: u32,
}
/// Obf: MGMAJEBCEDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6362)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemScRsp {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub script_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JFHCNBIBDDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6347)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceCsReq {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub cbndjpbpeop: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dialogue_id: u32,
}
/// Obf: GEFLFHFFFPI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6320)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceScRsp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub dialogue_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JPMDLNAEGML
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6326)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialScriptChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub iiejbbmjgkb: ::prost::alloc::vec::Vec<HeartDialDialogueInfo>,
    /// offset: 48
    #[prost(enumeration = "HeartDialUnlockStatus", tag = "9")]
    pub unlock_status: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub ckfalfepaap: ::prost::alloc::vec::Vec<Npdbekkkpbb>,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub mgknpnciake: ::prost::alloc::vec::Vec<HeartDialScriptInfo>,
}
/// Obf: IJKJMCEMKIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6305)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ggefknkmmjc: ::core::option::Option<Npdbekkkpbb>,
}
/// Obf: JHJOEKGHEDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6337)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeartDialTraceScriptScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ggefknkmmjc: ::core::option::Option<Npdbekkkpbb>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncgiffcpfig {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub nmfjhldbbcl: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub honhiapmald: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LKPHDMGFEKC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeData {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub mkmijhdopjj: bool,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub star: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeLineup {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
}
/// Obf: JHFAMAIHBMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5857)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataCsReq {}
/// Obf: OLDCPPLJBPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataScRsp {
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub elblakkbibf: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub blomncdiand: ::prost::alloc::vec::Vec<HeliobusChallengeLineup>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub dfmlllijdga: ::prost::alloc::vec::Vec<Egiklfdnadm>,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub fhgikeecmdh: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub abifdgbpllm: u32,
    /// offset: 76
    #[prost(uint32, tag = "4")]
    pub phase: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub skill_info: ::core::option::Option<Ncgiffcpfig>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub challenge_list: ::prost::alloc::vec::Vec<HeliobusChallengeData>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efkjgnaiaen {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub fndfpkoejkp: ::prost::alloc::vec::Vec<Efkjgnaiaen>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub okklmjpcedm: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub haphoffjbje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egiklfdnadm {
    /// offset: 49
    #[prost(bool, tag = "15")]
    pub apcmpamdppd: bool,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub mnncmlkjoll: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub fijdnddnpmb: ::prost::alloc::vec::Vec<Efkjgnaiaen>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub pmmmphghija: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub jnofkmojbhe: u32,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub kpnoimkioli: bool,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub ichjchinfbj: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub lgcngimegjb: u32,
}
/// Obf: GCMLNELEBNA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5855)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ichjchinfbj: u32,
}
/// Obf: KHOBBHOLCLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5875)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsReadScRsp {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ichjchinfbj: u32,
}
/// Obf: ONJMBPICAAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5838)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostCsReq {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub ichjchinfbj: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub jnofkmojbhe: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub lgcngimegjb: u32,
}
/// Obf: BJLMFCGMNBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5862)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub fiodgiophem: ::core::option::Option<Egiklfdnadm>,
}
/// Obf: GDJBONLFFOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5847)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ichjchinfbj: u32,
}
/// Obf: LICCEFAFNPK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5820)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsLikeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ichjchinfbj: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub kpnoimkioli: bool,
}
/// Obf: IFPBILCMDPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5826)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub gpchghdamgj: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub okklmjpcedm: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ichjchinfbj: u32,
}
/// Obf: FHJAIJJNOKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5805)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub fiodgiophem: ::core::option::Option<Egiklfdnadm>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CHGENCGABHN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5837)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub didnoanjojg: ::prost::alloc::vec::Vec<Egiklfdnadm>,
}
/// Obf: JDKAOKGCLOM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5869)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusInfoChangedScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub didnoanjojg: ::prost::alloc::vec::Vec<Egiklfdnadm>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub phase: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fhgikeecmdh: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub elblakkbibf: u32,
}
/// Obf: LBNEIAPABOB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5866)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelCsReq {}
/// Obf: CJAPEECAEKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5879)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUpgradeLevelScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: FNINPPPEGBP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5845)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusUnlockSkillScNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub nmfjhldbbcl: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
}
/// Obf: FAHAEGGCIBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5889)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
}
/// Obf: ICJLHMHLMCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5876)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Faoafeboble {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub skill_id: u32,
}
/// Obf: KDGFJAMBKFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5895)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusSelectSkillScRsp {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: IFDKHLHJJGA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5877)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeliobusChallengeUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub jbnckfnjdkp: ::core::option::Option<HeliobusChallengeData>,
}
/// Obf: NLNOOJEANJK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5814)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusLineupUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<HeliobusChallengeLineup>,
}
/// Obf: MMMBGPCHNCJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5896)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub raid_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub kibnbpmalpj: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "1")]
    pub is_save: bool,
}
/// Obf: HJMICOPDDIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5880)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<Oglaijdpioe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Copenclfcoc {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub value: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmglojfdmjc {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub r#type: u32,
    /// offset: 24
    #[prost(int32, tag = "2")]
    pub value: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejcgfefebai {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub cpgdhkepmcp: ::prost::alloc::vec::Vec<Copenclfcoc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iiflnjeldaj {
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub ienejanfnof: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "Himnpilabbh", tag = "15")]
    pub r#type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlockmnfiie {
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub pfjgalihppb: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ldejfbhjpej: ::core::option::Option<Iiflnjeldaj>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub ekjombcegmb: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<Iiflnjeldaj>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub gmbmeemdghp: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub feefdkjiela: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mphaafnbjeh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eipibelnlmh {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub pddmkkaokgi: ::core::option::Option<Ejcgfefebai>,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub nhoblcbjpoj: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub gnfeedchbgo: ::core::option::Option<Mphaafnbjeh>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub phojohaogaj: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub pjkokggfbgm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nbojjgjijbe: ::core::option::Option<Mlockmnfiie>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dncedbpjjcl {
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub oieapgbblnn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub lgdfknaajip: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgnfamjkajb {
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub is_taken_reward: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub nldfppbcogl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmjngbapdmp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ghblghocaco: ::prost::alloc::vec::Vec<Lgnfamjkajb>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cpfelfnlccm {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub hclhlphpidc: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub hccgejikebf: u32,
}
/// Obf: JEBBPOEOFOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9050)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetHipplenDataCsReq {}
/// Obf: KNFPDECJODK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9049)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHipplenDataScRsp {
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub gkkafbnopji: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub pibginpedak: ::core::option::Option<Eipibelnlmh>,
    /// offset: 48
    #[prost(bool, tag = "14")]
    pub kklgbeinbba: bool,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub jgemhoffnbl: ::core::option::Option<Dncedbpjjcl>,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub fligggcnhei: ::core::option::Option<Cmjngbapdmp>,
}
/// Obf: DHFBNNDJMJN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9024)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetHipplenInheritCsReq {}
/// Obf: ANKHIEONCPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9007)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHipplenInheritScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EPOOOHMBHMG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9039)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHipplenAgendaCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GHCJLFOCEIH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9033)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHipplenAgendaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<Iiflnjeldaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mnhafndlkma {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub eplabnmohog: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfmnklanbmk {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kioncbphofo {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub aoggmhelnei: ::prost::alloc::vec::Vec<Cpfelfnlccm>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub jcalhnkmcll: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kipdhmbogac {}
/// Obf: DLCMMADMIEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleHipplenWorkCsReq {
    #[prost(oneof = "settle_hipplen_work_cs_req::Lcibglegjfk", tags = "12, 8, 11, 1")]
    pub lcibglegjfk: ::core::option::Option<settle_hipplen_work_cs_req::Lcibglegjfk>,
}
/// Nested message and enum types in `SettleHipplenWorkCsReq`.
pub mod settle_hipplen_work_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lcibglegjfk {
        /// offset: 16
        #[prost(message, tag = "12")]
        Jpfnhpgenjn(super::Mnhafndlkma),
        /// offset: 16
        #[prost(message, tag = "8")]
        Idkedglkfdj(super::Pfmnklanbmk),
        /// offset: 16
        #[prost(message, tag = "11")]
        Gjncbnfejbn(super::Kioncbphofo),
        /// offset: 16
        #[prost(message, tag = "1")]
        Fnlgbfbjlak(super::Kipdhmbogac),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajpjefdhiec {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pjkokggfbgm: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub eplabnmohog: u32,
    /// offset: 24
    #[prost(int32, tag = "14")]
    pub jiledkphmip: i32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub ehgfjnhgmpf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Picfmcnbjne {
    /// offset: 24
    #[prost(int32, tag = "15")]
    pub jiledkphmip: i32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub eplabnmohog: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub ehgfjnhgmpf: u32,
}
/// Obf: DMENFNLGMKJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleHipplenWorkScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub kaaappkhcfn: ::prost::alloc::vec::Vec<Cmglojfdmjc>,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<Iiflnjeldaj>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub pddmkkaokgi: ::core::option::Option<Ejcgfefebai>,
    #[prost(oneof = "settle_hipplen_work_sc_rsp::Pdkhbdoohca", tags = "10, 3")]
    pub pdkhbdoohca: ::core::option::Option<settle_hipplen_work_sc_rsp::Pdkhbdoohca>,
}
/// Nested message and enum types in `SettleHipplenWorkScRsp`.
pub mod settle_hipplen_work_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Pdkhbdoohca {
        /// offset: 24
        #[prost(message, tag = "10")]
        Jpfnhpgenjn(super::Ajpjefdhiec),
        /// offset: 24
        #[prost(message, tag = "3")]
        Kbcnegmmald(super::Picfmcnbjne),
    }
}
/// Obf: PNGEABEHLAG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9008)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenAgendaResultScNotify {
    /// offset: 48
    #[prost(uint32, repeated, tag = "13")]
    pub pakaancimgj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<Iiflnjeldaj>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub pibginpedak: ::core::option::Option<Eipibelnlmh>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub nedkaikhojc: ::core::option::Option<Picfmcnbjne>,
    /// offset: 56
    #[prost(message, optional, tag = "15")]
    pub abgglfcmjoh: ::core::option::Option<Ejcgfefebai>,
    /// offset: 72
    #[prost(bool, tag = "2")]
    pub imiahobpmkd: bool,
    /// offset: 64
    #[prost(uint32, repeated, tag = "5")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GGOGDDOMKGH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9006)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenCycleResultScNotify {
    /// offset: 56
    #[prost(uint32, repeated, tag = "15")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub oieapgbblnn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub kldldabdanl: ::prost::alloc::vec::Vec<Cpfelfnlccm>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ecohhfoidli: ::core::option::Option<Ejcgfefebai>,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub gkkafbnopji: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub dpiingjjnpn: ::prost::alloc::vec::Vec<Cpfelfnlccm>,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub nldfppbcogl: u32,
}
/// Obf: AIMJPDIBKGA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9043)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenHipplenCycleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub trait_id: u32,
}
/// Obf: DPJNKFDENKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9003)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenHipplenCycleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub gkkafbnopji: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub pibginpedak: ::core::option::Option<Eipibelnlmh>,
}
/// Obf: JPKKDGCMCMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9031)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetHipplenOutfitCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub plgclmmpnnd: u32,
}
/// Obf: DBNPNGENGII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9029)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHipplenOutfitScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub lgdfknaajip: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PGAGJEHFKOE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9001)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenTraitUnlockScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GBCGDHGJPJL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9020)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeHipplenEndingRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub nldfppbcogl: u32,
}
/// Obf: CJLJLDBJAMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9038)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeHipplenEndingRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nldfppbcogl: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fpgedaglhok {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub plgclmmpnnd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mgjlikgejhj {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub nldfppbcogl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aokdmcbdkfb {
    #[prost(oneof = "aokdmcbdkfb::Mgkehfmcbbp", tags = "8, 2")]
    pub mgkehfmcbbp: ::core::option::Option<aokdmcbdkfb::Mgkehfmcbbp>,
}
/// Nested message and enum types in `AOKDMCBDKFB`.
pub mod aokdmcbdkfb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "8")]
        Gcphnkfbbpn(super::Fpgedaglhok),
        /// offset: 16
        #[prost(message, tag = "2")]
        Fhohcenjdnn(super::Mgjlikgejhj),
    }
}
/// Obf: KIIBKJIFFCE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Aokdmcbdkfb>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9480)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hlhoanbbncd {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dpnkpmbepjp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9478)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Olmfiegndkp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dpnkpmbepjp: u32,
}
/// Obf: APFGIDGIDCI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(557)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBagCsReq {}
/// Obf: GHLGMBJMLEP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Equipment {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub exp: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub promotion: u32,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub is_protected: bool,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dress_avatar_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub tid: u32,
}
/// Obf: NNDLOJHOGAG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relic {
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub dress_avatar_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub reforge_block_sub_affix_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub acnhglocfen: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub main_affix_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub reforge_sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
    /// offset: 72
    #[prost(bool, tag = "8")]
    pub is_discarded: bool,
    /// offset: 73
    #[prost(bool, tag = "9")]
    pub is_protected: bool,
}
/// Obf: CPGCCFJJLLE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Material {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub tid: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub num: u32,
    /// offset: 24
    #[prost(uint64, tag = "9")]
    pub expire_time: u64,
}
/// Obf: MJIBJNOKEPA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WaitDelResource {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Material0 {
    /// offset: 32
    #[prost(uint64, tag = "9")]
    pub expire_time: u64,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub tid: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbifeldoace {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub omllplggnmf: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub bpmhfmdibae: ::core::option::Option<PileItem>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgkhjckkeej {
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub time: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub ighekgicagd: ::prost::alloc::vec::Vec<Jbifeldoace>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcklhhkfejg {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub tid: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub dcjpedkhpec: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GJFODGAMOAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(528)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagScRsp {
    /// offset: 80
    #[prost(message, repeated, tag = "5")]
    pub ccdkigjgijg: ::prost::alloc::vec::Vec<Material0>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    /// offset: 128
    #[prost(message, repeated, tag = "7")]
    pub fopjbecopgg: ::prost::alloc::vec::Vec<Material>,
    /// offset: 120
    #[prost(message, repeated, tag = "8")]
    pub ndenjlninah: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 88
    #[prost(uint32, repeated, tag = "2")]
    pub doamfgikngb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(message, repeated, tag = "15")]
    pub okikcjimdge: ::prost::alloc::vec::Vec<Pgkhjckkeej>,
    /// offset: 112
    #[prost(message, repeated, tag = "10")]
    pub fdmaafifgok: ::prost::alloc::vec::Vec<Material0>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "4")]
    pub ookjoapaaof: ::prost::alloc::vec::Vec<u32>,
    /// offset: 140
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 136
    #[prost(uint32, tag = "3")]
    pub iochmcngeab: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "1")]
    pub wait_del_resource_list: ::prost::alloc::vec::Vec<WaitDelResource>,
    /// offset: 48
    #[prost(message, repeated, tag = "1972")]
    pub ndinaemjmjb: ::prost::alloc::vec::Vec<Fcklhhkfejg>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub dphalahmafc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(message, repeated, tag = "14")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    /// offset: 32
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "9")]
    pub ikamofgeeik: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: DGJONBJHBNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub equipment_unique_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(575)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: NDGBCIGMLII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(538)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockEquipmentCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ahpkppgcadj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub is_locked: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(562)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LockEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: CGCIAMLGOII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(547)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UseItemCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub oghefeomdkl: bool,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub pfjomibgghm: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub cphdmoikimf: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub base_avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub optional_reward_id: u32,
    /// offset: 40
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub fmifmopcpib: i32,
}
/// Obf: IMNNHFCELML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(520)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseItemScRsp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint64, tag = "12")]
    pub lkecmkcfiel: u64,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub pfjomibgghm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub dmohpdeogdf: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub cocnbaeagfg: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub cphdmoikimf: u32,
}
/// Obf: HBIPCLENMIN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(526)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub equipment_unique_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(505)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fchkjplijdp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub equipment_unique_id: u32,
}
/// Obf: MMBJDLEEGEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(543)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchRankUpEquipmentCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub switch_list: ::prost::alloc::vec::Vec<Fchkjplijdp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(558)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BatchRankUpEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: EMFMGPJMDAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub equipment_unique_id: u32,
}
/// Obf: CKFMOMGPAFP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(569)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: NKGBJAEMFIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(566)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpecialComposeItemCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub llfhjdjabfg: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub aghdciafkpe: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub count: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub compose_id: u32,
}
/// Obf: BPNEDDKGLFN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(579)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub compose_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub count: u32,
}
/// Obf: IKMLMIKKNFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(577)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicCsReq {
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub count: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ecangnhmpln: ::core::option::Option<ItemCostData>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub ikkpebhiokl: ::core::option::Option<ItemCostData>,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub bejnhonobhj: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub compose_id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub chgipgkagca: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub main_affix_id: u32,
}
/// Obf: NJGMBCDJNLF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(514)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub compose_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KELAMAJKONK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(545)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub relic_unique_id: u32,
}
/// Obf: NBAOHKHNNJH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(583)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
/// Obf: PGIGBMAJBHB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(595)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LockRelicCsReq {
    /// offset: 33
    #[prost(bool, tag = "9")]
    pub ojonldmdggm: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub jijhjkmihpm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_locked: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(534)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LockRelicScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: IABOIDNDJOJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(508)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicCsReq {
    /// offset: 44
    #[prost(bool, tag = "12")]
    pub dddnehabbbh: bool,
    /// offset: 40
    #[prost(enumeration = "RelicDiscardType", tag = "2")]
    pub mlgnheonpfc: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub jijhjkmihpm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint64, tag = "6")]
    pub pgpnkkmbeak: u64,
}
/// Obf: JCFIJNHNJJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(570)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DiscardRelicScRsp {
    /// offset: 32
    #[prost(enumeration = "RelicDiscardType", tag = "8")]
    pub mlgnheonpfc: i32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub dddnehabbbh: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub jijhjkmihpm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKKMLLLHBNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub cgloommjglg: bool,
}
/// Obf: EKBCNOIBNBE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(589)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub return_item_list: ::core::option::Option<ItemList>,
}
/// Obf: AMFGLPOLMLC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(576)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RechargeSuccNotify {
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub ldegpiolflg: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "7")]
    pub lkecmkcfiel: u64,
    /// offset: 16
    #[prost(string, tag = "15")]
    pub product_id: ::prost::alloc::string::String,
}
/// Obf: JMPBLPBGFMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(596)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
/// Obf: COBGAACAFLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(580)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeHcoinScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: MEFPCPLHKDK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(512)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AddEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub faiogbephhe: u32,
}
/// Obf: INJPDOMBCGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(550)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecycleTimeCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub lgondneclbi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IGDOLBOFJMF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(586)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub fdmaafifgok: ::prost::alloc::vec::Vec<Material0>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cgjekaghhlg {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub nmljdnhofpk: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ikflnlljinm: u32,
}
/// Obf: KPELPNJMFFN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(509)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumCompleteScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub lnnkjbgmhhm: ::prost::alloc::vec::Vec<Cgjekaghhlg>,
}
/// Obf: GCLDKAFBABA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(585)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub egjinbjpoij: ::core::option::Option<Cgjekaghhlg>,
}
/// Obf: PMIEMINGANJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(511)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DestroyItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub cdkanabelgf: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub item_count: u32,
}
/// Obf: OCPALMONLLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(578)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DestroyItemScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cdkanabelgf: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LLAGFOGBLFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(513)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMarkItemListCsReq {}
/// Obf: MMCFAJACNML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(599)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkItemListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub ldfhbkhjenn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: IIBJPNPHKGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(542)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkItemCsReq {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub goclidokigo: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
/// Obf: LBKMHKNDGCK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(516)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkItemScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub goclidokigo: bool,
}
/// Obf: DJLPIFGHFED
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(552)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelMarkItemNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
/// Obf: HOCMBNLOBMA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(582)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTurnFoodNotify {
    /// offset: 16
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "9")]
    pub ikamofgeeik: ::prost::alloc::vec::Vec<i32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub ookjoapaaof: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FCNALHOKNOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(588)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetTurnFoodSwitchCsReq {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub ikjglhligdh: bool,
    /// offset: 28
    #[prost(enumeration = "TurnFoodSwitch", tag = "11")]
    pub dfaihnlkjkp: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(551)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eimgnaoalkn {
    /// offset: 28
    #[prost(enumeration = "TurnFoodSwitch", tag = "15")]
    pub dfaihnlkjkp: i32,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub ikjglhligdh: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: BCCHGNMAOKP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(556)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeneralVirtualItemDataNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub nllkmbdjjdo: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub omfdcebehlh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pngkbmdklbp {
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub cicjpbbpgdn: bool,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub kcgplclocdf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pliennodnnl {
    /// offset: 40
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub agmdmecgklp: ::core::option::Option<Cnkcdkmjjck>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub phflgcnjgfh: u32,
    /// offset: 64
    #[prost(bool, tag = "4")]
    pub is_marked: bool,
    /// offset: 48
    #[prost(int64, tag = "15")]
    pub cfeahbioolb: i64,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub bocpgipiikb: ::core::option::Option<Pngkbmdklbp>,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub figigjnngdi: u32,
}
/// Obf: BOKHMPKGBIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(530)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanCsReq {}
/// Obf: IOOAEFIMKNG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(518)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub pamgmnnogck: ::prost::alloc::vec::Vec<Pliennodnnl>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: BMCFGNACIEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanCsReq {
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub phflgcnjgfh: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub agmdmecgklp: ::core::option::Option<Cnkcdkmjjck>,
    /// offset: 32
    #[prost(string, tag = "15")]
    pub name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub bocpgipiikb: ::core::option::Option<Pngkbmdklbp>,
    /// offset: 52
    #[prost(bool, tag = "14")]
    pub is_marked: bool,
}
/// Obf: JGONAHPBOPK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddRelicFilterPlanScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub relic_plan: ::core::option::Option<Pliennodnnl>,
}
/// Obf: KLCDMDOCHNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(598)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub figigjnngdi: u32,
    #[prost(oneof = "modify_relic_filter_plan_cs_req::Mgkehfmcbbp", tags = "12, 5, 13")]
    pub mgkehfmcbbp: ::core::option::Option<
        modify_relic_filter_plan_cs_req::Mgkehfmcbbp,
    >,
}
/// Nested message and enum types in `ModifyRelicFilterPlanCsReq`.
pub mod modify_relic_filter_plan_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(string, tag = "12")]
        Name(::prost::alloc::string::String),
        /// offset: 16
        #[prost(message, tag = "5")]
        Bocpgipiikb(super::Pngkbmdklbp),
        /// offset: 16
        #[prost(message, tag = "13")]
        Agmdmecgklp(super::Cnkcdkmjjck),
    }
}
/// Obf: HAKNNMHKJCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModifyRelicFilterPlanScRsp {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub figigjnngdi: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "2")]
    pub cfeahbioolb: i64,
    #[prost(oneof = "modify_relic_filter_plan_sc_rsp::Mgkehfmcbbp", tags = "5, 6, 1")]
    pub mgkehfmcbbp: ::core::option::Option<
        modify_relic_filter_plan_sc_rsp::Mgkehfmcbbp,
    >,
}
/// Nested message and enum types in `ModifyRelicFilterPlanScRsp`.
pub mod modify_relic_filter_plan_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(string, tag = "5")]
        Name(::prost::alloc::string::String),
        /// offset: 16
        #[prost(message, tag = "6")]
        Bocpgipiikb(super::Pngkbmdklbp),
        /// offset: 16
        #[prost(message, tag = "1")]
        Agmdmecgklp(super::Cnkcdkmjjck),
    }
}
/// Obf: ICNGIPGFFOL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(506)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanCsReq {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub ojonldmdggm: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(581)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteRelicFilterPlanScRsp {
    /// offset: 36
    #[prost(bool, tag = "6")]
    pub ojonldmdggm: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DJAKLNHNIDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(597)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub acmechlphil: bool,
    /// offset: 33
    #[prost(bool, tag = "8")]
    pub ojonldmdggm: bool,
}
/// Obf: CILLACEGOBF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(515)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkRelicFilterPlanScRsp {
    /// offset: 33
    #[prost(bool, tag = "14")]
    pub ojonldmdggm: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub acmechlphil: bool,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(591)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicFilterPlanClearNameScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub figigjnngdi: u32,
}
/// Obf: FIKOLLCKGKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(522)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub reforge_block_sub_affix_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub relic_unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(572)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: NDLFDIFFOMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(560)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub flnbhaealbl: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(568)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicReforgeConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicData {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub is_played: bool,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Appbdhohkgi {
    /// offset: 28
    #[prost(bool, tag = "9")]
    pub mnfggmahglj: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfonpfidgcn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub dkkfejiedmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imenepmcakm {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub dllemejfjjf: ::core::option::Option<Appbdhohkgi>,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub glnhgojcfcc: ::prost::alloc::vec::Vec<Cfonpfidgcn>,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub hakfonmhfmb: bool,
}
/// Obf: EPLONEEGBIO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataCsReq {}
/// Obf: AMCCKEMPGCC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub diodopfienb: ::core::option::Option<Imenepmcakm>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub unlocked_music_list: ::prost::alloc::vec::Vec<MusicData>,
}
/// Obf: LIIHPNHFPKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3155)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub kakphedcgel: ::core::option::Option<Imenepmcakm>,
}
/// Obf: AEPBMAEPDLP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub diodopfienb: ::core::option::Option<Imenepmcakm>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KKKKGGMGFPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub unlock_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NJONDMBHNAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3162)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub unlocked_music_list: ::prost::alloc::vec::Vec<MusicData>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kkmbdjcddbf: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub kegemnibaci: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrialBackGroundMusicScRsp {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub kegemnibaci: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpicgadgpnc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub kihbfoiilih: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ichjchinfbj: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub jdjkganegng: u32,
    /// offset: 29
    #[prost(bool, tag = "15")]
    pub hafpkghpake: bool,
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub fgnbgidhipo: bool,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub ilibagpkojb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Klfcimklidb {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub fgnbgidhipo: bool,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jpgldkppmfo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Giehhkgcchh {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub jonaefnacif: ::prost::alloc::vec::Vec<Klfcimklidb>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub pkfgakhocen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bdbamlhbefc {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub koaghmadhlj: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ldnikbjoedh: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jiefmopbkib {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub jjkcfoenngk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub glgfeloiloo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjolfickdki {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub lafihfgabbm: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub kihbfoiilih: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejlppdjljjg {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9200)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flmhldeofii {
    /// offset: 72
    #[prost(message, repeated, tag = "3")]
    pub njfdaajkjob: ::prost::alloc::vec::Vec<Jjolfickdki>,
    /// offset: 88
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 96
    #[prost(uint32, tag = "8")]
    pub amijffiijgf: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub deanchmphnl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "7")]
    pub kcjbgckkbom: ::prost::alloc::vec::Vec<Lpicgadgpnc>,
    /// offset: 80
    #[prost(uint32, repeated, tag = "14")]
    pub gkineendapj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub bpkjbnolobh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(bool, tag = "11")]
    pub bkbleblmeoj: bool,
    /// offset: 64
    #[prost(message, repeated, tag = "13")]
    pub ohkggffdoie: ::prost::alloc::vec::Vec<Giehhkgcchh>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub heckfaocbei: ::prost::alloc::vec::Vec<Jiefmopbkib>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub boakdfaooki: ::prost::alloc::vec::Vec<Bdbamlhbefc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjnejlkegen {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ichjchinfbj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9183)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmcobfnnhco {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub fiodgiophem: ::core::option::Option<Lpicgadgpnc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pagplakopod {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub pkfgakhocen: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9204)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gehoabmladm {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pkfgakhocen: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlkfaabdgec {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub iccjobieeoi: ::prost::alloc::vec::Vec<Jiefmopbkib>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pelojihfpof {
    #[prost(oneof = "pelojihfpof::Nnpkchfkppc", tags = "2, 1, 5, 9, 11, 14, 4, 13, 15")]
    pub nnpkchfkppc: ::core::option::Option<pelojihfpof::Nnpkchfkppc>,
}
/// Nested message and enum types in `PELOJIHFPOF`.
pub mod pelojihfpof {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Iehpklmmobj(u32),
        /// offset: 24
        #[prost(message, tag = "1")]
        Emomdbnahbi(super::Lpicgadgpnc),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        Jjoggccfkml(u32),
        /// offset: 24
        #[prost(uint32, tag = "9")]
        Ehllekijhap(u32),
        /// offset: 24
        #[prost(message, tag = "11")]
        Iehceakdbfc(super::Jjolfickdki),
        /// offset: 24
        #[prost(message, tag = "14")]
        Nfgngkoiekc(super::Bdbamlhbefc),
        /// offset: 24
        #[prost(message, tag = "4")]
        Fajbeegkobc(super::Mlkfaabdgec),
        /// offset: 24
        #[prost(uint32, tag = "13")]
        Amijffiijgf(u32),
        /// offset: 24
        #[prost(uint32, tag = "15")]
        Ejdddoaiikh(u32),
    }
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9190)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cifmmilklpc {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Pelojihfpof>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdgbeefecmh {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub display_value: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9206)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jpgojdhhglk {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub display_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mndjjaojmpi {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9197)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aimjhhecjpe {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mihfmeapnbo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub mmmpdgibepm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(enumeration = "LimaoNewsOfficeSurveyState", repeated, tag = "8")]
    pub lilkmgpnhle: ::prost::alloc::vec::Vec<i32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub bjjncejeego: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9191)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eoplbnjpkig {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhmpnmjnceh {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub glgfeloiloo: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9189)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cdehmkjeeff {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub glgfeloiloo: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Boiogccnbdg {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub gpmhcgbaoal: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9184)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmkodghfeok {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub gpmhcgbaoal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oefnhffabdj {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub ichjchinfbj: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub okklmjpcedm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9207)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkkldpifepo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub okklmjpcedm: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ichjchinfbj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Neliinkobpn {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9208)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ijojmnjhndc {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahmfkapblnm {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub fgnbgidhipo: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ichjchinfbj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9186)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Moghfmddhmc {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub ichjchinfbj: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub fgnbgidhipo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ifjnhieajhn {
    /// offset: 28
    #[prost(bool, tag = "9")]
    pub fgnbgidhipo: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub jpgldkppmfo: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9205)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcokafcdhoe {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub fgnbgidhipo: bool,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jpgldkppmfo: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStageLineupCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpbkmgnenll {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub stage_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ngadkjhhkhf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStageLineupScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub eclclbpahnl: ::prost::alloc::vec::Vec<Lpbkmgnenll>,
}
/// Obf: ENPFAILKFHI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LineupAvatar {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub hp: u32,
    /// offset: 40
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub slot: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub satiety: u32,
}
/// Obf: AEJBKKCFDKP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupInfo {
    /// offset: 65
    #[prost(bool, tag = "10")]
    pub is_virtual: bool,
    /// offset: 88
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub game_story_line_id: u32,
    /// offset: 32
    #[prost(string, tag = "12")]
    pub name: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub story_line_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub mp: u32,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub leader_slot: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub index: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<LineupAvatar>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub lkabbngggpk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(enumeration = "ExtraLineupType", tag = "1")]
    pub extra_lineup_type: i32,
    /// offset: 64
    #[prost(bool, tag = "8")]
    pub hcdjkflhdbk: bool,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub cdkchjlaiih: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "3")]
    pub max_mp: u32,
}
/// Obf: BAAHPGEDJPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(755)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataCsReq {}
/// Obf: HGELHHMKNFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: PLIIEEMFFNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinLineupCsReq {
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub index: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub slot: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub plane_id: u32,
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub is_virtual: bool,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "ExtraLineupType", tag = "5")]
    pub extra_lineup_type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(762)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JoinLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PDNPLBMBKIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitLineupCsReq {
    /// offset: 40
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub index: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub is_virtual: bool,
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "4")]
    pub extra_lineup_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(720)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitLineupScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub base_avatar_id: u32,
    /// offset: 37
    #[prost(bool, tag = "3")]
    pub is_virtual: bool,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub epdcgmfgloh: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: MOICMKEJLEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(726)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwapLineupCsReq {
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "10")]
    pub extra_lineup_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub index: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub gcjemdmceji: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub glnoabopgdh: u32,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub is_virtual: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub plane_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(705)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwapLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: MGEBKNFCMLI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(737)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncLineupNotify {
    /// offset: 16
    #[prost(enumeration = "SyncLineupReason", repeated, tag = "14")]
    pub reason_list: ::prost::alloc::vec::Vec<i32>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: KCLCJCHIEEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(769)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LineupAvatarData {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 32
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub hp: u32,
}
/// Obf: GCAHEHHEAFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(766)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub avatar_data_list: ::prost::alloc::vec::Vec<LineupAvatarData>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: LPKCDHLEMBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(779)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub slot: u32,
}
/// Obf: DEIOLBODKEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(745)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeLineupLeaderScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub slot: u32,
}
/// Obf: NJNCAHFGGND
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(783)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub index: u32,
}
/// Obf: DCIHOMPFKIF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(795)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchLineupIndexScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub index: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: AMHIIEODKLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(734)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub index: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: OHMPGBAICFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupNameScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "11")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub index: u32,
}
/// Obf: JLBCBPKOIAK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(789)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataCsReq {}
/// Obf: LHGANMJIKIG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(776)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub cur_index: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CFEODELELEI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(796)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VirtualLineupDestroyNotify {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LineupSlotData {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub slot: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "7")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub assist_uid: u32,
}
/// Obf: HLGBIGKFIMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupCsReq {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub index: u32,
    /// offset: 37
    #[prost(bool, tag = "5")]
    pub is_virtual: bool,
    /// offset: 52
    #[prost(enumeration = "ExtraLineupType", tag = "8")]
    pub extra_lineup_type: i32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub game_story_line_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub lineup_slot_list: ::prost::alloc::vec::Vec<LineupSlotData>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub leader_slot: u32,
    /// offset: 36
    #[prost(bool, tag = "12")]
    pub kcfcfcgemog: bool,
}
/// Obf: BFDFNCNCKGE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(777)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReplaceLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gccgoidmbmn: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: LCAAIIONFIJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(714)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExtraLineupDestroyNotify {
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "8")]
    pub extra_lineup_type: i32,
}
/// Obf: EDFNFJIMKAO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(712)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VirtualLineupTrialAvatarChangeScNotify {
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub lijacblempf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub plane_id: u32,
    /// offset: 40
    #[prost(bool, tag = "2")]
    pub clehbkealee: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub faobkbbkdod: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NOKGCLBCLKE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7400)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub iiplmdefcfk: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
    /// offset: 40
    #[prost(enumeration = "FightGameMode", tag = "11")]
    pub okkfcinadie: i32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub hjclkokhpcm: u32,
}
/// Obf: DHJHILMMHCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7399)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 44
    #[prost(enumeration = "FightGameMode", tag = "15")]
    pub okkfcinadie: i32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub hjclkokhpcm: u32,
    /// offset: 56
    #[prost(uint64, tag = "6")]
    pub room_id: u64,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: FIKHHEHENFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7353)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyInviteCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub nokcjajclcc: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7381)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pokndbaippo {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub nokcjajclcc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IPKKHHAMCHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7374)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinCsReq {
    /// offset: 40
    #[prost(uint64, tag = "2")]
    pub room_id: u64,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub iiplmdefcfk: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub ibbehngofbi: ::prost::alloc::string::String,
}
/// Obf: GMEIOIKDNFP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7357)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 44
    #[prost(enumeration = "FightGameMode", tag = "9")]
    pub okkfcinadie: i32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub hjclkokhpcm: u32,
    /// offset: 56
    #[prost(uint64, tag = "10")]
    pub room_id: u64,
}
/// Obf: ONCDLDCNIEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7379)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyQuitCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imcnemlgpfn {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7389)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkljcjjmbhh {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7383)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Npdmfmbheef {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NMBFGNBBIIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7397)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub bhdhbakbpah: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub iiplmdefcfk: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 36
    #[prost(enumeration = "LobbyModifyType", tag = "7")]
    pub r#type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7385)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aipmddhcccd {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PIININGIPEL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7393)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbySyncInfoScNotify {
    /// offset: 36
    #[prost(enumeration = "LobbyModifyType", tag = "9")]
    pub r#type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
/// Obf: LHBAMHAAMBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7358)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyKickOutCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7356)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jffiogepoop {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7369)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Khcdiigoijf {
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "9")]
    pub okkfcinadie: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub room_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub sender_id: u32,
}
/// Obf: PCNGDEKPMDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7351)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoCsReq {}
/// Obf: KJLLMHBEGDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7370)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoScRsp {
    /// offset: 64
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
    /// offset: 56
    #[prost(enumeration = "FightGameMode", tag = "15")]
    pub okkfcinadie: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 48
    #[prost(uint64, tag = "13")]
    pub cijoalfeoib: u64,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub hjclkokhpcm: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7388)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fcibpcjmgpk {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub oioncobaodk: u32,
    /// offset: 24
    #[prost(enumeration = "LobbyInteractType", tag = "10")]
    pub bneamffboda: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7361)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dfmajaehanb {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub oioncobaodk: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: MDCEEDOHJKA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7371)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LobbyInteractScNotify {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub sender_id: u32,
    /// offset: 24
    #[prost(enumeration = "LobbyInteractType", tag = "5")]
    pub bneamffboda: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Booapdmiafc {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ejkaonjfgga: ::core::option::Option<Ljlghljcdff>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7387)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnpikaglmmf {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bladamnnpjm {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ohahiifjjmi: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub aamonjjgdmk: u32,
}
/// Obf: NEFMPDKNFJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6576)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLocalLegendDataCsReq {}
/// Obf: DCLEGGCFBKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6585)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLocalLegendDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub gfgdjpdgojk: ::prost::alloc::vec::Vec<Bladamnnpjm>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oipkjjbbnoh {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
}
/// Obf: LOPDNGFGMHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6588)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartLocalLegendLevelCsReq {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ohahiifjjmi: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Oipkjjbbnoh>,
}
/// Obf: OIFKABFHOAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6586)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterLocalLegendLevelScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ohahiifjjmi: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: OFIEHKDAIAD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6584)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LocalLegendDataChangeNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ofjbjcpkafg: ::core::option::Option<Bladamnnpjm>,
}
/// Obf: AKGCGKOBDAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(857)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub fljnfgpjllj: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub jgihmaikkid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMail {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub attachment: ::core::option::Option<ItemList>,
    /// offset: 64
    #[prost(int64, tag = "11")]
    pub expire_time: i64,
    /// offset: 32
    #[prost(string, tag = "6")]
    pub content: ::prost::alloc::string::String,
    /// offset: 92
    #[prost(uint32, tag = "15")]
    pub template_id: u32,
    /// offset: 24
    #[prost(string, repeated, tag = "8")]
    pub para_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 72
    #[prost(bool, tag = "12")]
    pub is_read: bool,
    /// offset: 80
    #[prost(int64, tag = "2")]
    pub time: i64,
    /// offset: 56
    #[prost(string, tag = "9")]
    pub title: ::prost::alloc::string::String,
    /// offset: 88
    #[prost(enumeration = "MailType", tag = "7")]
    pub mail_type: i32,
    /// offset: 40
    #[prost(string, tag = "3")]
    pub sender: ::prost::alloc::string::String,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub start: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub notice_mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub total_num: u32,
    /// offset: 48
    #[prost(bool, tag = "8")]
    pub is_end: bool,
}
/// Obf: EAOLJOCPEDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(855)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkReadMailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(875)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnpcmbfinmc {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: DFLFPLFDDLH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(838)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub afahoikccja: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(862)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DelMailScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CLKAPHCNAEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(847)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub optional_reward_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub ehpmdjidfej: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjmhjbnkgjo {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub bagnfflgane: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(820)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub succ_mail_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub attachment: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub fail_mail_list: ::prost::alloc::vec::Vec<Hjmhjbnkgjo>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(826)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewMailScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgnmjegnggc {
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub njmpecgpjbj: u32,
    /// offset: 60
    #[prost(bool, tag = "1")]
    pub inffbhohibm: bool,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub rogue_map: ::core::option::Option<RotateMapInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 56
    #[prost(int32, tag = "8")]
    pub filjjbchfmg: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub lhaopofemia: ::prost::alloc::vec::Vec<ChargerInfo>,
    /// offset: 48
    #[prost(message, repeated, tag = "4")]
    pub ddmdiilldcj: ::prost::alloc::vec::Vec<RotaterData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotaterEnergyInfo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cur_num: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub max_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapInfo {
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub emkpklplnnl: ::core::option::Option<Vector>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub pmnepgealom: ::core::option::Option<Vector4>,
}
/// Obf: BILHIDOCGIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6857)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterMapRotationRegionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub njmpecgpjbj: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub filjjbchfmg: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6828)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ciiemdbojmj {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub filjjbchfmg: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub njmpecgpjbj: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub client_pos_version: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChargerInfo {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ehleomoepgd: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
}
/// Obf: HHGAIHDNAFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6855)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractChargerCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6875)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractChargerScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotaterData {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ehleomoepgd: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 32
    #[prost(float, tag = "3")]
    pub mdpkmojhmml: f32,
}
/// Obf: PNDLHMEFNNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6838)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotatorCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6862)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotaterScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
}
/// Obf: JHBOMBJBAAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6847)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub ehleomoepgd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub rogue_map: ::core::option::Option<RotateMapInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6820)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub client_pos_version: u32,
}
/// Obf: ALFDIAACFJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6826)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveMapRotationRegionCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6805)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldadlmmpdhe {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub client_pos_version: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Obf: OGEJBMBLELN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6837)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6869)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cchnieehhfb {
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub lhaopofemia: ::prost::alloc::vec::Vec<ChargerInfo>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub rogue_map: ::core::option::Option<RotateMapInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 64
    #[prost(bool, tag = "10")]
    pub lopfidbjdnn: bool,
    /// offset: 60
    #[prost(int32, tag = "2")]
    pub filjjbchfmg: i32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub njmpecgpjbj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub ddmdiilldcj: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: ABAPJGIBIEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6866)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub rogue_map: ::core::option::Option<RotateMapInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6879)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oephaeecjel {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub client_pos_version: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6845)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akjhioinlkj {}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6883)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jnhfooedfpj {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6895)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nglngihkdij {
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub njmpecgpjbj: u32,
    /// offset: 64
    #[prost(int32, tag = "2")]
    pub filjjbchfmg: i32,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub ddmdiilldcj: ::prost::alloc::vec::Vec<RotaterData>,
    /// offset: 56
    #[prost(bool, tag = "7")]
    pub lopfidbjdnn: bool,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub rogue_map: ::core::option::Option<RotateMapInfo>,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub lhaopofemia: ::prost::alloc::vec::Vec<ChargerInfo>,
}
/// Obf: FIOLPBDLLCH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6834)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotaterCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6893)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotaterScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6889)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iccbbnpiock {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub ddmdiilldcj: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: MNDABCLBNLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8280)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarbleGetDataCsReq {}
/// Obf: NPGHOCKKDLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8274)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleGetDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub bbmcclmhjgm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub migcjbohklo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 52
    #[prost(int32, tag = "14")]
    pub score_id: i32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub fcpbibdodph: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8276)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjiblehfkhh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub cedncdnhbff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub pkaadcnkghf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8271)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kcdmieaeeli {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pkaadcnkghf: u32,
}
/// Obf: PLDNLBNKKKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8282)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleShopBuyCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub cedncdnhbff: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GCFOADMDJNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8281)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleShopBuyScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub cedncdnhbff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: COANPNPDGGE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8290)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUnlockSealScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub cedncdnhbff: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CELCGFNGLML
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8285)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarblePvpDataUpdateScNotify {
    /// offset: 24
    #[prost(int32, tag = "14")]
    pub score_id: i32,
}
/// Obf: KJNANBPGKCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8286)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUpdateShownSealCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub pdookofdoai: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NPIPMELEIOE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8288)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarbleUpdateShownSealScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub pdookofdoai: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MarkChestInfo {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub ngclapcoblf: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestFuncInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub mark_chest_info_list: ::prost::alloc::vec::Vec<MarkChestInfo>,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub mark_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub func_id: u32,
}
/// Obf: BHPMMOBHJNH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8190)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMarkChestCsReq {}
/// Obf: OEHAGKGFHNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8184)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkChestScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: BMFEFMDMJFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8186)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestCsReq {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub trigger_param_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub mark_chest_info_list: ::prost::alloc::vec::Vec<MarkChestInfo>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub func_id: u32,
}
/// Obf: EENLBLDLFKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8181)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub func_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub trigger_param_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PCPMCCFICPE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8192)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestChangedScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
}
/// Obf: EEDMILAFMLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7350)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub iiplmdefcfk: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "1")]
    pub okkfcinadie: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7349)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpdldpiebcg {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub iiplmdefcfk: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Appibjadmij {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7307)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ilkcgmcbokj {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7339)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adkikbihmcg {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: ELGBAIPBCHB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7333)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCrossInfoCsReq {}
/// Obf: KBGKKDLCNGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7347)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCrossInfoScRsp {
    /// offset: 40
    #[prost(uint64, tag = "3")]
    pub cijoalfeoib: u64,
    /// offset: 24
    #[prost(uint64, tag = "4")]
    pub room_id: u64,
    /// offset: 36
    #[prost(enumeration = "FightGameMode", tag = "1")]
    pub okkfcinadie: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MBNLJEMBAFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7450)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mfgligfcnpp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub fbikdjdcmla: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pkbehagllfd {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub nikapneoali: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub count: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub pos: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub eajeabdlghg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddnbomicdnk {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "9")]
    pub ncmobnjchde: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub igknganoepf: ::prost::alloc::vec::Vec<Pkbehagllfd>,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "5")]
    pub eflfomojfnp: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "12")]
    pub djkbibdnlbm: ::prost::alloc::vec::Vec<Mfgligfcnpp>,
}
/// Obf: MPCHMGHCHOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7449)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub dplcceipihe: ::core::option::Option<Ddnbomicdnk>,
}
/// Obf: HOCODDFHNDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7424)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndCsReq {
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub fbikdjdcmla: u32,
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub eajeabdlghg: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "5")]
    pub ncmobnjchde: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub efpjmhegmfi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(string, tag = "2")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub nikapneoali: u32,
}
/// Obf: EDLEEKLOEEL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7407)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub fbikdjdcmla: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: MFDFNPHFDMI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7439)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSyncDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub dplcceipihe: ::core::option::Option<Ddnbomicdnk>,
}
/// Obf: LLCADPAAAEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7433)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeSetBirdPosCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub pos: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub eajeabdlghg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7447)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhjoncakhma {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub pos: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eajeabdlghg: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: LGFOHJJFFOI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7435)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgfohjjffoi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnjeoapgjkp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub hbgnflgkoca: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iaokbmlagoh {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub nikapneoali: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub count: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub eajeabdlghg: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgfenedaffl {
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub phcohmjlghb: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub acpcjaedmho: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub plpngleeifp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub knadaaeknni: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub cipmednildl: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub obieeolcaci: ::prost::alloc::vec::Vec<Bnjeoapgjkp>,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub igknganoepf: ::prost::alloc::vec::Vec<Iaokbmlagoh>,
}
/// Obf: ODMBGLFOOFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7408)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odmbglfoofk {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub mlfckkhaani: ::core::option::Option<Dgfenedaffl>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: NCHGODNFBAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7406)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeV2BattleItemLevelUpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ehioeiiajda: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ahigglnkbbj: u32,
}
/// Obf: IFJAKOKFBHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeV2BattleItemLevelUpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ehioeiiajda: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub ahigglnkbbj: u32,
}
/// Obf: BCHHHJODNFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7403)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2LevelEndCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub ecimjijknpn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub cpgdhkepmcp: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub iaejaahfbjf: u32,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub omemfhfdhpl: u32,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub agcjpigkpmh: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub eajeabdlghg: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub level_id: u32,
}
/// Obf: AHFPFDIOPLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7431)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2LevelEndScRsp {
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub plpngleeifp: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub ilbklcniing: ::core::option::Option<Bnjeoapgjkp>,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ahmoaebffed: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub dmggfbjofog: ::core::option::Option<Iaokbmlagoh>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub joleejpofpi: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub ihobafecjmj: ::prost::alloc::vec::Vec<ItemList>,
}
/// Obf: PCNGCKKHGCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7429)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeV2SetBirdPosCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub pos: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub eajeabdlghg: u32,
}
/// Obf: POMNMFGFHPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7422)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MatchThreeV2SetBirdPosScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub iojjfpcolgo: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub eajeabdlghg: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pos: u32,
}
/// Obf: BMLAJEMCION
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7419)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2ScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub mlfckkhaani: ::core::option::Option<Dgfenedaffl>,
}
/// Obf: BNBOENGEFLO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7401)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2PvpFinishScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub mlfckkhaani: ::core::option::Option<Dgfenedaffl>,
    /// offset: 48
    #[prost(enumeration = "Iogebldflhf", tag = "11")]
    pub reason: i32,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub difmkklkedp: ::core::option::Option<Djigejalcmp>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub eknflgbleka: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub ongfbjlfphd: u32,
    /// offset: 44
    #[prost(enumeration = "FightGameMode", tag = "10")]
    pub epefmfglndg: i32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7420)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kclkmombfng {
    /// offset: 40
    #[prost(enumeration = "FightGameMode", tag = "11")]
    pub epefmfglndg: i32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub difmkklkedp: ::core::option::Option<Djigejalcmp>,
    /// offset: 32
    #[prost(enumeration = "Iogebldflhf", tag = "13")]
    pub reason: i32,
    /// offset: 44
    #[prost(int32, tag = "2")]
    pub ongfbjlfphd: i32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub eknflgbleka: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njonakgnjbl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub naldogakonn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub khmjhcicjfm: u32,
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub mkdefgjjmaa: u64,
    /// offset: 33
    #[prost(bool, tag = "5")]
    pub lghpmhnplop: bool,
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub aokebgdnbee: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Deofecnicnb {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub khmjhcicjfm: u32,
}
/// Obf: NIHLBJFLCOP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9099)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChenLingGameBoyDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub onegajofpok: ::core::option::Option<Njonakgnjbl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glgohahlkgc {
    /// offset: 40
    #[prost(uint64, tag = "3")]
    pub dgochdlngba: u64,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub kfllbcnnjmh: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub khmjhcicjfm: u32,
    /// offset: 33
    #[prost(bool, tag = "13")]
    pub hnbcpfejdof: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub naldogakonn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HCIEGKIOGGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9057)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChenLingGameBoyScRsp {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub khmjhcicjfm: u32,
    /// offset: 56
    #[prost(uint64, tag = "6")]
    pub mkdefgjjmaa: u64,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint64, tag = "5")]
    pub dgochdlngba: u64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub jclbkoaalia: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lfghkeiienh {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub khmjhcicjfm: u32,
    /// offset: 24
    #[prost(uint64, tag = "12")]
    pub dgochdlngba: u64,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjiakeoabjf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub khmjhcicjfm: u32,
}
/// Obf: ECODDDHKPFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingGameBoyGetFriendRankingInfoScRsp {
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub ehlhmiaegmo: bool,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub mglcaepolod: ::prost::alloc::vec::Vec<Lfghkeiienh>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub khmjhcicjfm: u32,
}
/// Obf: HCCGACLCAJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9097)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFiveDimMiniGameDataCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub ehlhmiaegmo: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9085)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Chhinhgcjik {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub ehlhmiaegmo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gdbblhapoje {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub khmjhcicjfm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9056)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nakmbgfeiki {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub onegajofpok: ::core::option::Option<Njonakgnjbl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hleeihicdfo {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub lghpmhnplop: bool,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub khmjhcicjfm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9053)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcjplnmlkca {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub onegajofpok: ::core::option::Option<Njonakgnjbl>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgodaejbbch {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cgbamlihhnj: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub mnphleflggd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiddgdfdecl {}
/// Obf: EEPLNJCHPAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9079)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFiveDimMiniGameDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub content_package_list: ::prost::alloc::vec::Vec<Pgodaejbbch>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edmngbckgpo {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub lfiaipahegm: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub edolkmdfblh: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub bghbdhickoi: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub cgbamlihhnj: u32,
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
    /// offset: 52
    #[prost(float, tag = "14")]
    pub apapdelnpnj: f32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub pfbccjlfndb: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub oofhgckbdgh: u32,
    /// offset: 16
    #[prost(string, tag = "11")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub gold: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub kpcpglpoajo: u32,
}
/// Obf: NAADKAJAOMF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9069)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFiveDimMiniGameScRsp {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub oofhgckbdgh: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub pfbccjlfndb: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub inmeoieehaj: ::core::option::Option<ItemList>,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub cgbamlihhnj: u32,
    /// offset: 72
    #[prost(uint32, tag = "10")]
    pub lfiaipahegm: u32,
    /// offset: 68
    #[prost(float, tag = "8")]
    pub apapdelnpnj: f32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub gkigckjhnlj: ::core::option::Option<ItemList>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub gold: u32,
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub flmiokdnafi: bool,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajgnndanfmb {}
/// Obf: IEDIEKNDFCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9070)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFiveDimFluteDataScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub picmjpeoleb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub fpgighmnfge: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Baepcpellol {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub jbhdimfohed: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9061)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cagoapgpmfd {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub jbhdimfohed: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oalfdfoocec {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jbhdimfohed: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9090)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jgcjebgdieo {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jbhdimfohed: u32,
}
/// Obf: LDHFOFDDGPF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9087)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FiveDimFluteDataChangeNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub picmjpeoleb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub fpgighmnfge: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JBCHMMIPAEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeCrossFloorConditionChangeScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub joffbhjkbea: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CFCEFCGGBAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2757)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MessageItem {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub text_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageSection {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub message_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub frozen_item_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
    /// offset: 44
    #[prost(enumeration = "MessageSectionStatus", tag = "3")]
    pub status: i32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageGroup {
    /// offset: 40
    #[prost(int64, tag = "3")]
    pub refresh_time: i64,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub message_section_list: ::prost::alloc::vec::Vec<MessageSection>,
    /// offset: 32
    #[prost(enumeration = "MessageGroupStatus", tag = "13")]
    pub status: i32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub message_section_id: u32,
}
/// Obf: FNBANIMNIPB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub message_group_list: ::prost::alloc::vec::Vec<MessageGroup>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: HFPNBHHJGLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2755)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetNpcStatusCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcStatus {
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub is_finish: bool,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStatus {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    /// offset: 24
    #[prost(enumeration = "MessageGroupStatus", tag = "15")]
    pub group_status: i32,
    /// offset: 32
    #[prost(int64, tag = "8")]
    pub refresh_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SectionStatus {
    /// offset: 24
    #[prost(enumeration = "MessageSectionStatus", tag = "13")]
    pub section_status: i32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub section_id: u32,
}
/// Obf: HBEEDIHDCJD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcStatusScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub npc_status_list: ::prost::alloc::vec::Vec<NpcStatus>,
}
/// Obf: IMHACIFHBJL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishItemIdCsReq {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub text_id: u32,
}
/// Obf: ANJKHNDMGPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2762)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishItemIdScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub text_id: u32,
}
/// Obf: BDAHKHHIOPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishSectionIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub section_id: u32,
}
/// Obf: JFLCGPBNDOA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2720)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishSectionIdScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub section_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: MEBHIJDJJMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2726)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdCsReq {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub section_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
}
/// Obf: APEGLNJMDMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2705)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub section_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: CKEDCGKOHCN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2737)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMissionMessageCsReq {}
/// Obf: FFDDBBFEPFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2769)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionMessageScRsp {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "10")]
    pub fbkdmcflgcm: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: ELPIAHHAGPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ShareCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub mhpflhdajga: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gfneigbgkkg {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub mhpflhdajga: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub bhlfejmddne: u32,
}
/// Obf: IKCNDHCOEAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareScRsp {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub ndecondkpdk: ::core::option::Option<Gfneigbgkkg>,
}
/// Obf: FIKGLBHJAKL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4155)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetShareDataCsReq {}
/// Obf: PEANLOBKNNE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShareDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub mieippklcbe: ::prost::alloc::vec::Vec<Gfneigbgkkg>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4138)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cpdkfafcldb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4162)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkjohedoben {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fehnehgpchm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub komkajkalek: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub bohjclddmlo: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4166)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcbeapcjpij {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub jpanamdiido: ::prost::alloc::vec::Vec<Fehnehgpchm>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4179)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Obacgniefdk {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: PGOHLMEFLHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4126)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CancelSyncExpiredItemCsReq {
    /// offset: 24
    #[prost(string, repeated, tag = "6")]
    pub dgcigglklle: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(enumeration = "Eminhaeabdg", tag = "9")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub bgoocmgddli: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Afmhjbfakpl {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbjnjggcmgj {
    /// offset: 24
    #[prost(string, tag = "3")]
    pub caafimppkmi: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4169)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nnfjfdpdfbp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpebdifieda {
    /// offset: 36
    #[prost(enumeration = "MovieRacingType", tag = "13")]
    pub r#type: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ipglcbjagpo: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gdbikapdbkg: u32,
}
/// Obf: HHAILCOLDDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4176)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataCsReq {}
/// Obf: PNNLEKDHAEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4196)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub imlaccehdbm: ::prost::alloc::vec::Vec<Lpebdifieda>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: BFAMFGCJOBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4180)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub bgmfidojajp: ::core::option::Option<Lpebdifieda>,
}
/// Obf: PFMMAGFKFHA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4177)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMovieRacingDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub bgmfidojajp: ::core::option::Option<Lpebdifieda>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: PKBHNGMPEMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4145)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitOrigamiItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lcmmiikbdkk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4183)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkjdofenneo {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub lcmmiikbdkk: u32,
}
/// Obf: LFOJLIGHJFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4195)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOrigamiPropInfoCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub floor_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub entry_story_line_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mgbgibmehcg {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub state: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcfalbmdmjk {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub injjpkikmdm: ::prost::alloc::vec::Vec<Mgbgibmehcg>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4134)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anfjggfdnmk {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub content_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub entry_story_line_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub flmjnbehcem: ::prost::alloc::vec::Vec<Bcfalbmdmjk>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pcbdcknfipo {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ipglcbjagpo: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub nhbpecbkbfa: u32,
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub jkbhnllfjha: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub level: u32,
}
/// Obf: JLFCOCHHJJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4114)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetWolfBroShootingDataCsReq {}
/// Obf: POAEPNLMNFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4112)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub onddngfnpdb: ::prost::alloc::vec::Vec<Pcbdcknfipo>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GBPKKFDFDJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4150)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateWolfBroShootingDataCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub adikfaimdgo: ::core::option::Option<Pcbdcknfipo>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub gkhbolhfdon: u32,
    /// offset: 32
    #[prost(uint64, tag = "15")]
    pub uuid: u64,
}
/// Obf: DJANNBGIPGN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4186)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateGunPlayDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub adikfaimdgo: ::core::option::Option<Pcbdcknfipo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhpadkdkloh {
    /// offset: 24
    #[prost(enumeration = "Kmkifgdcmao", tag = "3")]
    pub bnhcagblimi: i32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub id: u32,
    /// offset: 32
    #[prost(enumeration = "DifficultyAdjustmentType", tag = "8")]
    pub jdmmclfncln: i32,
}
/// Obf: GDIFIMCFNCG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4109)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataCsReq {}
/// Obf: NDNCGKAOADJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4185)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub content_package_list: ::prost::alloc::vec::Vec<Fhpadkdkloh>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KANPBDFAOCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4111)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub data: ::core::option::Option<Fhpadkdkloh>,
}
/// Obf: OAAHOBKKKAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub content_package_list: ::prost::alloc::vec::Vec<Fhpadkdkloh>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Fhpadkdkloh>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AJPBCBEDBKL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4113)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(enumeration = "Pobhilicfkn", tag = "2")]
    pub bnhcagblimi: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ckdbmjkhehf: u32,
}
/// Obf: BNMNKIMPMCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4199)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeKillDirectScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: OLFNKJPOFKL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4142)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DirectDeliveryScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub emejnmbmmjg: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub iajfidijdaf: u32,
}
/// Obf: NGMIGLBLJMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4116)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelDirectDeliveryNoticeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub iajfidijdaf: u32,
}
/// Obf: LNBFCPABGCF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4152)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CancelDirectDeliveryNoticeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub iajfidijdaf: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbhpkhhgphl {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kaablclnlfg: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gold: u32,
}
/// Obf: OAMAOPDFGAJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4182)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSwitchMascotDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub kaablclnlfg: u32,
}
/// Obf: PGLJFCEGHPD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4188)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchMascotDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub gojmlbaepob: ::prost::alloc::vec::Vec<Hbhpkhhgphl>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub kaablclnlfg: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BLNAHELFIOC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4151)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchMascotUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub gojmlbaepob: ::prost::alloc::vec::Vec<Hbhpkhhgphl>,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub omfdcebehlh: bool,
}
/// Obf: JGDGAIBPAKE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetUnreleasedBlockInfoCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4108)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnreleasedBlockInfoScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub eddajppkcak: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub knemiccpmpj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "1")]
    pub jkoamcbacka: i64,
}
/// Obf: BDKHJHPCMFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMissionDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imhblljlhef {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub display_value: u32,
    /// offset: 32
    #[prost(enumeration = "MissionSyncRecord", tag = "7")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
}
/// Obf: KGKBAICBMIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mission {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "MissionStatus", tag = "8")]
    pub status: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub progress: u32,
}
/// Obf: ANBDOGFGINA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionCustomValue {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub kligilojanh: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub index: u32,
    /// offset: 16
    #[prost(string, tag = "9")]
    pub hambcjhiofk: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionCustomValueList {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMission {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 36
    #[prost(enumeration = "MissionStatus", tag = "14")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbnnkmknlak {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub id: u32,
    #[prost(oneof = "gbnnkmknlak::Gcbbglcjflg", tags = "47")]
    pub gcbbglcjflg: ::core::option::Option<gbnnkmknlak::Gcbbglcjflg>,
}
/// Nested message and enum types in `GBNNKMKNLAK`.
pub mod gbnnkmknlak {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Gcbbglcjflg {
        /// offset: 16
        #[prost(message, tag = "47")]
        CustomValueList(super::MissionCustomValueList),
    }
}
/// Obf: AKOMJBBHGGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionCustomValue {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub custom_value_list: ::core::option::Option<MissionCustomValueList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub main_mission_id: u32,
}
/// Obf: BDNGNBMOCFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1228)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MainMission>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub hkggejeddoj: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub track_mission_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub njblpeankfa: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LMIMBHJMGIN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub main_mission_id: u32,
}
/// Obf: OLNKDMANEAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1278)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptMainMissionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub main_mission_id: u32,
}
/// Obf: JINDNCEBNKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1255)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub dbefjaejoko: u32,
    /// offset: 16
    #[prost(string, tag = "8")]
    pub fgnncichomh: ::prost::alloc::string::String,
}
/// Obf: BNGJJOENEFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1275)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionScRsp {
    /// offset: 32
    #[prost(string, tag = "3")]
    pub fgnncichomh: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub dbefjaejoko: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: OLJGPNOCALL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1238)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionRewardScNotify {
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub dbefjaejoko: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub main_mission_id: u32,
}
/// Obf: GJGNBDLJCFD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1212)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubMissionRewardScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub dbefjaejoko: u32,
}
/// Obf: OAJAMIOEPFJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1262)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskCsReq {
    /// offset: 24
    #[prost(string, tag = "5")]
    pub key: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncTaskScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "3")]
    pub key: ::prost::alloc::string::String,
}
/// Obf: PBCNEGHEABM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1269)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionGroupWarnScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub geffpbpaanj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NLDHPPLDFEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1266)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub dbefjaejoko: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1279)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dbefjaejoko: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: JDFMGKLBPGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1289)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "13")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GetMissionStatusScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1276)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub curversion_finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "5")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub main_mission_mcv_list: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
}
/// Obf: GJAHCACBMEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1250)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointCsReq {}
/// Obf: FKJEDHHOFCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1286)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TeleportToMissionResetPointScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub client_pos_version: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: MOGBNPEAKOM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1209)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartFinishSubMissionScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dbefjaejoko: u32,
}
/// Obf: BIOABFLAOPK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1285)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartFinishMainMissionScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub main_mission_id: u32,
}
/// Obf: PNNFGPJEJDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OGFHGBCCJCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1299)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub mission_data_list: ::prost::alloc::vec::Vec<MainMission>,
}
/// Obf: GPOGBMNGDIH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1242)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionAcceptNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IHBEDBKNPBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1252)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionCsReq {
    /// offset: 32
    #[prost(enumeration = "TrackMainMissionUpdateReasonId", tag = "7")]
    pub gglaeihgpaj: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub fncaoopdjkn: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub track_mission_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1282)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateTrackMainMissionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub gnlefmhkdng: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub track_mission_id: u32,
}
/// Obf: MHCCDNBGKMF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1288)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishedMissionScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MOJHBNPAMGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1251)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMainMissionCustomValueCsReq {
    /// offset: 24
    #[prost(string, tag = "7")]
    pub hambcjhiofk: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub value: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub main_mission_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1256)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMainMissionCustomValueScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub foibilolmde: ::core::option::Option<MainMission>,
}
/// Obf: CJBHGOHBLLF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1208)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StarPerformanceRelayCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub performance_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub hfnoidahgkb: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1270)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StarPerformanceRelayScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: HAIBNBJGMNH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plbklafclnl {
    /// offset: 41
    #[prost(bool, tag = "1")]
    pub bkjhellakeb: bool,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub lfehodgmjjn: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub item_value: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub eifebdebkhp: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub mannlpdmajn: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub bklaacgggia: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mankdbegeja {
    /// offset: 32
    #[prost(enumeration = "Fpikahkfibo", tag = "11")]
    pub lllicbabmll: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub alejddamdkh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jjbpibmmeme {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub flfahepabng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pbcacingcli {
    /// offset: 33
    #[prost(bool, tag = "14")]
    pub fdiaafpghho: bool,
    /// offset: 24
    #[prost(uint64, tag = "6")]
    pub amedfmbickc: u64,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub is_taken_reward: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dodmlbmifep {
    /// offset: 120
    #[prost(uint64, tag = "11")]
    pub lgkflbbodjl: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub jonnfenpmfm: ::prost::alloc::vec::Vec<Jjbpibmmeme>,
    /// offset: 136
    #[prost(bool, tag = "6")]
    pub hoifldchkjn: bool,
    /// offset: 48
    #[prost(string, tag = "1855")]
    pub admalilmaga: ::prost::alloc::string::String,
    /// offset: 108
    #[prost(uint32, tag = "9")]
    pub hmgmcbckfcc: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "13")]
    pub nolebbjfobg: ::prost::alloc::vec::Vec<Jjbpibmmeme>,
    /// offset: 80
    #[prost(message, repeated, tag = "8")]
    pub jipikijhhom: ::prost::alloc::vec::Vec<Pbcacingcli>,
    /// offset: 112
    #[prost(uint32, tag = "7")]
    pub clkiaieljdp: u32,
    /// offset: 40
    #[prost(string, tag = "1924")]
    pub kcmnogcgieb: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(message, repeated, tag = "2")]
    pub nhgcbmeigll: ::prost::alloc::vec::Vec<Jjbpibmmeme>,
    /// offset: 32
    #[prost(string, tag = "1337")]
    pub lcdmclnnnmj: ::prost::alloc::string::String,
    /// offset: 104
    #[prost(uint32, tag = "5")]
    pub onikhejklad: u32,
    /// offset: 128
    #[prost(uint64, tag = "12")]
    pub lkmdfhddmfp: u64,
    /// offset: 116
    #[prost(uint32, tag = "3")]
    pub fpbjlcojokh: u32,
    /// offset: 88
    #[prost(uint32, tag = "14")]
    pub pjbabphgeia: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub mmilojclidb: ::prost::alloc::vec::Vec<Jjbpibmmeme>,
    /// offset: 96
    #[prost(uint64, tag = "1")]
    pub ilabjhplhdj: u64,
    /// offset: 140
    #[prost(uint32, tag = "15")]
    pub bpefimkbanj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgakdlggemg {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub doioiggbllp: ::prost::alloc::vec::Vec<Dodmlbmifep>,
}
/// Obf: LHONFLMGCMP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoScRsp {
    /// offset: 104
    #[prost(message, optional, tag = "9")]
    pub pbdpiamkapi: ::core::option::Option<Gpiklmgkdnk>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub lpiokbdlaom: ::core::option::Option<Hhcpffdcjmd>,
    /// offset: 72
    #[prost(message, optional, tag = "2")]
    pub dehkolfhapn: ::core::option::Option<Plbklafclnl>,
    /// offset: 112
    #[prost(message, optional, tag = "12")]
    pub dmolbooefmj: ::core::option::Option<Gebpolhbibd>,
    /// offset: 120
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub gmofcnhafjf: ::core::option::Option<Mankdbegeja>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "4")]
    pub dedlmkiflln: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub aeojgfljnbm: ::core::option::Option<Bbffgfmpggb>,
    /// offset: 96
    #[prost(message, optional, tag = "7")]
    pub stt: ::core::option::Option<Oafbppddfjj>,
    /// offset: 88
    #[prost(message, optional, tag = "15")]
    pub ccpmlangeaf: ::core::option::Option<Ehgfldgdjhc>,
    /// offset: 64
    #[prost(message, optional, tag = "3")]
    pub dkgddlfnedg: ::core::option::Option<Pgakdlggemg>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub rogue_map: ::core::option::Option<Jdlgkbimpnb>,
    /// offset: 80
    #[prost(message, optional, tag = "11")]
    pub omiogalidco: ::core::option::Option<Idnjaljmnai>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbffgfmpggb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub ckclmophjgo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DFDNINCGGFD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7017)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConditionUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub aeojgfljnbm: ::core::option::Option<Bbffgfmpggb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oafbppddfjj {
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub jenfkjndnmo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub hinlcjfnmdc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LIOAJJIECIJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7053)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySttUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub stt: ::core::option::Option<Oafbppddfjj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ljocghfnapl {
    /// offset: 32
    #[prost(enumeration = "Hjdbeflimhj", tag = "6")]
    pub cmkhjfmkmdj: i32,
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub jiifhlfmepo: bool,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub map_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub pmcdfaaindl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdlgkbimpnb {
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub encaedjcfpp: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub iaebebchbcb: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub kibjfhkceeb: ::prost::alloc::vec::Vec<Ljocghfnapl>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub dfjoldhdlkc: ::core::option::Option<Ljocghfnapl>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub eifkebfodef: ::prost::alloc::vec::Vec<Ljocghfnapl>,
}
/// Obf: IPFHIPKLJCD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7061)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventLoadUpdateScNotify {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub eifkebfodef: ::prost::alloc::vec::Vec<Ljocghfnapl>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub kibjfhkceeb: ::prost::alloc::vec::Vec<Ljocghfnapl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfeaaiakojd {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iodahnjlbfk {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flffnhbilpm {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub iokajobjpan: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub mpikgpepdjb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub eaffdddbkam: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdbmljogglo {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bnncipmehne: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub mpikgpepdjb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub eaffdddbkam: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub iodmkjfncmo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Laldkdddhml {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub dhkiplifbek: ::prost::alloc::vec::Vec<Kneidnkfkei>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub hgpaebhkahi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jgnhfhaeldp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub obfpiclkjec: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkhoplifdpi {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Loohaedjagk {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub akhijhddail: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lknooljpagm {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub khkljadccbc: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub acjhhcjbaci: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kneidnkfkei {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub pkgjealmbnd: u32,
    #[prost(oneof = "kneidnkfkei::Ebcjpnhkdbp", tags = "13, 11, 6, 15, 8, 10, 4, 14, 1")]
    pub ebcjpnhkdbp: ::core::option::Option<kneidnkfkei::Ebcjpnhkdbp>,
}
/// Nested message and enum types in `KNEIDNKFKEI`.
pub mod kneidnkfkei {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ebcjpnhkdbp {
        /// offset: 16
        #[prost(message, tag = "13")]
        Lhkclklgdlo(super::Cfeaaiakojd),
        /// offset: 16
        #[prost(message, tag = "11")]
        Fhlbkakdahl(super::Iodahnjlbfk),
        /// offset: 16
        #[prost(message, tag = "6")]
        Aocichlhmik(super::Flffnhbilpm),
        /// offset: 16
        #[prost(message, tag = "15")]
        Jklmfjnphpk(super::Jgnhfhaeldp),
        /// offset: 16
        #[prost(message, tag = "8")]
        ShopSyncInfo(super::Nkhoplifdpi),
        /// offset: 16
        #[prost(message, tag = "10")]
        Hleoicfjjoo(super::Loohaedjagk),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ccfiobobflo(super::Lknooljpagm),
        /// offset: 16
        #[prost(message, tag = "14")]
        Lhlmaielhhe(super::Cdbmljogglo),
        /// offset: 16
        #[prost(message, tag = "1")]
        Ihhbckooecg(super::Laldkdddhml),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehgfldgdjhc {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bmjhceedhji: ::core::option::Option<Kneidnkfkei>,
}
/// Obf: IHOIHOOGIHI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7009)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyContentUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bmjhceedhji: ::core::option::Option<Kneidnkfkei>,
}
/// Obf: JBDGBEEJDBN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7075)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCellUpdateNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub dfjoldhdlkc: ::core::option::Option<Ljocghfnapl>,
}
/// Obf: PCKPKGMMGMD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7062)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceCsReq {}
/// Obf: GIFBMFHOCIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7047)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollDiceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub bahmegmnajf: u32,
}
/// Obf: FBMGCDAOMBN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7050)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub eebdiijddcj: u32,
}
/// Obf: GHGEIAECKDI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7086)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyCheatDiceScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub eebdiijddcj: u32,
}
/// Obf: NHLNGHOAOKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7020)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyMoveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub empmmgnkfjl: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub goapeobkiop: u32,
}
/// Obf: MHLBNGJFFND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyMoveScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub cemapmleenb: ::prost::alloc::vec::Vec<Ljocghfnapl>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub rogue_map: ::core::option::Option<Jdlgkbimpnb>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MKMHLEACNLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7005)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub iokajobjpan: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Deeejpfgoib {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub iokajobjpan: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub knefbiedgeh: u32,
}
/// Obf: NMBNBKMOIOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub kbbpiadokcc: ::prost::alloc::vec::Vec<Deeejpfgoib>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub iokajobjpan: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub ccpmlangeaf: ::core::option::Option<Kneidnkfkei>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ABNILFCKCBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7045)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub event_id: u32,
}
/// Obf: IADHHDDHPOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomScRsp {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ccpmlangeaf: ::core::option::Option<Kneidnkfkei>,
}
/// Obf: EFKFPLPPBPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
/// Obf: CPPKGKLAKBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7034)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ccpmlangeaf: ::core::option::Option<Kneidnkfkei>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: ACMCLAJPFEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7093)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
}
/// Obf: EDDLJDPGAPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7089)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomScRsp {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ccpmlangeaf: ::core::option::Option<Kneidnkfkei>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
}
/// Obf: KNDHNKLEHCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7076)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub goods_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub shop_id: u32,
}
/// Obf: JAIOMIGAGEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7096)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyBuyGoodsScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub shop_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub goods_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PFMBBHMNNKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7080)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyUpgradeAssetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub obfpiclkjec: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7077)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dpdldnifipb {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub obfpiclkjec: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GAFAJOBILHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7014)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub content_id: u32,
}
/// Obf: KJLPNLKENFC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7012)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGiveUpCurContentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyActionResult {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub click_cell_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub detail: ::core::option::Option<Jmcbjalbipn>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub trigger_cell_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub click_map_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub effect_type: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub trigger_map_id: u32,
    /// offset: 36
    #[prost(enumeration = "Hmhgdlfdjpn", tag = "12")]
    pub source_type: i32,
}
/// Obf: BHMOCODDHIK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7055)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub eeaphcjajgg: ::prost::alloc::vec::Vec<MonopolyActionResult>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oikbljnknnl {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub kbfphemjgak: bool,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub omckocenpld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmcbjalbipn {
    #[prost(
        oneof = "jmcbjalbipn::Eahpblgiajg",
        tags = "1, 8, 14, 11, 2, 15, 12, 9, 5, 4, 7, 6, 3"
    )]
    pub eahpblgiajg: ::core::option::Option<jmcbjalbipn::Eahpblgiajg>,
}
/// Nested message and enum types in `JMCBJALBIPN`.
pub mod jmcbjalbipn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Eahpblgiajg {
        /// offset: 24
        #[prost(message, tag = "1")]
        Fhkhbhbgcde(super::Hdbdfcppfjl),
        /// offset: 24
        #[prost(message, tag = "8")]
        Pfjliegbjeo(super::Hdbdfcppfjl),
        /// offset: 24
        #[prost(message, tag = "14")]
        Iiohapefefi(super::Adaajcolmji),
        /// offset: 24
        #[prost(message, tag = "11")]
        Kjianelfkfp(super::Adaajcolmji),
        /// offset: 24
        #[prost(message, tag = "2")]
        Pleldkbfiop(super::Enjbhommolp),
        /// offset: 24
        #[prost(message, tag = "15")]
        Hfkljaopoam(super::Enjbhommolp),
        /// offset: 24
        #[prost(message, tag = "12")]
        Nepfkeanoam(super::Mpopiamnnak),
        /// offset: 24
        #[prost(message, tag = "9")]
        Mifnjgpmhde(super::Mpopiamnnak),
        /// offset: 24
        #[prost(message, tag = "5")]
        Fbcoknclbkg(super::Oikbljnknnl),
        /// offset: 24
        #[prost(message, tag = "4")]
        Bknjgjigcbn(super::Cplammafphk),
        /// offset: 24
        #[prost(message, tag = "7")]
        Obmkhhplkpm(super::Enjbhommolp),
        /// offset: 24
        #[prost(message, tag = "6")]
        Kfcopdpdnij(super::Mpopiamnnak),
        /// offset: 24
        #[prost(message, tag = "3")]
        Nemhgdmmkaa(super::Eebebmopfna),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eebebmopfna {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub npcphjlfjlo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdbdfcppfjl {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_stack_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub bndlonjjnkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mpopiamnnak {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gfjehpmckej: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub hfhmoignjoe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cplammafphk {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub enmgjaabgnc: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub kmhplkjdmfd: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lcohcdkidem: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nphahoohmdn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adjpnncijhc {
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub idfljmpeapa: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub config_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub cgbamlihhnj: u32,
    #[prost(oneof = "adjpnncijhc::Kcjpbdfahca", tags = "13, 6, 14")]
    pub kcjpbdfahca: ::core::option::Option<adjpnncijhc::Kcjpbdfahca>,
}
/// Nested message and enum types in `ADJPNNCIJHC`.
pub mod adjpnncijhc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kcjpbdfahca {
        /// offset: 16
        #[prost(message, tag = "13")]
        Mbogmlchbof(super::Hdbbmnjicpo),
        /// offset: 16
        #[prost(message, tag = "6")]
        Gpppldlklkk(super::Hfodalkfgck),
        /// offset: 16
        #[prost(message, tag = "14")]
        Eebddmdocbk(super::Cnlbhlbgkmj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idnjaljmnai {
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub ebhepfdfekl: ::core::option::Option<Adjpnncijhc>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub allnlnmfnik: ::core::option::Option<Oikbljnknnl>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub afmalmaomdc: ::prost::alloc::vec::Vec<Adjpnncijhc>,
}
/// Obf: FFKEOKCBLFL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameSettleScNotify {
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub hleoicfjjoo: ::core::option::Option<Adjpnncijhc>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub acpiegjagni: ::core::option::Option<ItemList>,
}
/// Obf: AAPONHIBMHM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameCreateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub allnlnmfnik: ::core::option::Option<Oikbljnknnl>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub hleoicfjjoo: ::core::option::Option<Adjpnncijhc>,
}
/// Obf: ENEFHLMKLML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7085)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameRaiseRatioCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub idfljmpeapa: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7011)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Genibiamdjk {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub idfljmpeapa: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: PCEMONEEAGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7066)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityCsReq {}
/// Obf: LPCJEDNHJCO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7079)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityScRsp {
    /// offset: 48
    #[prost(int64, tag = "11")]
    pub aaoijnmmibc: i64,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub mhepnhnodgm: u32,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub cjkihedidhe: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub pbdpiamkapi: ::core::option::Option<Gpiklmgkdnk>,
}
/// Obf: MNJCJKBLMMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7033)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemCsReq {
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub bmdfcjjjgil: bool,
}
/// Obf: FGCOCNHHMPB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7094)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetDailyInitItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub pbjpaodfbko: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub hmpoeimnfnj: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub heicnejgffl: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub jdpbkpjcphp: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub ogedgambdid: u32,
    /// offset: 48
    #[prost(int64, tag = "12")]
    pub aaoijnmmibc: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdbbmnjicpo {
    /// offset: 52
    #[prost(bool, tag = "11")]
    pub innbngiknhj: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub chdipfccefm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub manpledphcf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub comkmfmnhoa: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub fpobdpadgon: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JAIBHPHCKPP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7042)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lnpcfacddje: u32,
}
/// Obf: KNEDLBMCKHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7016)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub fkdjffmccoc: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub manpledphcf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "8")]
    pub innbngiknhj: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: KJKLGBPGIIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7013)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaCsReq {}
/// Obf: EPENHIBBENN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7099)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameGachaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub kkbnnajcnhc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmaplfhefmg {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ljjnibdaioe: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gpppdgfpapj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfodalkfgck {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub nipfoikecci: ::prost::alloc::vec::Vec<Cmaplfhefmg>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub oamoncgddke: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub knnnccbhpgi: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub ohkfkicmpcd: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub hcgnnihoafk: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub iofgepfndfe: u32,
}
/// Obf: GBEAEALPNLM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub nipfoikecci: ::prost::alloc::vec::Vec<Cmaplfhefmg>,
}
/// Obf: HPLFMELPLCG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7082)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub gpppldlklkk: ::core::option::Option<Hfodalkfgck>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ccmgplnobhh {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub cjpnbnbbjnd: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub dhbibgoonai: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub hcgnnihoafk: u32,
}
/// Obf: HBAGGOHCODM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7041)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyQuizDurationChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Ccmgplnobhh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cnlbhlbgkmj {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pkpjpejaimd: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jlhjoghoake: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub ohnajlbfcag: bool,
}
/// Obf: LDMLMNJHDJK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7051)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jlhjoghoake: u32,
}
/// Obf: ACEHLFHPDEK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7056)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessChooseScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jlhjoghoake: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhpbimacfcd {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pkpjpejaimd: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub mmbfkbddgbk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: BEANDHDGIFC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7001)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessDrawScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub nefelancalj: ::prost::alloc::vec::Vec<Dhpbimacfcd>,
}
/// Obf: HACALOCFJOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7008)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGuessBuyInformationCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7070)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Klnlcafngea {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Adaajcolmji {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ppjbalfbihc: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub obfpiclkjec: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhcpffdcjmd {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub fpfonomdeda: ::prost::alloc::vec::Vec<Adaajcolmji>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gpiklmgkdnk {
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub cdnbhbhfefg: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ahojdhadcki: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub lgegffidkdp: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub gfnenonpmfk: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ggbbflmhmfk: u32,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub pjoaocgklep: bool,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub iknjhbnadon: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub hacmomeopof: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub oghaomccpak: u32,
}
/// Obf: DMFEDOFAKPD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7092)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyDailySettleScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub pbdpiamkapi: ::core::option::Option<Gpiklmgkdnk>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub mhepnhnodgm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enjbhommolp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub pkgjealmbnd: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nlhmcbbohkn: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gebpolhbibd {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<Enjbhommolp>,
}
/// Obf: CNFNEMPHPMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7002)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub iknjhbnadon: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub ingdncbbbpg: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub gfnenonpmfk: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub mhjkcpmenng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Onickpocmka {}
/// Obf: DFMBGJNGEKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7098)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub mglcaepolod: ::prost::alloc::vec::Vec<GetMonopolyFriendRankingListCsReq>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub fpomgbgdaka: ::core::option::Option<GetMonopolyFriendRankingListCsReq>,
}
/// Obf: CBLCDJENDGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7048)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyLikeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub oioncobaodk: u32,
}
/// Obf: ILJAIHOJCNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7006)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScRsp {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub oioncobaodk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: CMMEGDBHELN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7081)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScNotify {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ingdncbbbpg: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub alejddamdkh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BKAACAOJBEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7097)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMbtiReportCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lneljnpgkpm {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub cnt: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub bigimdcandn: u32,
}
/// Obf: JOCEJDOCKCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7015)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMbtiReportScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub kbbpiadokcc: ::prost::alloc::vec::Vec<Deeejpfgoib>,
    /// offset: 48
    #[prost(int32, tag = "15")]
    pub ndjkjhneebh: i32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 53
    #[prost(bool, tag = "12")]
    pub amhnhjjimik: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub iamcpegnfbm: ::prost::alloc::vec::Vec<Lneljnpgkpm>,
    /// offset: 52
    #[prost(bool, tag = "2")]
    pub is_taken_reward: bool,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub progress: u32,
    /// offset: 44
    #[prost(int32, tag = "11")]
    pub ibgaljkfpof: i32,
}
/// Obf: PNNNDKBBCEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7091)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub ldpfkgfgjap: bool,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ailcigbpjcn: u32,
}
/// Obf: KKMJDANCAKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7022)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyEventSelectFriendScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub khkljadccbc: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub acjhhcjbaci: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub dfjoldhdlkc: ::core::option::Option<Ljocghfnapl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmjcgplbonj {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub sender_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub acjhhcjbaci: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub khkljadccbc: u32,
}
/// Obf: FOHHJMEAHEB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7072)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySocialEventEffectScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub kkponkcfclk: ::prost::alloc::vec::Vec<Lmjcgplbonj>,
}
/// Obf: BEIMNMNMJOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7060)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheCsReq {}
/// Obf: FPOGNOOFOKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7068)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub kkponkcfclk: ::prost::alloc::vec::Vec<Lmjcgplbonj>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: HCEAKNOLPAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7043)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSocialEventServerCacheCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub emjdkdehahb: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7058)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dadgjdcnikm {
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub hmpihelegld: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: KGBALHHOHGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7087)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub onikhejklad: u32,
}
/// Obf: ODNKEGLANHJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7024)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub onikhejklad: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub jbgocmfafmc: ::prost::alloc::vec::Vec<Pbcacingcli>,
}
/// Obf: BAIFIJELHEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7003)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub onikhejklad: u32,
    /// offset: 24
    #[prost(uint64, tag = "6")]
    pub oaplbmhecne: u64,
}
/// Obf: GPBCBCLIMEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub onikhejklad: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub oaplbmhecne: u32,
}
/// Obf: FJMCONJGHBB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7004)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketCsReq {
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub oaplbmhecne: u64,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub onikhejklad: u32,
}
/// Obf: JJEMNOIFMEE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7073)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub onikhejklad: u32,
    /// offset: 32
    #[prost(uint64, tag = "14")]
    pub oaplbmhecne: u64,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: EAKCEPOGLHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7090)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressCsReq {}
/// Obf: EHAHCJNCIEM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7044)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRegionProgressScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub mhjkcpmenng: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub plpklgbmbnf: u32,
}
/// Obf: NLLKDBBIBPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7071)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoCsReq {}
/// Obf: PBIJNHNODPB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7046)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub dkgddlfnedg: ::core::option::Option<Pgakdlggemg>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: ADIJPINGBNI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub nlaggfpcbjp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JOIAONDLBCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7100)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub nlaggfpcbjp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: BDFNOKOCMCK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7039)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardCsReq {}
/// Obf: MDKAPEAGMNG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7065)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: DMIGDLBLFPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7063)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportCsReq {}
/// Obf: NHIDDGODDEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7029)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMonopolyDailyReportScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub pbdpiamkapi: ::core::option::Option<Gpiklmgkdnk>,
}
/// Obf: POBJGOEDMAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7010)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub map_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub pmcdfaaindl: u32,
}
/// Obf: BFJPGNCAOOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7025)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickCellScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub pmcdfaaindl: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub map_id: u32,
}
/// Obf: PIJCNIPBPMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7049)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MonopolyClickMbtiReportCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7036)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ijeclminodm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KOMCDGFNDLI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightGameStateCsReq {}
/// Obf: IFOMAMMCAFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGameStateScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ejkaonjfgga: ::core::option::Option<Gdoclbelini>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub gocanflcaoj: ::core::option::Option<Famnpacaoip>,
}
/// Obf: OABBGEOCADJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerGetFightGateCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub player_data: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1075)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpophhlhafg {
    /// offset: 16
    #[prost(string, tag = "10")]
    pub ip: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "14")]
    pub cijoalfeoib: u64,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub port: u32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub onmbadceelc: ::prost::alloc::string::String,
}
/// Obf: FMIHJKELPEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1038)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FightGiveUpCsReq {
    /// offset: 24
    #[prost(uint64, tag = "2")]
    pub cijoalfeoib: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1062)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pejnmnbopaf {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BPKHKIBBIOC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGameStartScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub gocanflcaoj: ::core::option::Option<Famnpacaoip>,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub jhkocfgkoji: ::prost::alloc::vec::Vec<Baigacnllmi>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1020)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lagdkhkobnk {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub gocanflcaoj: ::core::option::Option<Famnpacaoip>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1026)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jflekcimflh {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub eknflgbleka: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub difmkklkedp: ::core::option::Option<Djigejalcmp>,
    /// offset: 40
    #[prost(enumeration = "Iogebldflhf", tag = "6")]
    pub reason: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ongfbjlfphd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnfmfmkenmp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub nikapneoali: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub eajeabdlghg: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deccfgnhhop {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub cipmednildl: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub igknganoepf: ::prost::alloc::vec::Vec<Lnfmfmkenmp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Phmjogcapni {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cipmednildl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhlohmhgbnl {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub cipmednildl: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jpfmhjkbbck: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfinamhfjeh {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cipmednildl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ammebenegnm {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cipmednildl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojdiahnjpei {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cipmednildl: u32,
}
/// Obf: JFEKDEGHDHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMatchPlayDataCsReq {
    /// offset: 24
    #[prost(enumeration = "FightGameMode", repeated, tag = "6")]
    pub jipamcpjocp: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahklpbcefni {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub panel_id: u32,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "15")]
    pub okkfcinadie: i32,
    #[prost(oneof = "ahklpbcefni::Nkdnlbmnaam", tags = "1, 9, 8")]
    pub nkdnlbmnaam: ::core::option::Option<ahklpbcefni::Nkdnlbmnaam>,
}
/// Nested message and enum types in `AHKLPBCEFNI`.
pub mod ahklpbcefni {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nkdnlbmnaam {
        /// offset: 16
        #[prost(message, tag = "1")]
        Lciahlphmjm(super::Deccfgnhhop),
        /// offset: 16
        #[prost(message, tag = "9")]
        Jimphbbbbmd(super::Dhlohmhgbnl),
        /// offset: 16
        #[prost(message, tag = "8")]
        Elammhiknkp(super::Ojdiahnjpei),
    }
}
/// Obf: NDHJKOFLIHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMatchPlayDataRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hbnkekfhofm: ::prost::alloc::vec::Vec<Ahklpbcefni>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: AMFDANHICHO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1069)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchPlayDataChangeNtf {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub bjlmddfgcij: ::core::option::Option<Ahklpbcefni>,
}
/// Obf: CLNDKNNNPEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1066)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetFriendRankingInfoCsReq {
    /// offset: 24
    #[prost(enumeration = "FightGameMode", tag = "14")]
    pub okkfcinadie: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Knlcdifbhhl {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub mpmgiiknpob: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub uid: u32,
    #[prost(oneof = "knlcdifbhhl::Mgkehfmcbbp", tags = "6, 10, 14")]
    pub mgkehfmcbbp: ::core::option::Option<knlcdifbhhl::Mgkehfmcbbp>,
}
/// Nested message and enum types in `KNLCDIFBHHL`.
pub mod knlcdifbhhl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "6")]
        Ikbabpocmmc(super::Phmjogcapni),
        /// offset: 24
        #[prost(message, tag = "10")]
        Hanlnnimfan(super::Pfinamhfjeh),
        /// offset: 24
        #[prost(message, tag = "14")]
        Jkakcaalibl(super::Ammebenegnm),
    }
}
/// Obf: FLIEPFCLCEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1079)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRankingInfoRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub jjfhbckjbpf: ::prost::alloc::vec::Vec<Knlcdifbhhl>,
    /// offset: 36
    #[prost(enumeration = "FightGameMode", tag = "1")]
    pub okkfcinadie: i32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: MFEDELJFLLB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1045)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfRankChangeNtf {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub jjfhbckjbpf: ::prost::alloc::vec::Vec<Knlcdifbhhl>,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "2")]
    pub okkfcinadie: i32,
}
/// Obf: PHANIFPFABB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4657)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcodiejlhnf {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub foaidccgjhb: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
/// Obf: JIKADEKMPNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub pamonmoibkk: ::prost::alloc::vec::Vec<Bngffckdekk>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub hfnpkhbnpld: ::prost::alloc::vec::Vec<Jcodiejlhnf>,
}
/// Obf: HGEFPFDAGDN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4655)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub hfnpkhbnpld: ::prost::alloc::vec::Vec<Jcodiejlhnf>,
}
/// Obf: LPKHNBLFIJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4675)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ppnmjbcjdke {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub jmefdpgngie: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub pmkbokhiokh: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub kmgpimbblig: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bngffckdekk {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jgpmlpakcnf: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub panel_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub hahilbjmhee: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lagofmnjcgh: u32,
}
/// Obf: DCKHJIGOMDI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4638)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub bekecgkmgge: ::core::option::Option<Ppnmjbcjdke>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub pamonmoibkk: ::prost::alloc::vec::Vec<Bngffckdekk>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: OMEGGCELFKD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4662)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub hfnpkhbnpld: ::prost::alloc::vec::Vec<Jcodiejlhnf>,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub mhahcchpleb: ::prost::alloc::vec::Vec<Ppnmjbcjdke>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub pamonmoibkk: ::prost::alloc::vec::Vec<Bngffckdekk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bjjhpagnbdg {
    /// offset: 28
    #[prost(enumeration = "Fnheonnlhip", tag = "1")]
    pub pos: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub fhfibbchkjo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fldogahdanj {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub nmicgifdiie: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub mfnefmkpjjo: ::prost::alloc::vec::Vec<Bjjhpagnbdg>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ffakchfanch: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub gmccfpkpcap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bnehcnbinkb {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub bfiomoehggo: u32,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub is_finish: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nelkibmldcj {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub olkjkbekmmj: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub jdcjicfodfc: ::prost::alloc::vec::Vec<Bnehcnbinkb>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub mkdjipdegha: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub dednbjljcbg: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ademjcnaogd: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub jbphaclkgol: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbkkdfpopga {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub deokepljifl: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub fhfibbchkjo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olgppfebjnm {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub event_id: u32,
    /// offset: 52
    #[prost(enumeration = "MuseumRandomEventState", tag = "3")]
    pub state: i32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub fmliochgphe: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub ggihobfldko: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub aiefpigbmcj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub afcihalefca: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub kbadgempeae: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekghoafghmk {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub hdnehhdjfhb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub gfncgjbhmln: ::prost::alloc::vec::Vec<Olgppfebjnm>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub ikhepijpdji: u32,
}
/// Obf: KEIBMLAOPPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4357)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoCsReq {}
/// Obf: FFPINOIEFKD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4328)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoScRsp {
    /// offset: 88
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub fdblhifllee: u32,
    /// offset: 80
    #[prost(uint32, tag = "10")]
    pub aocichlhmik: u32,
    /// offset: 56
    #[prost(message, optional, tag = "5")]
    pub nmlfmpnoiom: ::core::option::Option<Nelkibmldcj>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub nmhogpcdhin: ::core::option::Option<Ekghoafghmk>,
    /// offset: 84
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub cur_fund: u32,
    /// offset: 100
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 64
    #[prost(uint32, repeated, tag = "3")]
    pub pcgiaclgjmc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub hgopnhmimha: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub pfagcmnnlln: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub bcmiapekdio: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mfnefmkpjjo: ::prost::alloc::vec::Vec<Hbkkdfpopga>,
    /// offset: 48
    #[prost(message, repeated, tag = "13")]
    pub area_list: ::prost::alloc::vec::Vec<Fldogahdanj>,
}
/// Obf: BMBOPJLBNJC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4355)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub fhfibbchkjo: u32,
}
/// Obf: HMAJOENMDOA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4375)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuyNpcStuffScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub fhfibbchkjo: u32,
}
/// Obf: GGJHHGPBNDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4338)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub deokepljifl: u32,
    /// offset: 32
    #[prost(enumeration = "Fnheonnlhip", tag = "7")]
    pub pos: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub fhfibbchkjo: u32,
}
/// Obf: PKOCEBOCOMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4362)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetStuffToAreaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub fhfibbchkjo: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub deokepljifl: u32,
    /// offset: 36
    #[prost(enumeration = "Fnheonnlhip", tag = "9")]
    pub pos: i32,
}
/// Obf: MBDFPFNKLIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4347)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub fhfibbchkjo: u32,
}
/// Obf: PMDCAFHIAIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4320)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveStuffFromAreaScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub fhfibbchkjo: u32,
}
/// Obf: LEBJFDKDEBA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4326)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncGetStuffScNotify {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub fhfibbchkjo: u32,
    /// offset: 24
    #[prost(enumeration = "GetStuffType", tag = "11")]
    pub jobaahpnobe: i32,
}
/// Obf: DCHAFPIPIJP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4305)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncGetExhibitScNotify {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub foioahkkedh: u32,
}
/// Obf: PGEJNOPBMCA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4337)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCurTurnCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub khikcimfjmc: u32,
}
/// Obf: HCJDDIKOGOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4369)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishCurTurnScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub lhopcbplfdd: u32,
}
/// Obf: CEILNEAFDBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4366)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaCsReq {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
/// Obf: JLFNBEAOILJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4379)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaScRsp {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
}
/// Obf: FBNCLFMKGJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4345)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(enumeration = "StatType", tag = "8")]
    pub ecohhfoidli: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
}
/// Obf: LFLNALCGJMN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4383)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpgradeAreaStatScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 32
    #[prost(enumeration = "StatType", tag = "10")]
    pub ecohhfoidli: i32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FPLDHCCMOAF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4395)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncMuseumInfoChangedScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub pcgiaclgjmc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    /// offset: 96
    #[prost(uint32, tag = "10")]
    pub aocichlhmik: u32,
    /// offset: 88
    #[prost(uint32, tag = "11")]
    pub hgopnhmimha: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub mfnefmkpjjo: ::prost::alloc::vec::Vec<Hbkkdfpopga>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub area_list: ::prost::alloc::vec::Vec<Fldogahdanj>,
    /// offset: 92
    #[prost(uint32, tag = "14")]
    pub fdblhifllee: u32,
    /// offset: 72
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub nmlfmpnoiom: ::core::option::Option<Nelkibmldcj>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "3")]
    pub bcmiapekdio: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub pfagcmnnlln: u32,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub cur_fund: u32,
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub nmhogpcdhin: ::core::option::Option<Ekghoafghmk>,
}
/// Obf: CIMNICNKIFK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4393)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncMuseumRandomEventStartScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub bglbndkfjea: ::core::option::Option<Olgppfebjnm>,
}
/// Obf: FKNIDFEBDBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4389)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryCsReq {
    /// offset: 24
    #[prost(int32, tag = "11")]
    pub bopmmmnihhk: i32,
}
/// Obf: PEDHKLEGFOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub bglbndkfjea: ::core::option::Option<Ekghoafghmk>,
}
/// Obf: FAEPPPJLMOI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4396)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ggihobfldko: u32,
}
/// Obf: DBKEAEKKKOO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4380)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventSelectScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ggihobfldko: u32,
}
/// Obf: POJHIAEBLIL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4334)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncMuseumFundsChangedScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cur_fund: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4377)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbifblpegam {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub dhjfafhlfpc: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub jioagbenphj: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub fhfibbchkjo: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub cur_fund: u32,
}
/// Obf: BMHMODIOLBH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4314)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncMuseumTargetStartNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub jbphaclkgol: u32,
}
/// Obf: HIABCKLCLLO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4312)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncMuseumTargetMissionFinishNotify {
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub ckbplmimajh: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub bfiomoehggo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub jbphaclkgol: u32,
}
/// Obf: GEAKBCOPFAM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4350)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncMuseumTargetRewardNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub item_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub jbphaclkgol: u32,
}
/// Obf: MANJPDPFDPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4386)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeCollectRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
}
/// Obf: GDEMNMFBLED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4309)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCollectRewardRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnmilgkghjg {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub ikbopfcofpp: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub iocbocnhbkd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmbijcibcee {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub afificffkof: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "13")]
    pub lkjgnomgomg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub ammcckjcjef: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub ipnekccfkpl: u32,
}
/// Obf: CIEFOIHBIPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7589)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub player_data: u32,
}
/// Obf: OAJKEOCIMNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7590)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataScRsp {
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub cur_level_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub djclfhkhidm: ::prost::alloc::vec::Vec<Hmbijcibcee>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub eahmccmkigk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub gjcjhfhiddi: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub ecjgmlmdjem: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(bool, tag = "11")]
    pub fnbncpcljii: bool,
    /// offset: 48
    #[prost(uint32, repeated, tag = "1")]
    pub enpejmnolla: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "3")]
    pub gfgdjpdgojk: ::prost::alloc::vec::Vec<Gnmilgkghjg>,
}
/// Obf: DIEHAECDCLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7582)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
}
/// Obf: JLDCMNLNFBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7573)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmStartLevelScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub pikchlflakb: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
/// Obf: CKPOPICKGEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7571)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub score_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub role_star: u32,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub ikbopfcofpp: bool,
}
/// Obf: LFMCJJGOFED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7594)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmFinishLevelScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub level_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MLKIDBDBIBK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7580)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockTrackScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub iellakhiono: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HEBAKMKAPGK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub ohfeaejhfbh: ::core::option::Option<Hmbijcibcee>,
}
/// Obf: LPELGJOBPND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7596)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub lmpjkkodhmi: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gjcjhfhiddi: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7588)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mddfppgkglo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub odjcmaekogg: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7581)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbecabbdkjf {}
/// Obf: EMDJGPOLDCH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7600)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmUnlockSongSfxScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub odjcmaekogg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibdenhlfkag {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub niceccghfee: u32,
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub lfkfkfndfok: bool,
    /// offset: 33
    #[prost(bool, tag = "1")]
    pub cjkihedidhe: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub nbboliainil: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmnofmbgido {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub niceccghfee: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub nbboliainil: u32,
    /// offset: 37
    #[prost(bool, tag = "2")]
    pub cjkihedidhe: bool,
    /// offset: 36
    #[prost(bool, tag = "7")]
    pub lfkfkfndfok: bool,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmapopggkic {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ggadddceiki: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub bpfkdaeanne: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ognbfmejbie {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub bgoocmgddli: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub digeimjfmcb: ::prost::alloc::vec::Vec<Nmapopggkic>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub nbboliainil: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dabmjhfegnh {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub nbboliainil: u32,
    /// offset: 48
    #[prost(int64, tag = "15")]
    pub mbhodhnfebf: i64,
    /// offset: 16
    #[prost(int64, repeated, tag = "4")]
    pub hnnkbkcabbc: ::prost::alloc::vec::Vec<i64>,
    /// offset: 40
    #[prost(int64, tag = "6")]
    pub cllgbmkngfp: i64,
}
/// Obf: FJIEANFBOKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetNewYearBoatActivityDataCsReq {}
/// Obf: BIHPNKFOJJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9454)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNewYearBoatActivityDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub niceccghfee: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub glpobiplhjf: ::prost::alloc::vec::Vec<Dabmjhfegnh>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ebjeepjcohj: ::core::option::Option<Ognbfmejbie>,
    /// offset: 48
    #[prost(message, repeated, tag = "5")]
    pub ohhpmimhpbn: ::prost::alloc::vec::Vec<Ognbfmejbie>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub bcfgldinpod: ::prost::alloc::vec::Vec<Ibdenhlfkag>,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub phbpegcnbhm: ::prost::alloc::vec::Vec<Cmnofmbgido>,
}
/// Obf: GJINDFPDECE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9456)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectNewYearBoatCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub nbboliainil: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ggadddceiki: u32,
}
/// Obf: EGCBMNBFDKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9451)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectNewYearBoatScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nbboliainil: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub niceccghfee: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: LHJCKGIFICP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9462)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeNewYearBoatRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub lmafalecnoa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kljgjmenlkg {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub nbboliainil: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AOCNBEOEAAG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9461)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeNewYearBoatRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub emejnmbmmjg: ::prost::alloc::vec::Vec<Kljgjmenlkg>,
}
/// Obf: EPBFDKPHGKB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OfferingInfo {
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub offering_level: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub has_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "OfferingState", tag = "6")]
    pub offering_state: i32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub total_exp: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub offering_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub level_exp: u32,
}
/// Obf: OLILGOECCAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6930)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub eomaekidaci: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OMMBPDNFHJK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6924)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub blacblakghe: ::prost::alloc::vec::Vec<OfferingInfo>,
}
/// Obf: KHBEFGDAGOP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6926)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub offering_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: IIPMBKGAGGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6921)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitOfferingItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub emiddpajfaj: ::core::option::Option<OfferingInfo>,
}
/// Obf: FBJCODGGPBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6932)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardCsReq {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub offering_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub take_reward_level_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FCMIJCAOMNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6931)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub emiddpajfaj: ::core::option::Option<OfferingInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: CAFKOMEECFM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OfferingInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub emiddpajfaj: ::core::option::Option<OfferingInfo>,
}
/// Obf: MONEFJBKFDI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AcceptedPamMissionExpireCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub main_mission_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4028)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bacejidcknl {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub main_mission_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: MIMLCMGGPIL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncAcceptedPamMissionNotify {
    /// offset: 32
    #[prost(uint64, tag = "7")]
    pub bmhbknkjmgh: u64,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub main_mission_id: u32,
}
/// Obf: NKBHJEFGDIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8130)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataCsReq {}
/// Obf: PBDCCEHHDDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8124)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPamSkinDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub unlock_skin_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub cur_skin: u32,
}
/// Obf: HKINNMNOLAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8126)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPamSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub pam_skin: u32,
}
/// Obf: KFHKBCDBBFN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8121)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPamSkinScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub cur_skin: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub set_skin: u32,
}
/// Obf: MAHCNDCANDJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8132)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPamSkinScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pam_skin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jkjhefdponi {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub time: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub jhdegapjchl: bool,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
}
/// Obf: HNMPNJKFAPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8390)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourGetDataCsReq {}
/// Obf: PGLEELJGHAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8384)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub kddebcdfgdh: ::prost::alloc::vec::Vec<Jkjhefdponi>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hbdjaepniig {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub time: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub aljekooalcd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnpoahpcpjb {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub mglcaepolod: ::prost::alloc::vec::Vec<Hbdjaepniig>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
/// Obf: AGOAJGIBCJN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8386)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourGetRankingInfoCsReq {}
/// Obf: HBCNDEMECJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8381)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetRankingInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub idkdfdenodi: ::prost::alloc::vec::Vec<Lnpoahpcpjb>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub ceakapkmmne: ::core::option::Option<Lnpoahpcpjb>,
}
/// Obf: DNPJOAMOAHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8392)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourStartLevelCsReq {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub naedglingdc: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
}
/// Obf: EANHCLJMJFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8391)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourStartLevelScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub naedglingdc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfcjgdbagil {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cnt: u32,
    /// offset: 28
    #[prost(enumeration = "Kbpndlgegde", tag = "9")]
    pub r#type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Idecpnbfcdl {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iofgamndoak {
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub iomfdfmkfcg: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub fdnfdiagfkk: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub kofpjijaeoo: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub jdlgkbmakoo: u32,
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub jdlklbkadaf: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub joiikpmkojo: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub ijekbbpmail: ::prost::alloc::vec::Vec<Idecpnbfcdl>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub aicjdkkjnfp: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub emmenckjnlf: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub ppdinolbfhh: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub ehbjelfeegd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oipmkjchcgk {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub oaehkjjoemg: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub cbkadkclidm: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ahmkpejdena: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub degjjofdbmj: u32,
}
/// Obf: LPFOKNBHMLK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8400)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourEndLevelCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub gaedacjnjkc: ::prost::alloc::vec::Vec<Oipmkjchcgk>,
    /// offset: 60
    #[prost(enumeration = "Mgddnaenmdd", tag = "3")]
    pub end_reason: i32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub level_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub icljpjooiec: ::core::option::Option<Iofgamndoak>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub time: u32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub naedglingdc: u32,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub pgjbgceojka: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub kelkgniplcd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub mcpfjccdood: ::prost::alloc::vec::Vec<Jfcjgdbagil>,
    /// offset: 72
    #[prost(uint32, tag = "2")]
    pub rank: u32,
}
/// Obf: FPAAMHCAEOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8395)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParkourEndLevelScRsp {
    /// offset: 37
    #[prost(bool, tag = "14")]
    pub jhdegapjchl: bool,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub time: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub anjgapncifc: ::core::option::Option<Jkjhefdponi>,
    /// offset: 40
    #[prost(enumeration = "Mgddnaenmdd", tag = "12")]
    pub end_reason: i32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub feodmncjino: bool,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: BFCINLKDFPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7601)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPetDataCsReq {}
/// Obf: EKIKCOLFADM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7610)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPetDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub cur_pet_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub unlocked_pet_id: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: MOBOCFBEFKO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7613)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub summoned_pet_id: u32,
}
/// Obf: NNLHAHPLCFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7611)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPetScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cur_pet_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub select_pet_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: PKDNGHHPNMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7609)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecallPetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub summoned_pet_id: u32,
}
/// Obf: OHBKHLNAIEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7622)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecallPetScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub cur_pet_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub select_pet_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7619)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurPetChangedScNotify {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cur_pet_id: u32,
}
/// Obf: BCIEMMAEOPA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPhoneDataCsReq {}
/// Obf: CLKJDEAFHBC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPhoneDataScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub owned_phone_themes: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub owned_chat_bubbles: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub cur_phone_case: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub cur_chat_bubble: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub cur_phone_theme: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub fgcgcbegfjk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: MDECAAAILAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5155)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub bubble_id: u32,
}
/// Obf: DOPGKOPEPGN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5175)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectChatBubbleScRsp {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cur_chat_bubble: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub pbnmnbppjbb: u32,
}
/// Obf: ADEBLKAINIH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5138)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockChatBubbleScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub bubble_id: u32,
}
/// Obf: PMIEKIFKJJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5162)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub theme_id: u32,
}
/// Obf: IPCLHDMLIML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneThemeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ecnhpjkaigm: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub cur_phone_theme: u32,
}
/// Obf: GGGJALFAKEJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPhoneThemeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub theme_id: u32,
}
/// Obf: BEJKJLFNJPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5126)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneCaseCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub phone_case_id: u32,
}
/// Obf: MOCAIPAJDAG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectPhoneCaseScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub oddhkmklpbh: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub cur_phone_case: u32,
}
/// Obf: IPIDAKPEJPA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5137)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockPhoneCaseScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub phone_case_id: u32,
}
/// Obf: MKHNIANPFFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8250)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlanetFesDataCsReq {}
/// Obf: BGNGDKPOCGE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8249)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlanetFesDataScRsp {
    /// offset: 56
    #[prost(message, optional, tag = "3")]
    pub dehkolfhapn: ::core::option::Option<Akamfnlcghg>,
    /// offset: 120
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 88
    #[prost(message, optional, tag = "13")]
    pub gbpoicomcob: ::core::option::Option<Gghlpehcjlk>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub ckiblcgepkl: ::core::option::Option<Mfbigfbeeoh>,
    /// offset: 72
    #[prost(message, optional, tag = "14")]
    pub iiebgimjhol: ::core::option::Option<Cockkbmdhcp>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub emkgcojhhab: ::core::option::Option<Pccifkocinp>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub jhfakpmipmg: ::core::option::Option<Ffjoclleopa>,
    /// offset: 64
    #[prost(message, optional, tag = "12")]
    pub ockoglpdjdc: ::core::option::Option<Jghgaaihcap>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub ilbklcniing: ::core::option::Option<Nmelphljlca>,
    /// offset: 104
    #[prost(message, optional, tag = "7")]
    pub fpnlinolkeo: ::core::option::Option<Pjolanjkhdk>,
    /// offset: 80
    #[prost(message, optional, tag = "6")]
    pub skill_info: ::core::option::Option<Nocpkdcfhpd>,
    /// offset: 112
    #[prost(message, repeated, tag = "5")]
    pub custom_value_list: ::prost::alloc::vec::Vec<KeyPairValue>,
    /// offset: 96
    #[prost(message, optional, tag = "10")]
    pub hbheibdbfmo: ::core::option::Option<Lklfabhkdjn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knfmikpcgop {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub ghbceaanbag: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NBPPALCLOHC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8224)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Ciiidmglkdc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aeojaiboidk {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub lpjbflebdme: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fokpccljgbd: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub padeclgdpol: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ciiidmglkdc {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub source: ::core::option::Option<Aeojaiboidk>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub donppgjpmfi: ::core::option::Option<Clpbhchpdef>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Liccninaigh {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub nnkgceckbla: u32,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub kilmamdeabh: i64,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub bjplnfidjhm: ::core::option::Option<Knfmikpcgop>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub oplphcgmlia: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lklfabhkdjn {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub nipdlbopddn: ::prost::alloc::vec::Vec<Liccninaigh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jphbaglfgpj {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub hnlocmehnpo: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub role_star: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jghgaaihcap {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jphbaglfgpj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hgdgccbgkhm {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub item_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akamfnlcghg {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub item_value: ::core::option::Option<Knfmikpcgop>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub nohbjdoegao: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjolanjkhdk {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub ajjlhpaflfi: ::prost::alloc::vec::Vec<Obhbedpilmf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obhbedpilmf {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub djgjlcmmoec: ::prost::alloc::vec::Vec<Mhnoicidion>,
    /// offset: 48
    #[prost(uint64, tag = "10")]
    pub unique_id: u64,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub source: ::core::option::Option<Aeojaiboidk>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mhnoicidion {
    #[prost(oneof = "mhnoicidion::Mgkehfmcbbp", tags = "4")]
    pub mgkehfmcbbp: ::core::option::Option<mhnoicidion::Mgkehfmcbbp>,
}
/// Nested message and enum types in `MHNOICIDION`.
pub mod mhnoicidion {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(int64, tag = "4")]
        Dhacgjkibbp(i64),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgemgaadnde {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub quest_id: u32,
    /// offset: 36
    #[prost(enumeration = "PlanetFesQuestState", tag = "4")]
    pub status: i32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub bcciimppnfb: u32,
    #[prost(oneof = "mgemgaadnde::Nielhkmhfki", tags = "15, 14")]
    pub nielhkmhfki: ::core::option::Option<mgemgaadnde::Nielhkmhfki>,
}
/// Nested message and enum types in `MGEMGAADNDE`.
pub mod mgemgaadnde {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nielhkmhfki {
        /// offset: 16
        #[prost(uint32, tag = "15")]
        Oohaicdlbag(u32),
        /// offset: 16
        #[prost(message, tag = "14")]
        Nicjjkcbiad(super::Knfmikpcgop),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oddhddckcpk {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub eoilicjnpoc: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ohmddkcaenc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfbigfbeeoh {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub quest_list: ::prost::alloc::vec::Vec<Mgemgaadnde>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub piplgnbilcp: ::core::option::Option<Oddhddckcpk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmelphljlca {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub pcpbknlpona: ::core::option::Option<Knfmikpcgop>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dmnjgemdfmb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnohikdkhge {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub lfebmhmmpnn: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cockkbmdhcp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub nbhhfclemad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub igdcdfpafdp: ::prost::alloc::vec::Vec<Gnohikdkhge>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Elghpdpcpbn {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nocpkdcfhpd {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub ienpoeicmal: ::prost::alloc::vec::Vec<Elghpdpcpbn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gghlpehcjlk {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub plpklgbmbnf: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub gbjapnonekf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffjoclleopa {
    /// offset: 40
    #[prost(int64, tag = "5")]
    pub jlkbahfpkhn: i64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub pnnaolkahbd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ijhcmhekmdh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clpbhchpdef {
    #[prost(
        oneof = "clpbhchpdef::Mgkehfmcbbp",
        tags = "12, 10, 15, 1, 13, 6, 5, 7, 2, 11, 3, 14, 9, 8, 4, 1147, 1275, 1274, 1567, 474, 161, 1014, 731, 1873, 353, 1545, 1357, 650"
    )]
    pub mgkehfmcbbp: ::core::option::Option<clpbhchpdef::Mgkehfmcbbp>,
}
/// Nested message and enum types in `CLPBHCHPDEF`.
pub mod clpbhchpdef {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "12")]
        Mpodfpdonba(super::Baafcclbbal),
        /// offset: 16
        #[prost(message, tag = "10")]
        Glnbjcpijgn(super::Baafcclbbal),
        /// offset: 16
        #[prost(message, tag = "15")]
        AddGameItemInfo(super::Fbnhkgdecej),
        /// offset: 16
        #[prost(message, tag = "1")]
        Jgobpfooldk(super::Fbnhkgdecej),
        /// offset: 16
        #[prost(message, tag = "13")]
        Ndeliodlfgl(super::Liccninaigh),
        /// offset: 16
        #[prost(message, tag = "6")]
        Pgeidbmbipl(super::Liccninaigh),
        /// offset: 16
        #[prost(message, tag = "5")]
        Acjdofdiode(super::Jphbaglfgpj),
        /// offset: 16
        #[prost(message, tag = "7")]
        Ccmfiekdkli(super::Jphbaglfgpj),
        /// offset: 16
        #[prost(message, tag = "2")]
        Cfgppldpmel(super::Obhbedpilmf),
        /// offset: 16
        #[prost(message, tag = "11")]
        Nceehpoceip(super::Obhbedpilmf),
        /// offset: 16
        #[prost(message, tag = "3")]
        Jbnbofbiomm(super::Dccnoigafoh),
        /// offset: 16
        #[prost(message, tag = "14")]
        Ndgcbckgoik(super::Mgemgaadnde),
        /// offset: 16
        #[prost(message, tag = "9")]
        Nfhdejgaang(super::Mgemgaadnde),
        /// offset: 16
        #[prost(message, tag = "8")]
        Npiieeieepg(super::Oddhddckcpk),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ppcjedojacd(super::PlanetFesUnlockChange),
        /// offset: 16
        #[prost(message, tag = "1147")]
        Bgflpbddnhe(super::Elghpdpcpbn),
        /// offset: 16
        #[prost(message, tag = "1275")]
        Abjgclgapnm(super::Ebocfgpjbmp),
        /// offset: 16
        #[prost(message, tag = "1274")]
        Pnkfphgnmae(super::Enoncdillga),
        /// offset: 16
        #[prost(message, tag = "1567")]
        Dfpjpbkjikg(super::Bddoolhmopc),
        /// offset: 16
        #[prost(message, tag = "474")]
        Ijicoenabek(super::Ejafacppcjl),
        /// offset: 16
        #[prost(message, tag = "161")]
        Edjfbjiciip(super::Ajdolcehkgg),
        /// offset: 16
        #[prost(message, tag = "1014")]
        Lcfbccnkldp(super::Oijepnigmaj),
        /// offset: 16
        #[prost(message, tag = "731")]
        Gkpjfjjpcjd(super::Obhbedpilmf),
        /// offset: 16
        #[prost(message, tag = "1873")]
        Modoobnmnbl(super::Dneceonncgb),
        /// offset: 16
        #[prost(message, tag = "353")]
        Afncncfjfia(super::Ljpboaliiik),
        /// offset: 16
        #[prost(message, tag = "1545")]
        Lcdaimciofk(super::Nhhpgfimokf),
        /// offset: 16
        #[prost(message, tag = "1357")]
        Nplimepphap(super::Kpfimcimhdj),
        /// offset: 16
        #[prost(message, tag = "650")]
        Gpobneemefc(super::Kkieeellpdf),
    }
}
/// Obf: GEHCMEHJLBO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUnlockChange {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub iiebgimjhol: ::core::option::Option<Gnohikdkhge>,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dccnoigafoh {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dmnjgemdfmb: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub pcpbknlpona: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baafcclbbal {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub bndlonjjnkb: ::core::option::Option<Knfmikpcgop>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub item_stack_count: ::core::option::Option<Knfmikpcgop>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub haggcbabmip: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub lbjmcbaodea: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbnhkgdecej {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub item_stack_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub bndlonjjnkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ebocfgpjbmp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub gdimblopaon: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub ehnbglldppd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eajjpmdknjb {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub encmddnomjn: ::core::option::Option<Knfmikpcgop>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub hmkedghnkci: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub jceeloejcef: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dneceonncgb {
    /// offset: 80
    #[prost(uint32, tag = "12")]
    pub bfhfplgkkhn: u32,
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub fjejgmaeamk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ccgpimdmgje: ::core::option::Option<Knfmikpcgop>,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub hejopjmkhod: ::prost::alloc::vec::Vec<Eajjpmdknjb>,
    /// offset: 72
    #[prost(uint32, tag = "15")]
    pub pgokebjkpbp: u32,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub chgolkckcik: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub mjcmgdgcbfg: ::core::option::Option<Knfmikpcgop>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "14")]
    pub okdacfdfkbe: ::std::collections::HashMap<u32, u32>,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub hdaomolaaop: u32,
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub gaipfenalef: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enoncdillga {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub epncgbnfhca: ::core::option::Option<Bggmomjbjeb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejafacppcjl {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub demdndhldnf: ::core::option::Option<Bpiighpceka>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bddoolhmopc {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub nmdbjhkipgj: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajdolcehkgg {
    /// offset: 32
    #[prost(enumeration = "Ijghjfgednn", tag = "2")]
    pub eccaoielhle: i32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oijepnigmaj {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub plpklgbmbnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deeeippejbg {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub iedggeinjlf: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub idcffigfgje: ::core::option::Option<Knfmikpcgop>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub imcajgmdfpl: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub bbpahpjkekl: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub kohpgeijmgd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipcebiapmcj {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub item_list: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub transfer_item_list: ::prost::alloc::vec::Vec<Deeeippejbg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cacmakfpbfk {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub gjiblkgmgmd: ::core::option::Option<Hgdgccbgkhm>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub jnmkmlcedcc: ::core::option::Option<Deeeippejbg>,
}
/// Obf: LLOLGCCAANC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8207)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectIncomeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub nnkgceckbla: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8239)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jeconcnchnf {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Emjofkfflkp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nnkgceckbla: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Obf: NDMOHGOGFLI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesSetAvatarWorkCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub pnicaabmnfn: ::prost::alloc::vec::Vec<Emjofkfflkp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8247)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dellmhilkik {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JMBBJBAIPDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8235)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBuyLandCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub nnkgceckbla: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8208)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fffkdckdocg {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JIMMGGFBEBP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8206)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesClientStatusCsReq {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub dpdalmninng: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkdmcimipdf {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: PMPMFDIJEHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8203)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesCollectAllIncomeCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8231)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gjppkgpfcjf {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub gcphiakcbmd: ::core::option::Option<Knfmikpcgop>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: FHONPLKGMHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8229)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDoGachaCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub gacha_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub simulate_magic: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gacha_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boinenknaio {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub gmmlccddhfm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub cdmgnbpliic: ::core::option::Option<Cacmakfpbfk>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub enneoibkhdj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ickcacgnbbk {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ffijcakigoo: ::core::option::Option<Knfmikpcgop>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub phpkjoiahmp: ::prost::alloc::vec::Vec<Cacmakfpbfk>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "12")]
    pub hbeijgbecog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub opagohipelo: ::prost::alloc::vec::Vec<Boinenknaio>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpncecckpga {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub lgfgoenjfhd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub agomiadbibg: ::core::option::Option<Ipcebiapmcj>,
}
/// Obf: DKKOLHEGNOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8222)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDoGachaScRsp {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub gacha_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub chekpepjpgm: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    #[prost(oneof = "planet_fes_do_gacha_sc_rsp::Badlcnhcgkc", tags = "15, 14")]
    pub badlcnhcgkc: ::core::option::Option<planet_fes_do_gacha_sc_rsp::Badlcnhcgkc>,
}
/// Nested message and enum types in `PlanetFesDoGachaScRsp`.
pub mod planet_fes_do_gacha_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Badlcnhcgkc {
        /// offset: 16
        #[prost(message, tag = "15")]
        Egohhbllebe(super::Ickcacgnbbk),
        /// offset: 16
        #[prost(message, tag = "14")]
        Edboaadhhak(super::Hpncecckpga),
    }
}
/// Obf: PAGJFBIIHOJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8219)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ehioeiiajda: u32,
}
/// Obf: HINNDAJEFAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8201)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub knnnccbhpgi: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub ehioeiiajda: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: MEEJBBNMAHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8220)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub quest_id: u32,
}
/// Obf: JHMAHHJGJOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8238)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub quest_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub cemajkfijkd: ::core::option::Option<Ipcebiapmcj>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DGKNEAOBIHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8223)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeSkillLevelCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ehioeiiajda: u32,
}
/// Obf: HGCJPPACGHC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8236)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSkillLevelUpScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub item_cost: ::core::option::Option<Hgdgccbgkhm>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub skill_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mocjipbnbbc {
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub item_list: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub item_value: ::core::option::Option<Knfmikpcgop>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "7")]
    pub illphadjmgk: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jolnkgicpom {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub lcnomfmmhii: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dnhgmgjdobn: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kaonehffleb {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub lbaampekdgi: ::prost::alloc::vec::Vec<Jolnkgicpom>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfdnbibkonp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub fmhdeeihgcp: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "6")]
    pub gjoidpbmkjb: ::std::collections::HashMap<u32, u32>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub cjemkdpnhjl: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub elpgefhffgi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfhbognkhkg {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub ipeifhleggi: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ddcnefchhfa: ::core::option::Option<Nijbgiehnfe>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub jhnehmdnoon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbhadnfpnli {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub knlbcdpnpia: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ielideenken {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub hfkkmjipfff: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub knlbcdpnpia: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub nikdiibpagp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mggggjjbilh {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub knlbcdpnpia: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mndbpkpddkk {
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub odldcccdfjk: u32,
    /// offset: 34
    #[prost(bool, tag = "12")]
    pub hfbgojeeini: bool,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub ocaopncifkh: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub eajkmdbhnho: u32,
    /// offset: 40
    #[prost(int64, tag = "1")]
    pub fmkknkfodmo: i64,
    /// offset: 33
    #[prost(bool, tag = "13")]
    pub ndcfobajbfo: bool,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub ecfbogmjlkb: bool,
    #[prost(oneof = "mndbpkpddkk::Nnpkchfkppc", tags = "11, 4, 10, 6, 2, 15")]
    pub nnpkchfkppc: ::core::option::Option<mndbpkpddkk::Nnpkchfkppc>,
}
/// Nested message and enum types in `MNDBPKPDDKK`.
pub mod mndbpkpddkk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 24
        #[prost(message, tag = "11")]
        Einelanpjgf(super::Kaonehffleb),
        /// offset: 24
        #[prost(message, tag = "4")]
        Iffhfpopbmo(super::Dfdnbibkonp),
        /// offset: 24
        #[prost(message, tag = "10")]
        Jfneeindfmd(super::Kfhbognkhkg),
        /// offset: 24
        #[prost(message, tag = "6")]
        Ffeemaanflm(super::Mbhadnfpnli),
        /// offset: 24
        #[prost(message, tag = "2")]
        Mmedainimek(super::Ielideenken),
        /// offset: 24
        #[prost(message, tag = "15")]
        Dbdbfmfccil(super::Mggggjjbilh),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpiighpceka {
    /// offset: 57
    #[prost(bool, tag = "13")]
    pub epcjdheahao: bool,
    /// offset: 48
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub pbfcjloeffa: ::prost::alloc::vec::Vec<Mndbpkpddkk>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub mjcmgdgcbfg: ::core::option::Option<Knfmikpcgop>,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub ocaopncifkh: u32,
    /// offset: 56
    #[prost(bool, tag = "6")]
    pub has_passed: bool,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "15")]
    pub cglpibcochb: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anhajkhboid {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub lhejnfmofln: u32,
    /// offset: 52
    #[prost(bool, tag = "15")]
    pub epcjdheahao: bool,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub mjcmgdgcbfg: ::core::option::Option<Knfmikpcgop>,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub hejopjmkhod: ::prost::alloc::vec::Vec<Eajjpmdknjb>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub ocaopncifkh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub igcpihjioal: ::core::option::Option<Knfmikpcgop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pkgeejgepnl {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub fmkhdppkamh: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub eajkmdbhnho: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bggmomjbjeb {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub dkeghkolcni: ::core::option::Option<Bpiighpceka>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub ndpkgdbkllh: ::prost::alloc::vec::Vec<Anhajkhboid>,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub ldmfphomhdm: ::prost::alloc::vec::Vec<Pkgeejgepnl>,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub gfhlapfldpd: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub bgibijhedga: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub beepmkepcff: u32,
}
/// Obf: DCMLCHPOFOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub enbplkdmfmh: bool,
}
/// Obf: LHBFNPLAJJM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8221)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "4")]
    pub ljlonfhbkmm: i64,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub epncgbnfhca: ::core::option::Option<Bggmomjbjeb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pccifkocinp {
    /// offset: 41
    #[prost(bool, tag = "5")]
    pub has_passed: bool,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub epcjdheahao: bool,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub beepmkepcff: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub gfhlapfldpd: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub aokghiladja: u32,
    /// offset: 24
    #[prost(int64, tag = "12")]
    pub ljlonfhbkmm: i64,
}
/// Obf: DFCDINHNLGA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8240)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventCsReq {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub ligaebkaohg: bool,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ocaopncifkh: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub eajkmdbhnho: u32,
}
/// Obf: KLBFIIMCBCK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8237)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DKBGCDILPGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8228)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub lcnomfmmhii: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
/// Obf: PBJIPACJGFH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8202)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub mdheobmnhcf: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: FDJNNPANOLJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8246)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub comdgfhpjia: u32,
}
/// Obf: LNJCNOHLLDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8245)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionScRsp {
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub gncafdhmbao: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub imjffpfijpe: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub elpgefhffgi: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: HBAHMDENLIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8248)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemCsReq {
    /// offset: 28
    #[prost(bool, tag = "9")]
    pub eihjpkadgjf: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cjemkdpnhjl: u32,
}
/// Obf: FMCGNOCJIBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8226)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemScRsp {
    /// offset: 52
    #[prost(bool, tag = "5")]
    pub eihjpkadgjf: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub gncafdhmbao: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub imjffpfijpe: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
}
/// Obf: IBIOAOKCNBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8241)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub hnmfmgcapno: u32,
}
/// Obf: HIFLBEBNPDD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8215)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub hnmfmgcapno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckobohmgfho {
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub eekeahppblj: u32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub lonmhjmkgei: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub lakgobngbff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub oklbboglepl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nijbgiehnfe {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub ipeifhleggi: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub idfljmpeapa: u32,
    #[prost(oneof = "nijbgiehnfe::Kcjpbdfahca", tags = "12")]
    pub kcjpbdfahca: ::core::option::Option<nijbgiehnfe::Kcjpbdfahca>,
}
/// Nested message and enum types in `NIJBGIEHNFE`.
pub mod nijbgiehnfe {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kcjpbdfahca {
        /// offset: 16
        #[prost(message, tag = "12")]
        Mbogmlchbof(super::Ckobohmgfho),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpecnpjljac {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ojjledmkceh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PJHHKFMEOKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8205)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesStartMiniGameCsReq {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub ipeifhleggi: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub idfljmpeapa: u32,
}
/// Obf: NEGGNNKFPLN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesStartMiniGameScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub ddcnefchhfa: ::core::option::Option<Nijbgiehnfe>,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(oneof = "planet_fes_start_mini_game_sc_rsp::Bhafbdajflp", tags = "11")]
    pub bhafbdajflp: ::core::option::Option<
        planet_fes_start_mini_game_sc_rsp::Bhafbdajflp,
    >,
}
/// Nested message and enum types in `PlanetFesStartMiniGameScRsp`.
pub mod planet_fes_start_mini_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bhafbdajflp {
        /// offset: 24
        #[prost(message, tag = "11")]
        Agomiadbibg(super::Cpecnpjljac),
    }
}
/// Obf: IPJCKNNHEHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8217)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUseItemCsReq {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ipdjjcjjhke: u32,
}
/// Obf: CNHJPFIGHME
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8244)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesUseItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
}
/// Obf: AKPHBAJLOOJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8209)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBingoGameFlipCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub lnpcfacddje: u32,
}
/// Obf: KIHDOIDBNDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8225)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGameBingoFlipScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub lnpcfacddje: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub innbngiknhj: bool,
}
/// Obf: OKCBEOCJNBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8218)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesBonusEventInteractCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub eajkmdbhnho: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fcbfcipnlmm: u32,
}
/// Obf: HDIOFJONJDE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBonusEventInteractScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<Mocjipbnbbc>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub eajkmdbhnho: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpfimcimhdj {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ijanegfmofo: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub mpmgiiknpob: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub ocaopncifkh: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub gcgbjhkaaab: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub gold: ::core::option::Option<Knfmikpcgop>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub dmnjgemdfmb: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
/// Obf: FBDPNAFLJIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8234)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListCsReq {}
/// Obf: FIHFMMPBGCL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub fpomgbgdaka: ::core::option::Option<Kpfimcimhdj>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: DLGCNCDOAAO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8212)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesFriendRankingInfoChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jjfhbckjbpf: ::prost::alloc::vec::Vec<Kpfimcimhdj>,
}
/// Obf: LJCJKBIENGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8214)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueCsReq {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub key: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub value: u32,
}
/// Obf: EIPMDCLCJAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8216)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub key: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub value: u32,
}
/// Obf: IFNDHGBOMME
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8242)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesUpgradeFesLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ehioeiiajda: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8210)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pcbcipafihp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MEHDFPICNLE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8227)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetAvatarStatCsReq {}
/// Obf: JCAFKJMPHNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8204)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetAvatarStatScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub hejopjmkhod: ::prost::alloc::vec::Vec<Eajjpmdknjb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljpboaliiik {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub gegachaejfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "5")]
    pub lihmbobkcff: i64,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub jhdoecilhdd: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub poamkoggppp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhhpgfimokf {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub gegachaejfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(int64, tag = "4")]
    pub time: i64,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub jlgnfagajao: u64,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub dhdpdhbmpll: u32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub hjjapiekgho: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkieeellpdf {
    /// offset: 32
    #[prost(int64, tag = "5")]
    pub time: i64,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub poamkoggppp: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub jhdoecilhdd: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub gegachaejfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub source: u32,
}
/// Obf: EDNLGFBPFCE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8340)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eohpnkilmbd {
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub nedeacpfpaa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub dnlagbfopkk: ::prost::alloc::vec::Vec<Kkieeellpdf>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub obnnnacjnam: ::prost::alloc::vec::Vec<Ljpboaliiik>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub kjndcmgdipk: u32,
    /// offset: 64
    #[prost(int64, tag = "4")]
    pub llcaoldmpal: i64,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub phiddjofoce: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub okljlpjogfe: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: BGGKBMPGCEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8339)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub cnlbecigobf: ::core::option::Option<Eohpnkilmbd>,
}
/// Obf: BIODPHACCLM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8314)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceCsReq {}
/// Obf: DIACMOLLMNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8297)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub cmkcljcbjga: ::prost::alloc::vec::Vec<Eohpnkilmbd>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CCCEPKKAHHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8329)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub okljlpjogfe: u32,
}
/// Obf: MNKMECFGILD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8323)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub okljlpjogfe: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: EHBKOIIMBGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8337)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesApplyCardPieceCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub gegachaejfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub oioncobaodk: u32,
}
/// Obf: GGODNKFCKLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8325)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesApplyCardPieceScRsp {
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub jlkbahfpkhn: i64,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub oioncobaodk: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub gegachaejfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 52
    #[prost(bool, tag = "3")]
    pub bdpomnnkgbp: bool,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub poamkoggppp: u32,
}
/// Obf: KPFJPGBMBCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8298)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyCsReq {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub jhdoecilhdd: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub klaeolpofah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub poamkoggppp: u32,
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub bcjnnmmjphi: bool,
}
/// Obf: CCFBJNFNNMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8296)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyScRsp {
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub hkmglpdinhd: i64,
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub bcjnnmmjphi: bool,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub klaeolpofah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub poamkoggppp: u32,
}
/// Obf: PPLGLMMHJBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8333)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceCsReq {
    /// offset: 24
    #[prost(uint64, tag = "15")]
    pub jlgnfagajao: u64,
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub hjjapiekgho: bool,
}
/// Obf: JINNNPJMBFC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8293)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub phiddjofoce: ::prost::alloc::vec::Vec<Hgdgccbgkhm>,
    /// offset: 56
    #[prost(uint64, tag = "4")]
    pub jlgnfagajao: u64,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub hjjapiekgho: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub nnlladegdgh: ::prost::alloc::vec::Vec<Nhhpgfimokf>,
    /// offset: 48
    #[prost(int64, tag = "3")]
    pub ljjnncblmoc: i64,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: GCMEDCIDFOM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8321)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGiveCardPieceCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub klaeolpofah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub oioncobaodk: u32,
}
/// Obf: EBFJMFDACGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8319)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGiveCardPieceScRsp {
    /// offset: 48
    #[prost(uint64, tag = "2")]
    pub jlgnfagajao: u64,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub klaeolpofah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub oioncobaodk: u32,
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub hkmglpdinhd: i64,
}
/// Obf: ICODNALAIBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8312)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ffebpjidcco: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub bneamffboda: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub hplloihlnjd: u32,
}
/// Obf: JHPAKCLJNHK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8309)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub gemikmohkeb: ::core::option::Option<Knfmikpcgop>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ekmfgnmgjga: ::core::option::Option<Mndbpkpddkk>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub bneamffboda: u32,
}
/// Obf: LIIHCFIIAPM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8291)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlanetFesEnterNextBusinessDayCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8310)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kkfdcdcgkjf {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CFGGGAIBNMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(57)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginCsReq {
    /// offset: 24
    #[prost(string, tag = "3")]
    pub acdjhmknink: ::prost::alloc::string::String,
    /// offset: 172
    #[prost(uint32, tag = "1391")]
    pub ofghimgpgpg: u32,
    /// offset: 112
    #[prost(string, tag = "1")]
    pub oblofppkfai: ::prost::alloc::string::String,
    /// offset: 96
    #[prost(string, tag = "6")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 180
    #[prost(uint32, tag = "7")]
    pub client_res_version: u32,
    /// offset: 64
    #[prost(string, tag = "8")]
    pub hgiekconpmc: ::prost::alloc::string::String,
    /// offset: 200
    #[prost(bool, tag = "1657")]
    pub omikejhopcj: bool,
    /// offset: 40
    #[prost(string, tag = "10")]
    pub client_version: ::prost::alloc::string::String,
    /// offset: 201
    #[prost(bool, tag = "1830")]
    pub fcodkfnonba: bool,
    /// offset: 184
    #[prost(enumeration = "PlatformType", tag = "4")]
    pub platform: i32,
    /// offset: 188
    #[prost(uint32, tag = "13")]
    pub iakjfcgplnb: u32,
    /// offset: 56
    #[prost(string, tag = "561")]
    pub dofbnhblikc: ::prost::alloc::string::String,
    /// offset: 160
    #[prost(string, tag = "11")]
    pub kmjoikpapko: ::prost::alloc::string::String,
    /// offset: 120
    #[prost(string, tag = "2")]
    pub hmagfpoadbp: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(string, tag = "1787")]
    pub ajpjbpkonnd: ::prost::alloc::string::String,
    /// offset: 168
    #[prost(uint32, tag = "836")]
    pub lmbbpgkgpfi: u32,
    /// offset: 204
    #[prost(uint32, tag = "1924")]
    pub jkbogkhcapb: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub meoicgbaiif: ::prost::alloc::string::String,
    /// offset: 136
    #[prost(string, tag = "615")]
    pub hbkbkngeeig: ::prost::alloc::string::String,
    /// offset: 192
    #[prost(uint64, tag = "5")]
    pub login_random: u64,
    /// offset: 176
    #[prost(enumeration = "LanguageType", tag = "15")]
    pub pocckmkanjb: i32,
    /// offset: 32
    #[prost(message, optional, tag = "918")]
    pub nhiodbficfa: ::core::option::Option<Dbhmicgfgpo>,
    /// offset: 72
    #[prost(message, optional, tag = "226")]
    pub coablfmmnho: ::core::option::Option<Mmgjihlniab>,
    /// offset: 48
    #[prost(string, tag = "496")]
    pub fopmkfcnmkn: ::prost::alloc::string::String,
    /// offset: 128
    #[prost(string, tag = "12")]
    pub idinffidjkl: ::prost::alloc::string::String,
    /// offset: 88
    #[prost(string, tag = "9")]
    pub rogue_get_info: ::prost::alloc::string::String,
    /// offset: 144
    #[prost(string, tag = "475")]
    pub kbjhebedmon: ::prost::alloc::string::String,
    /// offset: 104
    #[prost(string, tag = "1722")]
    pub chmlhandgbf: ::prost::alloc::string::String,
}
/// Obf: MMAIIGEGIOP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(28)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerLoginScRsp {
    /// offset: 24
    #[prost(string, tag = "4")]
    pub fibfoenpllg: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 61
    #[prost(bool, tag = "2")]
    pub ajnnckkbehk: bool,
    /// offset: 64
    #[prost(uint64, tag = "1")]
    pub login_random: u64,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    /// offset: 72
    #[prost(int32, tag = "6")]
    pub cur_timezone: i32,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub stamina: u32,
    /// offset: 32
    #[prost(string, tag = "9")]
    pub balhflkkikd: ::prost::alloc::string::String,
    /// offset: 60
    #[prost(bool, tag = "3")]
    pub dmnilmhejeh: bool,
    /// offset: 48
    #[prost(uint64, tag = "5")]
    pub server_timestamp_ms: u64,
}
/// Obf: LMFNCHDKMKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(55)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerLogoutCsReq {}
/// Obf: PBDGKGLEHMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(38)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenCsReq {
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub account_ip: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub lmbbpgkgpfi: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub token: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub account_ip_port: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub platform: u32,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub ngipegcokhe: ::prost::alloc::string::String,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub sign_type: u32,
    /// offset: 24
    #[prost(string, tag = "9")]
    pub account_uid: ::prost::alloc::string::String,
}
/// Obf: HPHLEMNHKOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(62)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerGetTokenScRsp {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub authkey: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint64, tag = "3")]
    pub secret_key_seed: u64,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub source_uid: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub black_info: ::core::option::Option<BlackInfo>,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(20)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GmTalkScNotify {
    /// offset: 16
    #[prost(string, tag = "9")]
    pub source_uid: ::prost::alloc::string::String,
}
/// Obf: IKJNNBLFIPG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(26)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerKickOutScNotify {
    /// offset: 32
    #[prost(enumeration = "player_kick_out_sc_notify::KickType", tag = "13")]
    pub kick_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub black_info: ::core::option::Option<BlackInfo>,
}
/// 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 KickType {
        KickSqueezed = 0,
        KickBlack = 1,
        KickChangePwd = 2,
        KickLoginWhiteTimeout = 3,
        KickAceAntiCheater = 4,
        KickByGm = 5,
    }
    impl KickType {
        /// String value of the enum field names used in the ProtoBuf definition.
        ///
        /// The values are not transformed in any way and thus are considered stable
        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
        pub fn as_str_name(&self) -> &'static str {
            match self {
                Self::KickSqueezed => "KICK_SQUEEZED",
                Self::KickBlack => "KICK_BLACK",
                Self::KickChangePwd => "KICK_CHANGE_PWD",
                Self::KickLoginWhiteTimeout => "KICK_LOGIN_WHITE_TIMEOUT",
                Self::KickAceAntiCheater => "KICK_ACE_ANTI_CHEATER",
                Self::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: DKHAOEHFBJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStageCsReq {
    /// offset: 16
    #[prost(string, tag = "7")]
    pub source_uid: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(37)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjphnmepfae {
    /// offset: 24
    #[prost(string, tag = "14")]
    pub agfmglnfmlc: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EJGGEGHOKFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(21)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBasicInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iadkohghacm {
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub chdofecpmmi: bool,
    /// offset: 29
    #[prost(bool, tag = "14")]
    pub oboeleolfmj: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub gklhmmfbpmg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerSettingInfo {
    /// offset: 35
    #[prost(bool, tag = "7")]
    pub aplfohpelbf: bool,
    /// offset: 38
    #[prost(bool, tag = "4")]
    pub lfmdlegkiop: bool,
    /// offset: 45
    #[prost(bool, tag = "1805")]
    pub lalechlbbmm: bool,
    /// offset: 33
    #[prost(bool, tag = "46")]
    pub lcdglmeemae: bool,
    /// offset: 39
    #[prost(bool, tag = "889")]
    pub gppeppofapi: bool,
    /// offset: 34
    #[prost(bool, tag = "5")]
    pub ichibkcaonn: bool,
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub pkcionmhpca: bool,
    /// offset: 41
    #[prost(bool, tag = "10")]
    pub jelkihkcmmg: bool,
    /// offset: 42
    #[prost(bool, tag = "13")]
    pub chabpejmkon: bool,
    /// offset: 43
    #[prost(bool, tag = "14")]
    pub bmdmffbohog: bool,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub mkekmnjphmn: bool,
    /// offset: 36
    #[prost(bool, tag = "105")]
    pub jhnilpbpoli: bool,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub nombggldded: ::core::option::Option<Iadkohghacm>,
    /// offset: 40
    #[prost(bool, tag = "12")]
    pub pnaeaojmdmj: bool,
    /// offset: 37
    #[prost(bool, tag = "3")]
    pub pofneahhmpg: bool,
}
/// Obf: GetBasicInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBasicInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub exchange_times: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub week_cocoon_finished_count: u32,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub is_gender_set: bool,
    /// offset: 64
    #[prost(int64, tag = "5")]
    pub next_recover_time: i64,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub gameplay_birthday: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub cur_day: u32,
    /// offset: 72
    #[prost(int64, tag = "15")]
    pub last_set_nickname_time: i64,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub player_setting_info: ::core::option::Option<PlayerSettingInfo>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub gender: u32,
}
/// Obf: NACDGFIOCHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(79)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(45)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub item_cost_list: ::prost::alloc::vec::Vec<ItemCost>,
    /// offset: 48
    #[prost(int64, tag = "4")]
    pub last_recover_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub stamina_add: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub exchange_times: u32,
}
/// Obf: AMHGPFFFOGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(83)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyCsReq {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub sign_type: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub authkey_ver: u32,
    /// offset: 24
    #[prost(string, tag = "12")]
    pub auth_appid: ::prost::alloc::string::String,
}
/// Obf: JKNKCKAGJND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(95)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAuthkeyScRsp {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub sign_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub authkey_ver: u32,
    /// offset: 24
    #[prost(string, tag = "11")]
    pub authkey: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub auth_appid: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(34)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RegionStopScNotify {
    /// offset: 24
    #[prost(int64, tag = "9")]
    pub stop_end_time: i64,
    /// offset: 32
    #[prost(int64, tag = "2")]
    pub jgaolnbloig: i64,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(93)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AntiAddictScNotify {
    /// offset: 32
    #[prost(string, tag = "5")]
    pub msg: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub msg_type: u32,
    /// offset: 24
    #[prost(string, tag = "3")]
    pub level: ::prost::alloc::string::String,
}
/// Obf: HCENPHGCBFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(89)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetNicknameCsReq {
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub is_modify: bool,
    /// offset: 16
    #[prost(string, tag = "9")]
    pub nickname: ::prost::alloc::string::String,
}
/// Obf: GINJBODDNCB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(76)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetNicknameScRsp {
    /// offset: 24
    #[prost(int64, tag = "3")]
    pub set_time: i64,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub is_modify: bool,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: FNHBBNMEKIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(96)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListCsReq {}
/// Obf: FBCAOEDHOFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(80)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardTakenListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub level_reward_taken_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: MGCCJAAEAKP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(77)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetLevelRewardReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub interacted_prop_entity_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub level: u32,
}
/// Obf: BJDPIGJAAON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(14)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardScRcp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub level: u32,
}
/// Obf: BFFDKAKNADH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(86)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetLanguageReq {
    /// offset: 24
    #[prost(enumeration = "LanguageType", tag = "3")]
    pub pocckmkanjb: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anibmgnneoj {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(enumeration = "LanguageType", tag = "5")]
    pub pocckmkanjb: i32,
}
/// Obf: AOBDGEOGAON
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AnnounceData {
    /// offset: 64
    #[prost(int64, tag = "14")]
    pub end_time: i64,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub flaeinloaga: u32,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub kmfpcilndgd: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "10")]
    pub ccillgbjmjm: ::prost::alloc::string::String,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    /// offset: 73
    #[prost(bool, tag = "6")]
    pub cjdebedabol: bool,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub gcpfmcgldeb: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(bool, tag = "8")]
    pub has_recommand: bool,
    /// offset: 76
    #[prost(uint32, tag = "13")]
    pub abnoedjlbmd: u32,
    /// offset: 48
    #[prost(int64, tag = "11")]
    pub begin_time: i64,
}
/// Obf: OCBHPCHIIGA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(85)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerAnnounceNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub announce_data_list: ::prost::alloc::vec::Vec<AnnounceData>,
}
/// Obf: ALNFDIJAFNM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GateServer {
    #[prost(bool, tag = "2")]
    pub unk1: bool,
    #[prost(string, tag = "5")]
    pub asset_bundle_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub port: u32,
    #[prost(string, tag = "8")]
    pub region_name: ::prost::alloc::string::String,
    #[prost(string, tag = "11")]
    pub ex_resource_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "12")]
    pub unk2: bool,
    #[prost(string, tag = "13")]
    pub ip: ::prost::alloc::string::String,
    #[prost(string, tag = "14")]
    pub lua_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "319")]
    pub unk3: bool,
    #[prost(string, tag = "673")]
    pub ifix_url: ::prost::alloc::string::String,
    #[prost(string, tag = "916")]
    pub client_secret_key: ::prost::alloc::string::String,
    #[prost(string, tag = "1102")]
    pub msg: ::prost::alloc::string::String,
    #[prost(bool, tag = "1117")]
    pub unk4: bool,
    #[prost(string, tag = "1425")]
    pub asset_bundle_url_android: ::prost::alloc::string::String,
    #[prost(bool, tag = "1518")]
    pub unk5: bool,
    #[prost(bool, tag = "1520")]
    pub unk6: bool,
    #[prost(bool, tag = "1713")]
    pub unk7: bool,
    #[prost(string, tag = "1321")]
    pub mdk_res_version: ::prost::alloc::string::String,
    #[prost(string, tag = "1865")]
    pub ifix_version: ::prost::alloc::string::String,
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(91)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GateServerScNotify {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub himjdehiacp: ::prost::alloc::string::String,
}
/// Obf: JBIDKPIOHNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(82)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGenderCsReq {
    /// offset: 24
    #[prost(enumeration = "Gender", tag = "7")]
    pub gender: i32,
}
/// Obf: CFMJODLMHDI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(88)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGenderScRsp {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "3")]
    pub cur_avatar_path: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: BAGGOEPJAOJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(51)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoCsReq {
    /// offset: 36
    #[prost(bool, tag = "11")]
    pub is_modify: bool,
    /// offset: 24
    #[prost(string, tag = "1")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(enumeration = "Gender", tag = "8")]
    pub gender: i32,
}
/// Obf: HFHIMILJGMI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(56)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPlayerInfoScRsp {
    /// offset: 32
    #[prost(enumeration = "MultiPathAvatarType", tag = "3")]
    pub cur_avatar_path: i32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(int64, tag = "13")]
    pub set_time: i64,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub is_modify: bool,
}
/// Obf: GINBPDAOOLK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(70)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryProductInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Product {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub iflbbibbblm: u32,
    /// offset: 68
    #[prost(bool, tag = "3")]
    pub double_reward: bool,
    /// offset: 32
    #[prost(string, tag = "4")]
    pub product_id: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub end_time: i64,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub lfpmgahckdk: u32,
    /// offset: 48
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
    /// offset: 64
    #[prost(enumeration = "ProductGiftType", tag = "7")]
    pub gift_type: i32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub iibnkmhefce: u32,
    /// offset: 16
    #[prost(string, tag = "15")]
    pub price_tier: ::prost::alloc::string::String,
}
/// Obf: GMFGGJPALMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProductInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub ckemgljofoe: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub ehkocfjdjbf: ::prost::alloc::vec::Vec<Product>,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub maolgknamch: u32,
    /// offset: 32
    #[prost(uint64, tag = "12")]
    pub lkecmkcfiel: u64,
}
/// Obf: PBLPPHGGGFM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonthCardRewardNotify {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(41)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientDownloadDataScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: IEFMOKGOFDJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(40)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadDataScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
/// Obf: UpdateFeatureSwitchScNotify
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(32)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFeatureSwitchScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub switch_info_list: ::prost::alloc::vec::Vec<Ddphadgffem>,
}
/// Obf: BIHOPGEIBEG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(18)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyRefreshNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub loknlmlmibi: u32,
}
/// Obf: APJLOHGOMKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(92)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub birthday: u32,
}
/// Obf: HHHJHPLPOGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGameplayBirthdayScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub birthday: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(98)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ochailpkmea: u32,
    /// offset: 24
    #[prost(string, tag = "4")]
    pub caafimppkmi: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(48)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AceAntiCheaterScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(81)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifjaaggcglk {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub nedmbhmlfgn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(97)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatCsReq {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub aognacopgna: u32,
    /// offset: 40
    #[prost(uint64, tag = "3")]
    pub client_time_ms: u64,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub sc_data: ::core::option::Option<ClientUploadData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(15)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerHeartBeatScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint64, tag = "7")]
    pub server_time_ms: u64,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    /// offset: 48
    #[prost(uint64, tag = "11")]
    pub client_time_ms: u64,
}
/// Obf: PODPEADGFFG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(22)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FeatureSwitchClosedScNotify {
    /// offset: 24
    #[prost(enumeration = "FeatureSwitchType", tag = "7")]
    pub mdckjjkkopi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SecretKeyInfo {
    /// offset: 32
    #[prost(enumeration = "SecretKeyType", tag = "13")]
    pub r#type: i32,
    /// offset: 16
    #[prost(string, tag = "11")]
    pub ccdfmpmegah: ::prost::alloc::string::String,
}
/// Obf: DBIPHBCKANB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(68)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoCsReq {
    /// offset: 24
    #[prost(bytes = "vec", tag = "7")]
    pub secret_req: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: ENDPBACBHLH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(43)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub secret_info: ::prost::alloc::vec::Vec<SecretKeyInfo>,
    /// offset: 16
    #[prost(bytes = "vec", tag = "6")]
    pub secret_rsp: ::prost::alloc::vec::Vec<u8>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: EDFOIKIDHNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(58)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishCsReq {}
/// Obf: FKHCKCFKANO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(74)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerLoginFinishScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NDAECPKOEOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(23)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ForceSyncGameStateFinishCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(27)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ForceSyncGameStateFinishScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct VideoKeyInfo {
    /// offset: 32
    #[prost(uint64, tag = "6")]
    pub video_key: u64,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Obf: JMLMNLOIPBB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(87)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyCsReq {}
/// Obf: HJFDJIHFBNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(24)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub activity_video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fmmjjifinel {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jgfejnojann: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gjbkcbllgha: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub cgiaolfjoeh: u32,
}
/// Obf: LBOBMCFBCKH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRedPointStatusScNotify {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub content_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub cgiaolfjoeh: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gjbkcbllgha: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub iofpngolhlc: ::prost::alloc::vec::Vec<Fmmjjifinel>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: JCKEDNDNODA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(73)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub num: u32,
}
/// Obf: MEOPBGKPKJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(90)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReserveStaminaExchangeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub num: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: BNFMBCHAIFH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(44)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StaminaInfoScNotify {
    /// offset: 32
    #[prost(int64, tag = "9")]
    pub ooanlmfcpga: i64,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub stamina: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub odneoanhomm: u32,
    /// offset: 24
    #[prost(int64, tag = "14")]
    pub ooemiojbkcg: i64,
}
/// Obf: FPIPKBDAOHC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSetting {
    #[prost(
        oneof = "update_player_setting::Bjekelbnehh",
        tags = "9, 14, 3, 6, 2, 7, 15, 8, 1, 4, 737, 994, 677, 1458, 1917"
    )]
    pub bjekelbnehh: ::core::option::Option<update_player_setting::Bjekelbnehh>,
}
/// Nested message and enum types in `UpdatePlayerSetting`.
pub mod update_player_setting {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Bjekelbnehh {
        /// offset: 16
        #[prost(bool, tag = "9")]
        Chabpejmkon(bool),
        /// offset: 16
        #[prost(bool, tag = "14")]
        Jelkihkcmmg(bool),
        /// offset: 16
        #[prost(bool, tag = "3")]
        Pofneahhmpg(bool),
        /// offset: 16
        #[prost(bool, tag = "6")]
        Bmdmffbohog(bool),
        /// offset: 16
        #[prost(bool, tag = "2")]
        Lfmdlegkiop(bool),
        /// offset: 16
        #[prost(bool, tag = "7")]
        Pkcionmhpca(bool),
        /// offset: 16
        #[prost(bool, tag = "15")]
        Aplfohpelbf(bool),
        /// offset: 16
        #[prost(bool, tag = "8")]
        Ichibkcaonn(bool),
        /// offset: 16
        #[prost(bool, tag = "1")]
        Mkekmnjphmn(bool),
        /// offset: 16
        #[prost(message, tag = "4")]
        Nombggldded(super::Iadkohghacm),
        /// offset: 16
        #[prost(bool, tag = "737")]
        Pnaeaojmdmj(bool),
        /// offset: 16
        #[prost(bool, tag = "994")]
        Lcdglmeemae(bool),
        /// offset: 16
        #[prost(bool, tag = "677")]
        Jhnilpbpoli(bool),
        /// offset: 16
        #[prost(bool, tag = "1458")]
        Gppeppofapi(bool),
        /// offset: 16
        #[prost(bool, tag = "1917")]
        Lalechlbbmm(bool),
    }
}
/// Obf: LJNMDJEEMNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(71)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LightConeRarity4AutoLockReq {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub player_setting: ::core::option::Option<UpdatePlayerSetting>,
}
/// Obf: ENGDGMFBKCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(46)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdatePlayerSettingScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub player_setting: ::core::option::Option<UpdatePlayerSetting>,
}
/// Obf: FOIDIKNHPHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(100)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadCsReq {
    /// offset: 32
    #[prost(enumeration = "Hcnfbblaikp", tag = "10")]
    pub inkbbaijahn: i32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub aognacopgna: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "4")]
    pub sc_data: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: EOBFKPEFNNO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(61)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hndkadaocon {
    /// offset: 24
    #[prost(string, repeated, tag = "1")]
    pub lbdcfbfnnfe: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idkmjpiljhk {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub black_list: ::core::option::Option<Hndkadaocon>,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub cnipppchmlf: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpeepalcogi {
    #[prost(oneof = "jpeepalcogi::Mflidapmbbp", tags = "903, 181, 252")]
    pub mflidapmbbp: ::core::option::Option<jpeepalcogi::Mflidapmbbp>,
}
/// Nested message and enum types in `JPEEPALCOGI`.
pub mod jpeepalcogi {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mflidapmbbp {
        /// offset: 24
        #[prost(bool, tag = "903")]
        Cnipppchmlf(bool),
        /// offset: 24
        #[prost(message, tag = "181")]
        Njdechjeign(super::Hndkadaocon),
        /// offset: 24
        #[prost(message, tag = "252")]
        Opocdbikpdl(super::Hndkadaocon),
    }
}
/// Obf: DOCKJDMPJJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(53)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdatePlayWithPsnOnlySettingCsReq {
    #[prost(
        oneof = "update_play_with_psn_only_setting_cs_req::Igcjoncbmln",
        tags = "1425, 1081"
    )]
    pub igcjoncbmln: ::core::option::Option<
        update_play_with_psn_only_setting_cs_req::Igcjoncbmln,
    >,
}
/// Nested message and enum types in `UpdatePlayWithPsnOnlySettingCsReq`.
pub mod update_play_with_psn_only_setting_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Igcjoncbmln {
        /// offset: 24
        #[prost(message, tag = "1425")]
        Gcilchkolfl(super::Idkmjpiljhk),
        /// offset: 24
        #[prost(message, tag = "1081")]
        Hpjbpmfbmmn(super::Jpeepalcogi),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(39)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cbnonkdhmim {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Offfccapbel {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(59)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbcgioepnka {
    /// offset: 24
    #[prost(string, repeated, tag = "5")]
    pub gegbgkmanih: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(string, repeated, tag = "14")]
    pub nannklfjlim: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(string, repeated, tag = "9")]
    pub mbacafdingo: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Omhohndmdln {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hefgaaojegi: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub polebkincle: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(84)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ledpiibnhmb {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: GMKALGNIBCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HeadIconData {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: LOKOJEJKBMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DisplayAvatarData {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub pos: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iiadnfiihln {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub is_display: bool,
}
/// Obf: AMHFKKLEGPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2857)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataCsReq {}
/// Obf: IIFJNLMAJOB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataScRsp {
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub current_head_icon_id: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "1")]
    pub nclelpmoccp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub current_personal_card_id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub unlocked_personal_card_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 48
    #[prost(string, tag = "10")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIconData>,
    /// offset: 64
    #[prost(message, optional, tag = "3")]
    pub ppachlacgmd: ::core::option::Option<Iiadnfiihln>,
}
/// Obf: MLOBMIBNIHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2855)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetHeadIconCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: PMFICOPBLAO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2875)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetHeadIconScRsp {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub current_head_icon_id: u32,
}
/// Obf: MNPMBILHMMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2879)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPersonalCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
/// Obf: AIOCPGLGPNI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2845)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetPersonalCardScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub current_personal_card_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: EFABBFHDCLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2838)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
}
/// Obf: HAIACNDHBAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2862)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
}
/// Obf: MDHMIPMDDCH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2847)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoReq {
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub is_display: bool,
}
/// Obf: IPIMDGKLFPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2820)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoScRsp {
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub is_display: bool,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: KOODINBACCI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2805)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureCsReq {
    /// offset: 24
    #[prost(string, tag = "15")]
    pub signature: ::prost::alloc::string::String,
}
/// Obf: CGDDCPKBAMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2837)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetSignatureScRsp {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ILGKOCLOBFK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2869)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
/// Obf: NOIGPDHCHMN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2866)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetAssistAvatarScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4557)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ggcipiccocd {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ejgpomoknpc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ebngdfedagn {
    /// offset: 28
    #[prost(enumeration = "Gimmipgbomd", tag = "14")]
    pub authkey_ver: i32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub lhnlpomofcg: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub gdncbekbgmc: u32,
}
/// Obf: NEHOJHHDIGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4528)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub nfimjkdgaim: ::prost::alloc::vec::Vec<Ebngdfedagn>,
}
/// Obf: DJHNHPHCABJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignScRsp {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub nfimjkdgaim: ::prost::alloc::vec::Vec<Ebngdfedagn>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub gmohoofjjkn: ::prost::alloc::vec::Vec<ItemList>,
}
/// Obf: HLEGGAKDEGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4575)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnPointChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub cjjppkhhgbi: u32,
}
/// Obf: CDIBAGANCNG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4538)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cliianplhib: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub lhnlpomofcg: u32,
}
/// Obf: PKKJIFGFNFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4562)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub dfpllbbphed: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub cliianplhib: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub lhnlpomofcg: u32,
}
/// Obf: EAMBLBINCCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4547)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardCsReq {}
/// Obf: CPFLDNLDJBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4520)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub gmohoofjjkn: ::core::option::Option<ItemList>,
}
/// Obf: IABFLFGMOAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4526)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub bopmmmnihhk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epgeefinodd {
    /// offset: 64
    #[prost(bool, tag = "5")]
    pub okejajmbjnb: bool,
    /// offset: 56
    #[prost(enumeration = "Dofmgiiljgo", tag = "1")]
    pub status: i32,
    /// offset: 65
    #[prost(bool, tag = "7")]
    pub is_taken_reward: bool,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub cjjppkhhgbi: u32,
    /// offset: 80
    #[prost(uint32, tag = "1768")]
    pub alofplcpgni: u32,
    /// offset: 88
    #[prost(int64, tag = "3")]
    pub finish_time: i64,
    /// offset: 96
    #[prost(uint32, tag = "4")]
    pub mpdgihpomcd: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub cmmcnekkben: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "14")]
    pub fcjnimhjjga: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub nlephbikiop: ::prost::alloc::vec::Vec<u32>,
    /// offset: 66
    #[prost(bool, tag = "1882")]
    pub cphcmmhfhah: bool,
    /// offset: 100
    #[prost(uint32, tag = "12")]
    pub ahneohggmpm: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub fleojpepplb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "13")]
    pub lcklggoncaf: u32,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    /// offset: 72
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
}
/// Obf: CFOEAOPOFPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4505)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub hmkfbcadoln: ::core::option::Option<Epgeefinodd>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub gdkefpmgogj: u32,
}
/// Obf: NOAKBBFNBMO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnForceFinishScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hmkfbcadoln: ::core::option::Option<Epgeefinodd>,
}
/// Obf: LCENHAMFLDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4569)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRelicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: GIJHOBNKKBI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4566)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRelicScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: HONFKGMEBFF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4579)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeExtraHcoinScNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub fnckfocmjhe: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ofjnocifkbj: u32,
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub dgehgpgpcgg: bool,
}
/// Obf: FBONGGAMCDO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishPlotCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ebiehacnhnc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1128)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anpjkokeflf {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub ebiehacnhnc: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhnbdnemfai {
    /// offset: 44
    #[prost(enumeration = "PunkLordAttackerStatus", tag = "6")]
    pub maacoiginpl: i32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ohdjiaghmke: ::core::option::Option<PunkLordBattleRecordList>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub bcldjehdfja: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
}
/// Obf: CMOMHADHKMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataCsReq {}
/// Obf: FNOHEFJMFEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3228)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub daecphobjdp: ::prost::alloc::vec::Vec<Fhnbdnemfai>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FHGANLHDINP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3255)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub pkiijooipfb: bool,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: NKDDNJACBAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3275)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub dmkobngcaem: ::core::option::Option<Fhnbdnemfai>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<Oglaijdpioe>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub dilledoijof: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(bool, tag = "1")]
    pub pkiijooipfb: bool,
    /// offset: 48
    #[prost(int64, tag = "5")]
    pub ibdlnnggejm: i64,
}
/// Obf: PEHMBKNDLAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3238)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterCsReq {
    /// offset: 32
    #[prost(enumeration = "PunkLordShareType", tag = "9")]
    pub share_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub monster_id: u32,
}
/// Obf: FGLIICCKJNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3262)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SharePunkLordMonsterScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(enumeration = "PunkLordShareType", tag = "6")]
    pub share_type: i32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub uid: u32,
}
/// Obf: EEGNBBLKJFB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3247)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterCsReq {}
/// Obf: ENAGPLAMDHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub dmkobngcaem: ::core::option::Option<Fhnbdnemfai>,
}
/// Obf: MALOEJFCCLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3266)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardCsReq {
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub bpeldjeagke: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
/// Obf: APIAPOCGJPD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3279)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub bpeldjeagke: bool,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
/// Obf: DPFLHFBEEHO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3245)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterInfoScNotify {
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub ohdjiaghmke: ::core::option::Option<Mfkbcceinbo>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub dilledoijof: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(enumeration = "Obpdflmcieo", tag = "15")]
    pub reason: i32,
}
/// Obf: OMCCFKCMEGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3283)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataCsReq {}
/// Obf: GJBKEJIHHFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3295)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub jmeakleahpe: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub hgliemgfmml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub baeabjolmgp: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub kfpbfnbedae: u32,
    /// offset: 40
    #[prost(int64, tag = "14")]
    pub mikioaokdda: i64,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub jakjknpaolg: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub neiiefklamg: u32,
}
/// Obf: CEDHKKDMKEN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3293)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordRaidTimeOutScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub dmkobngcaem: ::core::option::Option<PunkLordMonsterBasicInfo>,
}
/// Obf: NPCELJGCDJI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3280)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleResultScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ohdjiaghmke: ::core::option::Option<Mfkbcceinbo>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub eamdaaacndc: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub biahccpchab: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub dmkobngcaem: ::core::option::Option<PunkLordMonsterBasicInfo>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub cianacgnklf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bbngcopfkle {
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub config_id: u32,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub create_time: i64,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub ppchdoljfll: bool,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub bhhckceklph: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
}
/// Obf: LDOAMIOGHCO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3277)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataCsReq {}
/// Obf: FLGCCJCKNLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3214)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub poabhmojbgo: ::prost::alloc::vec::Vec<PunkLordMonsterKey>,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub dlpdgpfjhbe: ::prost::alloc::vec::Vec<Bbngcopfkle>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: GEMJKCLBEAK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3286)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterKilledNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub cemcgnekfbn: ::core::option::Option<Bbngcopfkle>,
}
/// Obf: DBAHNGOHFKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3209)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreCsReq {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub onfbncmdnii: bool,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub aobndnpleie: ::core::option::Option<PunkLordMonsterKey>,
}
/// Obf: DFFOFBJGFNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3285)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreScRsp {
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub onfbncmdnii: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub kmaonafmalk: ::prost::alloc::vec::Vec<PunkLordMonsterKey>,
}
/// Obf: NJLLDGMBPEF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3211)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PunkLordDataChangeNotify {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub baeabjolmgp: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub kfpbfnbedae: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub jmeakleahpe: u32,
}
/// Obf: KEHEDMJDIFP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3278)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub aobndnpleie: ::core::option::Option<PunkLordMonsterKey>,
}
/// Obf: LJDDCCAAMCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub battle_record_list: ::prost::alloc::vec::Vec<Mfkbcceinbo>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub nigjkocliih: ::prost::alloc::vec::Vec<Bmbdmgcbaac>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub aobndnpleie: ::core::option::Option<PunkLordMonsterKey>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bkkdkkobgfb {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ehleomoepgd: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocahnnkfaoo {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdfkincinil {
    /// offset: 32
    #[prost(string, tag = "13")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub cahcmienepj: u32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub ppfbbddjdee: ::core::option::Option<Ocahnnkfaoo>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub ilbklcniing: ::core::option::Option<Bkkdkkobgfb>,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub jkoppgkgmfo: u32,
}
/// Obf: IMLMPFPHCMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(957)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetQuestDataCsReq {}
/// Obf: NIIBJIFOEDP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Quest {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub kahifenjkdd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(int64, tag = "7")]
    pub finish_time: i64,
    /// offset: 40
    #[prost(enumeration = "QuestStatus", tag = "1")]
    pub status: i32,
}
/// Obf: MEOGNFOJEAE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub total_achievement_exp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
}
/// Obf: PIHCHLCKEGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(955)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KCEGNJLLBDP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub blccogipioj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MAAOBIKBEJK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(969)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub optional_reward_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub quest_id: u32,
}
/// Obf: GHCCKABBELJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(966)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub quest_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: LCLBEDALLAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(947)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetQuestRecordCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hajeifilmcd {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nbginiaepjj: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub progress: u32,
}
/// Obf: ANKHMHGJFCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(920)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestRecordScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub gifijiijamm: ::prost::alloc::vec::Vec<Hajeifilmcd>,
}
/// Obf: EHPNEFBCMMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(926)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuestRecordScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub dfohmbhpknf: ::core::option::Option<Hajeifilmcd>,
}
/// Obf: GOGADDLMIMC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(905)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishQuestCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub prop_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub quest_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(937)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishQuestScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub quest_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(983)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oglaijdpioe {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub raid_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub akhmioejmbe: ::core::option::Option<SceneInfo>,
}
/// Obf: JOKMJOKLMOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2250)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub is_save: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub raid_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
}
/// Obf: BMELAELCMBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2249)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<Oglaijdpioe>,
}
/// Obf: ELBJICAGDPI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2224)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRaidCsReq {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub raid_id: u32,
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub is_save: bool,
}
/// Obf: FFPOGLJLIOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2207)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RaidTargetInfo {
    /// offset: 24
    #[prost(enumeration = "Belcfokbmbf", tag = "3")]
    pub egdgjhfjeej: i32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub lpiocfeekjo: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub lhchembcbaf: u32,
}
/// Obf: IBBHBHLEDDC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidInfoNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub gcefeoodkhc: u64,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub raid_id: u32,
    /// offset: 40
    #[prost(enumeration = "RaidStatus", tag = "5")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Odabplmpice {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub max_score: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbmbhbomplo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub dhpfhgicgnj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub world_level: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub raid_id: u32,
}
/// Obf: PGFCFKCDJGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2243)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRaidInfoCsReq {}
/// Obf: GetRaidInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2203)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoScRsp {
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub challenge_raid_list: ::prost::alloc::vec::Vec<Odabplmpice>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub challenge_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub finished_raid_info_list: ::prost::alloc::vec::Vec<Jbmbhbomplo>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeRaidInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub kbanocjpnnj: ::prost::alloc::vec::Vec<Odabplmpice>,
}
/// Obf: DJHLCDHHNEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2235)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pmagohlcfob: u32,
}
/// Obf: NAGGFFLGEAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2208)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub pmagohlcfob: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: DIICFHHOEGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2206)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChallengeRaidNotify {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub kjhnmeebcnn: ::core::option::Option<Odabplmpice>,
}
/// Obf: JAONBICOLLE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2231)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub felkhhopcod: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub progress: u32,
}
/// Obf: HPAOPDNLCPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2229)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientRaidTargetCountScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub felkhhopcod: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub progress: u32,
}
/// Obf: CEAGIJCNMEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2222)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSaveRaidCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub raid_id: u32,
}
/// Obf: ABPMHFIONLA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2219)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveRaidScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub raid_id: u32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub is_save: bool,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidData {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub raid_id: u32,
}
/// Obf: JHKEMDIDMJA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2201)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidCsReq {}
/// Obf: JJGFJEKDCIP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub raid_data_list: ::prost::alloc::vec::Vec<RaidData>,
}
/// Obf: IAEBMFLCPNC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2238)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DelSaveRaidScNotify {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub raid_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
}
/// Obf: GJKANDFEGCH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2211)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidKickByServer {
    /// offset: 48
    #[prost(enumeration = "Nmhjfgeaand", tag = "13")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Medlkidloec {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub abnhpamgapj: u32,
}
/// Obf: PCHIDOMDAGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6950)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataCsReq {}
/// Obf: LCGCFMNPBFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6944)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub challenge_list: ::prost::alloc::vec::Vec<Medlkidloec>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6946)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ijigolmjpaf {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub collection_info: ::core::option::Option<Medlkidloec>,
}
/// Obf: KNCONHGCHIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6941)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidCsReq {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub raid_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub is_save: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CPDECMBFFOB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6952)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<Oglaijdpioe>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: FPKCEFCLFLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8370)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRechargeGiftInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bafneidcecf {
    /// offset: 24
    #[prost(enumeration = "bafneidcecf::kignfkpdgpa::Icineoncgfo", tag = "13")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub index: u32,
}
/// Nested message and enum types in `BAFNEIDCECF`.
pub mod bafneidcecf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
    pub struct Kignfkpdgpa {}
    /// Nested message and enum types in `KIGNFKPDGPA`.
    pub mod kignfkpdgpa {
        #[derive(proto_derive::CmdID)]
        #[derive(
            Clone,
            Copy,
            Debug,
            PartialEq,
            Eq,
            Hash,
            PartialOrd,
            Ord,
            ::prost::Enumeration
        )]
        #[repr(i32)]
        pub enum Icineoncgfo {
            Agpoefjbpca = 0,
            Hhmlkneijbe = 1,
            Mffndnhcgdo = 2,
        }
        impl Icineoncgfo {
            /// String value of the enum field names used in the ProtoBuf definition.
            ///
            /// The values are not transformed in any way and thus are considered stable
            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
            pub fn as_str_name(&self) -> &'static str {
                match self {
                    Self::Agpoefjbpca => "ICINEONCGFO_AGPOEFJBPCA",
                    Self::Hhmlkneijbe => "ICINEONCGFO_HHMLKNEIJBE",
                    Self::Mffndnhcgdo => "ICINEONCGFO_MFFNDNHCGDO",
                }
            }
            /// Creates an enum from field names used in the ProtoBuf definition.
            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
                match value {
                    "ICINEONCGFO_AGPOEFJBPCA" => Some(Self::Agpoefjbpca),
                    "ICINEONCGFO_HHMLKNEIJBE" => Some(Self::Hhmlkneijbe),
                    "ICINEONCGFO_MFFNDNHCGDO" => Some(Self::Mffndnhcgdo),
                    _ => None,
                }
            }
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pddcejipahg {
    /// offset: 40
    #[prost(int64, tag = "6")]
    pub begin_time: i64,
    /// offset: 48
    #[prost(int64, tag = "15")]
    pub end_time: i64,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub khlmfeeheln: ::prost::alloc::vec::Vec<Bafneidcecf>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gift_type: u32,
}
/// Obf: EMDCBFNAOFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8364)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeGiftInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub jhajhmjbmpe: ::prost::alloc::vec::Vec<Pddcejipahg>,
}
/// Obf: HCGMEOKOADL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8366)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRechargeGiftRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gift_type: u32,
}
/// Obf: PGPNJGJAPKE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8361)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeGiftRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub dglacpdfajc: ::core::option::Option<Pddcejipahg>,
}
/// Obf: MEAFEIAJBCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8372)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRechargeBenefitInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpihinblenc {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub progress: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub hdemmffplbj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub panel_id: u32,
}
/// Obf: BOCCEMPOFDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8371)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeBenefitInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub bmiihebplbo: ::prost::alloc::vec::Vec<Mpihinblenc>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: HFJDNMAHFGE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8380)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRechargeBenefitInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub bmhpdcfjglc: ::core::option::Option<Mpihinblenc>,
}
/// Obf: LCPLJBEMOCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8375)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRechargeBenefitRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub id: u32,
}
/// Obf: ICDMJFOOKLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8376)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeBenefitRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub bmhpdcfjglc: ::core::option::Option<Mpihinblenc>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EquipmentRecommendInfo {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub faiogbephhe: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub knefbiedgeh: u32,
}
/// Obf: EOIAIPLMJIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipmentRecommend {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub equipment_list: ::prost::alloc::vec::Vec<EquipmentRecommendInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicRecommendInfo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pfaijpbedfk: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub dkppjhdjglm: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub kipenlldhfk: u32,
}
/// Obf: HPHDCPBEFKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicRecommend {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub recommend_relic_list: ::prost::alloc::vec::Vec<RelicRecommendInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlknonofnii {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub delcojjmmpi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bijhlchbiph {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub delcojjmmpi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmongkkiogd {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub odelhdlohpj: ::prost::alloc::vec::Vec<Bijhlchbiph>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hepimghnkgj {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub delcojjmmpi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojbedlllbnb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub second_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub meiiiljnjjb: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub cnadmggajal: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub first_lineup: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfpdbaceljk {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub gdkhahbnbmc: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub lmmmoidcgck: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Peehbbhgedl {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub slot: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub nlipcmbbigj: ::prost::alloc::vec::Vec<Nfpdbaceljk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfnlbjmppgo {
    #[prost(oneof = "jfnlbjmppgo::Lclpaedogdh", tags = "4, 8, 1, 6, 10")]
    pub lclpaedogdh: ::core::option::Option<jfnlbjmppgo::Lclpaedogdh>,
}
/// Nested message and enum types in `JFNLBJMPPGO`.
pub mod jfnlbjmppgo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Lclpaedogdh {
        /// offset: 16
        #[prost(message, tag = "4")]
        Bjbjjlmphik(super::Jlknonofnii),
        /// offset: 16
        #[prost(message, tag = "8")]
        Fjgdjddgnda(super::Kmongkkiogd),
        /// offset: 16
        #[prost(message, tag = "1")]
        Jamkibhjooj(super::Hepimghnkgj),
        /// offset: 16
        #[prost(message, tag = "6")]
        Lbmakienbcp(super::Ojbedlllbnb),
        /// offset: 16
        #[prost(message, tag = "10")]
        Hmffbiankbf(super::Peehbbhgedl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deifpmeafnn {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub lineup_list: ::prost::alloc::vec::Vec<Jfnlbjmppgo>,
}
/// Obf: BHLNHDNEJDH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2447)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub equip_avatar: u32,
    /// offset: 28
    #[prost(enumeration = "BigDataRecommendType", tag = "7")]
    pub big_data_recommend_type: i32,
}
/// Obf: KCLONINPGMK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2435)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendScRsp {
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub has_recommand: bool,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 48
    #[prost(enumeration = "BigDataRecommendType", tag = "1")]
    pub big_data_recommend_type: i32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub equip_avatar: u32,
    #[prost(oneof = "get_big_data_recommend_sc_rsp::RecommendType", tags = "3, 10, 8")]
    pub recommend_type: ::core::option::Option<
        get_big_data_recommend_sc_rsp::RecommendType,
    >,
}
/// Nested message and enum types in `GetBigDataRecommendScRsp`.
pub mod get_big_data_recommend_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RecommendType {
        /// offset: 24
        #[prost(message, tag = "3")]
        EquipmentRecommend(super::EquipmentRecommend),
        /// offset: 24
        #[prost(message, tag = "10")]
        RelicRecommend(super::RelicRecommend),
        /// offset: 24
        #[prost(message, tag = "8")]
        Oochgncgfmk(super::Deifpmeafnn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecomendedAvatarInfo {
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub relic_set_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub recommend_avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendRelicAvatar {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub recommended_avatar_info_list: ::prost::alloc::vec::Vec<RecomendedAvatarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dapkjomhakc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub iofbejdbmbe: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub godogbnbhfd: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub lbpehaocgmi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mlmbkiidbje {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub lbpehaocgmi: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub cmkepnkpdeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecommendedRelicInfo {
    /// offset: 56
    #[prost(message, repeated, tag = "15")]
    pub nmgdnmdfkpm: ::prost::alloc::vec::Vec<Dapkjomhakc>,
    /// offset: 64
    #[prost(message, repeated, tag = "12")]
    pub faabeeffngn: ::prost::alloc::vec::Vec<Mlmbkiidbje>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub dhbdmpnlpkn: ::prost::alloc::vec::Vec<Dapkjomhakc>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub cbpgflagndg: ::prost::alloc::vec::Vec<Mlmbkiidbje>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub kdidakchjfj: ::prost::alloc::vec::Vec<Mlmbkiidbje>,
    /// offset: 48
    #[prost(message, repeated, tag = "6")]
    pub nmfnkmbeadk: ::prost::alloc::vec::Vec<Mlmbkiidbje>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendAvatarRelic {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub recomended_relic_info_list: ::prost::alloc::vec::Vec<RecommendedRelicInfo>,
}
/// Obf: DDFDPIFOCMG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2408)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetBigDataAllRecommendCsReq {
    /// offset: 24
    #[prost(enumeration = "BigDataRecommendType", tag = "8")]
    pub big_data_recommend_type: i32,
}
/// Obf: OFADMPBNHBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2406)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataAllRecommendScRsp {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(enumeration = "BigDataRecommendType", tag = "10")]
    pub big_data_recommend_type: i32,
    #[prost(
        oneof = "get_big_data_all_recommend_sc_rsp::RecommendType",
        tags = "15, 8, 9"
    )]
    pub recommend_type: ::core::option::Option<
        get_big_data_all_recommend_sc_rsp::RecommendType,
    >,
}
/// Nested message and enum types in `GetBigDataAllRecommendScRsp`.
pub mod get_big_data_all_recommend_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RecommendType {
        /// offset: 24
        #[prost(message, tag = "15")]
        RelicAvatar(super::BigDataRecommendRelicAvatar),
        /// offset: 24
        #[prost(message, tag = "8")]
        AvatarRelic(super::BigDataRecommendAvatarRelic),
        /// offset: 24
        #[prost(message, tag = "9")]
        Oochgncgfmk(super::Deifpmeafnn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dgdljpapkhe {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kgghgmhnnag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnhdadedglk {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "15")]
    pub haakpepmnej: ::std::collections::HashMap<u32, Dgdljpapkhe>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub dhanplinano: u32,
}
/// Obf: GGFLIALMJHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5950)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5949)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nekfmpcbaih {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub gepgkjogihf: ::prost::alloc::vec::Vec<Hnhdadedglk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdigomcgfdo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub dhanplinano: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub panel_id: u32,
    /// offset: 36
    #[prost(enumeration = "Ldagijcdigf", tag = "5")]
    pub opagonenmak: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5907)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikdpbkdjpcn {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub panel_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub dhanplinano: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lemhpldifio {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub dhanplinano: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5933)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kagfijnfbko {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub dhanplinano: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub eknaidfidkl: ::core::option::Option<Dgdljpapkhe>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub panel_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obcbkhmhclf {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub main_affix_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub r#type: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub tid: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lbemdabibjj {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub jnjohbnpeki: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub mmflloedmbh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkmipgcmmnc {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nnceoioadmd: ::core::option::Option<Lbemdabibjj>,
    /// offset: 32
    #[prost(enumeration = "Kemamjnkohh", tag = "11")]
    pub fbahlafmimn: i32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Neppaphgjcg {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub nnceoioadmd: ::core::option::Option<Lbemdabibjj>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
}
/// Obf: OEPHNJDHBEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8960)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRelicBoxDataCsReq {}
/// Obf: ILCKDBPPJOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8954)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicBoxDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub hkkbcmednlb: ::prost::alloc::vec::Vec<Neppaphgjcg>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub ebdfgfedfai: ::core::option::Option<Obcbkhmhclf>,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub lkhlnpjoeop: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub nmlfmpnoiom: ::core::option::Option<Hkmipgcmmnc>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub nkngkgcbpog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(enumeration = "Bdochlmiplg", tag = "6")]
    pub state: i32,
}
/// Obf: ENEBOPAMBEA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8956)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRelicBoxCustomCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub hkkbcmednlb: ::core::option::Option<Neppaphgjcg>,
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub fhbjbdghabh: ::prost::alloc::vec::Vec<Neppaphgjcg>,
}
/// Obf: ICPMIDKDFPB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8951)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetRelicBoxCustomScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: KBJDPMBNLGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8962)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetRelicBoxTargetCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nmlfmpnoiom: ::core::option::Option<Hkmipgcmmnc>,
}
/// Obf: DPMJGJLHDLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8961)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetRelicBoxTargetScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nmlfmpnoiom: ::core::option::Option<Hkmipgcmmnc>,
}
/// Obf: JOPKBOLMACE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8966)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenRelicBoxCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub nmlfmpnoiom: ::core::option::Option<Hkmipgcmmnc>,
}
/// Obf: KMPNJIHCLDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRelicBoxScRsp {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub aaapinafajn: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub bdakjghdlai: ::core::option::Option<Obcbkhmhclf>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: FHABPIHOEPD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8963)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ConfirmRelicBoxCsReq {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub kgekdaeghpf: bool,
}
/// Obf: DFDCBHCBIIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8959)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ConfirmRelicBoxScRsp {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub nkngkgcbpog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub mpiockcooih: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub kgekdaeghpf: bool,
}
/// Obf: CDMELLGEJNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8969)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReportRelicBoxActionCsReq {
    #[prost(oneof = "report_relic_box_action_cs_req::Gglflhjmpgo", tags = "10")]
    pub gglflhjmpgo: ::core::option::Option<report_relic_box_action_cs_req::Gglflhjmpgo>,
}
/// Nested message and enum types in `ReportRelicBoxActionCsReq`.
pub mod report_relic_box_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Gglflhjmpgo {
        /// offset: 24
        #[prost(uint32, tag = "10")]
        Cbnnoppplhf(u32),
    }
}
/// Obf: EFOKLCHLIJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8953)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReportRelicBoxActionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(enumeration = "Bdochlmiplg", tag = "4")]
    pub state: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearPlan {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub inside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub outside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
}
/// Obf: AFNDEHIKNMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8260)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
}
/// Obf: ENDAJDAOPFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8254)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub relic_plan_list: ::prost::alloc::vec::Vec<RelicSmartWearPlan>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: FOCKFBCCPHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8256)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
}
/// Obf: AHGDGKAFCML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8251)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearAddPlanScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: LJJNGCABHAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8262)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
}
/// Obf: IDGHLNMMHII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8261)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: AKMJEJEEJGJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8270)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
}
/// Obf: ADJFEMICJBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8265)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePlanScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cempidonjhg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub outside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub inside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "Fkiigcmcdgk", tag = "1")]
    pub jpclpnfdhki: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Odkeeibbpaj {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub pfnbpljmppb: ::core::option::Option<Cempidonjhg>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub jijhjkmihpm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NOAGOKPBLCE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8263)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
/// Obf: HCGAMBEMFOC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8259)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub bomldfapbjp: ::prost::alloc::vec::Vec<Odkeeibbpaj>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Obf: AAPNEPCEFHA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8267)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScNotify {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub llkodbegkil: ::prost::alloc::vec::Vec<Odkeeibbpaj>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub eajiobmedjb: ::prost::alloc::vec::Vec<Odkeeibbpaj>,
}
/// Obf: EJPMIMIEHGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8257)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub focndocddic: ::core::option::Option<Odkeeibbpaj>,
}
/// Obf: KBLDNLNJDLP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub focndocddic: ::core::option::Option<Odkeeibbpaj>,
}
/// Obf: OEDBLPNIFAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8255)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePinRelicCsReq {
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub mpfhojnibkp: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub pdpmioihmpm: ::prost::alloc::vec::Vec<Cempidonjhg>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: CAHNEOFFMKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8264)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePinRelicScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub pdpmioihmpm: ::prost::alloc::vec::Vec<Cempidonjhg>,
}
/// Obf: BPCJPPBGKEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetReplayTokenCsReq {
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub ganoghkhgga: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub dlnhafodpie: u32,
    /// offset: 40
    #[prost(enumeration = "ReplayType", tag = "8")]
    pub replay_type: i32,
    /// offset: 16
    #[prost(string, tag = "11")]
    pub aogdggnalbj: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub jebfiajncij: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3528)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcahhkdidpn {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "3")]
    pub token: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(enumeration = "ReplayType", tag = "13")]
    pub replay_type: i32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(string, tag = "12")]
    pub aogdggnalbj: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Keecoefgnke {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3575)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgdlmpkdjpg {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub hcldnknnmfi: ::prost::alloc::vec::Vec<ReplayInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CHPPMCEODCN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3457)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRndOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfjpplppejm {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub giabckjdcoe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: IKFGGFFLEON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3455)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DailyFirstMeetPamCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3475)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbdnjmbjneh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Finecejfmdn {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkbfmjimfag {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Finecejfmdn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ngefpljphpk {
    /// offset: 36
    #[prost(enumeration = "RogueRoomStatus", tag = "14")]
    pub eefikkcjlca: i32,
    /// offset: 24
    #[prost(enumeration = "RogueRoomStatus", tag = "5")]
    pub fdcphfiikhg: i32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub kheglknjele: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub room_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub kiiadjfphlc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhgepdilcco {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub pdfjhkidmfb: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub map_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub ojbpbdjippd: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub npholhmofed: ::prost::alloc::vec::Vec<Ngefpljphpk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hpcmhgnkodp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub map_id: u32,
    /// offset: 40
    #[prost(enumeration = "RogueAreaStatus", tag = "12")]
    pub dkpakooiblh: i32,
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub ednbckffboo: bool,
    /// offset: 44
    #[prost(enumeration = "RogueStatus", tag = "5")]
    pub oibodgbpgkk: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub jkdjalgcdaj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkdhfbdffbf {
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub hihjopiccgl: bool,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub dlnihpjjchd: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub elchihhbdan: ::prost::alloc::vec::Vec<Finecejfmdn>,
    /// offset: 56
    #[prost(enumeration = "RogueCommonBuffSelectSourceType", tag = "13")]
    pub bnhcagblimi: i32,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub llpnhgpiahn: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub hgifpjpkjhl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub dojpjlhhmia: u32,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub bnfldanpbjg: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub hdidblhdcij: ::core::option::Option<ItemCostData>,
    /// offset: 84
    #[prost(uint32, tag = "1")]
    pub bjnnkgklgln: u32,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub beklhbpbhdf: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub hkdkeodddkk: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub pcoajoeohom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijkjbcbfccb {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub lphgfkdjlbk: ::prost::alloc::vec::Vec<Finecejfmdn>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub pleldkbfiop: ::core::option::Option<Finecejfmdn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cobgndfpjnj {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hnhbfjiiigk: ::prost::alloc::vec::Vec<Finecejfmdn>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub afidlakjjeo: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub jiggkcohglf: ::prost::alloc::vec::Vec<Finecejfmdn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iabhikbdifa {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 36
    #[prost(float, tag = "7")]
    pub enbcolngnlk: f32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgemglibdnd {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub fficejdaeeh: ::prost::alloc::vec::Vec<Iabhikbdifa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Micegkbbkpe {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub fnnccnnpael: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub jgpmlpakcnf: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "8")]
    pub hfcednhaalm: ::std::collections::HashMap<u32, u32>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub njefcjmhobo: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub figigjnngdi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nekkppmajbl {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<Micegkbbkpe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkpcokmlion {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub ldmapdhclbd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub injkcagboie: ::core::option::Option<Nekkppmajbl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfffmhhnmpb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub nkpnlkdekib: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pefdoppejap {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub dgoecceahhi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Clebnmidnhd {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub kongcpafioj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Miogbokamjd {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cjndmloheja {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub cejiaoacmbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Clkehhhokkm {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ednnjbnbiil: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pljjdicgill: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gaamfiediik: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub pcoajoeohom: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub jjcfbhldpli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lomidleihcj {
    /// offset: 16
    #[prost(message, optional, tag = "1784")]
    pub ddcnefchhfa: ::core::option::Option<Dlkdlaliaah>,
    /// offset: 24
    #[prost(message, optional, tag = "855")]
    pub rogue_get_info: ::core::option::Option<Enaifjhhhlo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enaifjhhhlo {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub fgmbaebifpl: ::core::option::Option<Bkpjgdnfgka>,
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub hbofpmgikke: ::core::option::Option<Dbdgiheagec>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub icnnanhkllk: ::core::option::Option<Bfineiihhbd>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub fficjdconhi: ::core::option::Option<Nkknanmjihn>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub bcbacgmohlh: ::core::option::Option<Jnpgfoiahbb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dlkdlaliaah {
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub pending_action: ::core::option::Option<Bhbnbiogkpf>,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub eijfcjoeobf: ::core::option::Option<Bnhhecoklba>,
    /// offset: 56
    #[prost(message, optional, tag = "8")]
    pub dmolbooefmj: ::core::option::Option<Jpblkicfjpm>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub injkcagboie: ::core::option::Option<Epfinalhacb>,
    /// offset: 92
    #[prost(bool, tag = "9")]
    pub jeaigiadile: bool,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub rogue_map: ::core::option::Option<Dhgepdilcco>,
    /// offset: 64
    #[prost(message, optional, tag = "2")]
    pub npfdicbmffc: ::core::option::Option<Bkcnmkfobcc>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub hbofpmgikke: ::core::option::Option<Hnhogfmfnho>,
    /// offset: 88
    #[prost(enumeration = "RogueStatus", tag = "14")]
    pub status: i32,
    /// offset: 80
    #[prost(message, optional, tag = "4")]
    pub gfgllbmiamn: ::core::option::Option<Bfogjokpbpc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfineiihhbd {
    /// offset: 40
    #[prost(int64, tag = "14")]
    pub end_time: i64,
    /// offset: 24
    #[prost(int64, tag = "5")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub season: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkpjgdnfgka {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub jkgogdkalcf: ::prost::alloc::vec::Vec<Hpcmhgnkodp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbdgiheagec {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub hkaoolkcijh: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub nnejchmebfd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub phfpfgogeoi: bool,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub nhcaplaimon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkknanmjihn {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ekfgggdpmbi: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ilbejgkaikl: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub kfjmmaimlgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpblkicfjpm {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub elchihhbdan: ::prost::alloc::vec::Vec<Finecejfmdn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epfinalhacb {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub injkcagboie: ::core::option::Option<Nekkppmajbl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkcnmkfobcc {
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub cdkchjlaiih: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub lnlgbmkkfbj: ::core::option::Option<Miogbokamjd>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "14")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjepljeljpn {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub eaejboplipo: ::core::option::Option<Pefdoppejap>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hnhogfmfnho {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub nhcaplaimon: u32,
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub phfpfgogeoi: bool,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub fpfeocngfje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnhhecoklba {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub iebiajchckc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmkiaolhcgm {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub hkaoolkcijh: u32,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub phfpfgogeoi: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub nnejchmebfd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub nhcaplaimon: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub fpfeocngfje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ckcnjjekohn {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub cdefdcabgla: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ibkmchamhbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egpggjiihjc {
    /// offset: 32
    #[prost(float, tag = "2")]
    pub ndediigjcbm: f32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub fkdjffmccoc: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub cdmnecblnbb: ::prost::alloc::vec::Vec<Ckcnjjekohn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bcbiofcgjeo {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub slot: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnbghcaldpb {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<Finecejfmdn>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bcbiofcgjeo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ekpbbbmpdde {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub ckgilmlmnab: ::core::option::Option<Jnpgfoiahbb>,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub baoklineidl: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub pogbakiikoh: ::core::option::Option<ItemList>,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub score_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "15")]
    pub ilbejgkaikl: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub hjhoojgfiem: u32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub record_info: ::core::option::Option<Mnbghcaldpb>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub emjplmhhcfh: u32,
    /// offset: 56
    #[prost(uint32, tag = "1011")]
    pub area_id: u32,
    /// offset: 64
    #[prost(bool, tag = "13")]
    pub is_win: bool,
    /// offset: 60
    #[prost(uint32, tag = "366")]
    pub fhbjgnhfdnb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnpgfoiahbb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub lpkadlebbhd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "14")]
    pub ggalabcckpi: bool,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub gmaaihfgaih: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub onikhejklad: u32,
    /// offset: 49
    #[prost(bool, tag = "5")]
    pub kgnofbmcgnj: bool,
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub nomdejfnlbk: i64,
    /// offset: 56
    #[prost(int64, tag = "4")]
    pub ahmamkneooc: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hohlnghifoe {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub maemjcjolid: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lopgfcfcage: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Clfgabmmegn {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub ibfljljlfdo: bool,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub arg_id: u32,
    /// offset: 36
    #[prost(int32, tag = "8")]
    pub njeogknacfd: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 40
    #[prost(float, tag = "9")]
    pub idfljmpeapa: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jaolanpbdcl {
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub iaailidiceb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub game_mode_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub mjaiklonmhl: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub ppnbckgajgb: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub akcfognelle: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub nkaemcgnhkk: ::prost::alloc::vec::Vec<Clfgabmmegn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpceighgomd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub cknpkhnpmpm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "Eknmedpkjij", tag = "5")]
    pub ffdlkmohijn: i32,
}
/// Obf: CLOMCOOAOCJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1857)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueInfoCsReq {}
/// Obf: LAHDCOPLOJF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub rogue_info: ::core::option::Option<Lomidleihcj>,
}
/// Obf: HAPDLOPCLEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1855)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub daihmgchpnl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub lopgfcfcage: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NICPBMBAMNC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1875)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueScRsp {
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub rogue_info: ::core::option::Option<Lomidleihcj>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: PMLMINDKPID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1838)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterRogueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
}
/// Obf: MGCPPDLNHBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1862)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueScRsp {
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub rogue_info: ::core::option::Option<Lomidleihcj>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: DKKLEEKDBKP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1847)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LeaveRogueCsReq {}
/// Obf: OMCGDDKOCLI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1820)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRogueScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub rogue_info: ::core::option::Option<Lomidleihcj>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: LCEOPBJCBAL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1845)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueFinishScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub finish_info: ::core::option::Option<Ekpbbbmpdde>,
}
/// Obf: EGEJBMDFPMB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1883)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egejbmdfpmb {
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub prop_entity_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NAJALCAAFNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1895)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Najalcaafna {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JCIPMEDBHIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1893)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcipmedbhip {
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IKJMLKIDPMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1889)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikjmlkidpma {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub lnlgbmkkfbj: ::core::option::Option<Miogbokamjd>,
}
/// Obf: GFICFLIIMMD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1811)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueReviveInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lnlgbmkkfbj: ::core::option::Option<Miogbokamjd>,
}
/// Obf: DCONCOMCNEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1880)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dconcomcneb {}
/// Obf: MFHFMMEACIF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1877)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mfhfmmeacif {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lnjbcafhgnh: ::core::option::Option<Hgemglibdnd>,
}
/// Obf: OCOMLNFPCJM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1814)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocomlnfpcjm {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub maze_buff_id: u32,
}
/// Obf: BCKMCEJFBIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1812)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bckmcejfbio {
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub akaknbpeafn: bool,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub pabnmjghchg: ::core::option::Option<Finecejfmdn>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FCPODBHHICN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1878)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitRogueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub area_id: u32,
}
/// Obf: ILDLCEGLAJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1813)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitRogueScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub rogue_info: ::core::option::Option<Lomidleihcj>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NDEGKBNAHGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1842)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueExploreWinScNotify {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub jeaigiadile: bool,
}
/// Obf: LIOLGNHMDKF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1816)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueSeasonFinishScNotify {
    /// offset: 56
    #[prost(bool, tag = "14")]
    pub cgabioedhfd: bool,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub bcbacgmohlh: ::core::option::Option<Jnpgfoiahbb>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub finish_info: ::core::option::Option<Ekpbbbmpdde>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: ODBNLHEHIMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1888)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub room_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kiiadjfphlc: u32,
}
/// Obf: LIKENKFKDPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1851)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub ojbpbdjippd: u32,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
}
/// Obf: MFGKEFGPOFL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1870)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueMapRoomScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lojekbmafhh: ::core::option::Option<Ngefpljphpk>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub map_id: u32,
}
/// Obf: NAJELAKDBNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1806)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenRogueChestCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub nppjcfodifb: bool,
}
/// Obf: CMJPAOFOECI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRogueChestScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub dnkiomaieaa: ::core::option::Option<Jjeacnjpogm>,
}
/// Obf: KGBCPPKJCHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1897)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub count: u32,
}
/// Obf: CGCPPBNONNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1815)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExchangeRogueRewardKeyScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub count: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PBBINONLMKJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1803)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueAreaUnlockScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
}
/// Obf: NJGKCKJNELJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1835)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueGetItemScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lldockkeaon: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub hkbhjifmndn: ::core::option::Option<ItemList>,
}
/// Obf: AMFLJKPBFJC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1804)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueAeonLevelRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub lopgfcfcage: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1873)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nikakaccdbg {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub lopgfcfcage: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1846)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcddkdilbhp {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub lopgfcfcage: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: EPEGKLBNBAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1840)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoCsReq {}
/// Obf: GDKKBLFMDGG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1900)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueScoreRewardInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub bglbndkfjea: ::core::option::Option<Jnpgfoiahbb>,
}
/// Obf: LFEMPCAEHPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1876)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub obbpnpblofg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub onikhejklad: u32,
}
/// Obf: BLHMGKBJNHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1896)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueScoreRewardScRsp {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub onikhejklad: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub bcbacgmohlh: ::core::option::Option<Jnpgfoiahbb>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: LEEHNEMNAIL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1856)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreCsReq {}
/// Obf: OKNPECDDFKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1808)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInitialScoreScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub bcbacgmohlh: ::core::option::Option<Jnpgfoiahbb>,
}
/// Obf: ALFPGNOENDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1810)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoCsReq {}
/// Obf: KGEHKICPCIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1825)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub limmlgfhaja: ::prost::alloc::vec::Vec<Hohlnghifoe>,
}
/// Obf: LHOCNGDMCDC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1833)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub lopgfcfcage: u32,
}
/// Obf: FDBFFBKFOBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1894)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupScRsp {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub hbofpmgikke: ::core::option::Option<Hohlnghifoe>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: JIAHGEPFIOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1817)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoCsReq {}
/// Obf: AEGELBBLOIA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1849)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
}
/// Obf: JABCGJELJHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1836)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub dnbjdlgiabh: u32,
}
/// Obf: OPJEJCAHCOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1864)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: MBEDFAEJLPO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1831)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueVirtualItemInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub fficjdconhi: ::core::option::Option<Clkehhhokkm>,
}
/// Obf: NLFEGJHCBIO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1884)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncRogueStatusScNotify {
    /// offset: 28
    #[prost(enumeration = "RogueStatus", tag = "11")]
    pub status: i32,
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub fkhlclepchk: bool,
}
/// Obf: BAAGGDFOFME
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1819)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueRewardInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub bcbacgmohlh: ::core::option::Option<Jnpgfoiahbb>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1854)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Accpikbmbbe {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KBLKBLMLFEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1824)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueAeonScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub jhgogkojfoc: ::core::option::Option<Mmkiaolhcgm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilhaeckmgib {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: PMCFMHAEDJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7700)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub room_id: u32,
}
/// Obf: KCNGNKLIJMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7699)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub knipbhgcila: ::core::option::Option<Ilhaeckmgib>,
}
/// Obf: HOKJKJCKIEP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7674)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveCsReq {}
/// Obf: IPGJFJIJHLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7657)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub knipbhgcila: ::core::option::Option<Ilhaeckmgib>,
}
/// Obf: LJEHJJOIKBK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7689)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartCsReq {}
/// Obf: HDMFFAFGFOA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7683)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub knipbhgcila: ::core::option::Option<Ilhaeckmgib>,
}
/// Obf: PGGLKGIFHOM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7697)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoCsReq {}
/// Obf: GLKIJECNGNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7685)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueArcadeGetInfoScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lodjibbfpgb {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub mhaoopohfdn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Momobgmhead {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dobgfahgbgc {
    /// offset: 56
    #[prost(enumeration = "RogueCommonBuffSelectSourceType", tag = "15")]
    pub bnhcagblimi: i32,
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub ihdnipdnblb: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
    /// offset: 88
    #[prost(uint32, tag = "5")]
    pub dojpjlhhmia: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub bnfldanpbjg: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "12")]
    pub dofeffpdokf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "11")]
    pub hkdkeodddkk: u32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub beklhbpbhdf: u32,
    /// offset: 72
    #[prost(bool, tag = "14")]
    pub hihjopiccgl: bool,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub dlnihpjjchd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hdidblhdcij: ::core::option::Option<ItemCostData>,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub bjnnkgklgln: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub hgifpjpkjhl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub llpnhgpiahn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bnblkabaegl {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub aigjgjfiiap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nfjfljmeaeo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mnklcfakclo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enbcjoigfnl {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub edkddckofnk: ::core::option::Option<Dobgfahgbgc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnkigmfeemp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbigjlkghgc {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub fficejdaeeh: ::prost::alloc::vec::Vec<Cnkigmfeemp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jikoecaphfi {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub afidlakjjeo: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub hnhbfjiiigk: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub jiggkcohglf: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cegadlecona {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub hnhbfjiiigk: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejiigancnhd {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ppmpljacgeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ibpghlcmdlp {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcoflgbfbdh {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub eofaicjpdfa: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mggdeilbbfd {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub aigjgjfiiap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pidickdelmb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpfmdnjpiaa {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub ihdnipdnblb: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cgckfijlhmo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub aigjgjfiiap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cfjibfdkidc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daajhfncjpf {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub kaikkbhdgem: ::core::option::Option<Momobgmhead>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkmghefahek {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fnnccnnpael: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub njefcjmhobo: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "13")]
    pub hfcednhaalm: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub jgpmlpakcnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmhndbnanlc {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub jlafmhdhlai: ::core::option::Option<Nkmghefahek>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub iogmjkljiea: u32,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub behodbpmdjj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjhgcfaagde {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub mkiaknjlnjd: ::core::option::Option<Nkmghefahek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmnhhafeoeh {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub njefcjmhobo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmmiigjlccg {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub nkepkdacmje: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub mkiaknjlnjd: ::core::option::Option<Nkmghefahek>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub mabcgdfndjn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmlmalhblfj {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub mkiaknjlnjd: ::core::option::Option<Nkmghefahek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enddaldpgpd {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub iogmjkljiea: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub jlafmhdhlai: ::core::option::Option<Nkmghefahek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flaejefeoic {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub mkiaknjlnjd: ::core::option::Option<Nkmghefahek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkcokflmfhb {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<Nkmghefahek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnfmpboipoi {
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub dnonocgonhe: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub fhbmkemdalp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub ldmapdhclbd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub afidlakjjeo: u32,
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub amchlibofpa: bool,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub idhjmfhahlm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Igmnhlfoibo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub nhghcjgjebi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glgpjnmkifk {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hnnedokeeeb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fijknkhahkh {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub apkphkdgmjc: ::core::option::Option<Nnfmpboipoi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhggomhdeeh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub nkpnlkdekib: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gffdcebfolc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub bhppgffcbgg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Icimdihafhg {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub eflnolkdada: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jopbbmadkmc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aijbgphodjb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub bbepkclddkp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efefaihnndp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub aeohcmahhdh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gejbeoojimg {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdhfkffjmbp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub dpohjjgopfg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jialjbedjho {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ooelblijlie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dpbjepanmll {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gggagldlaif {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub afidlakjjeo: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub cbkhckldndc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ipmalmplced {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cbcanfamclf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikhiadmkdoh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lagcofgbljl {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub afidlakjjeo: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub ndladogcbng: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Epjpnhkkadc {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub nhghcjgjebi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pandncpdpop {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Heaficonnbm {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub afidlakjjeo: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub ndladogcbng: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmobomjcohf {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nhghcjgjebi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldcfgkpheil {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ccjdcaenoml {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gpbpmlpphpp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bogljnkkdac {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gafbndphgfl {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub fcnfnjpcbmd: ::core::option::Option<Bkcokflmfhb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbklegcbmlg {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub dgoecceahhi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfogjokpbpc {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub jgdlnkmejhi: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub rogue_money: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub jnfiaaedfmm: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub jkpjigblppi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fnaajdjbmak {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub aipgefnpnll: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nbhlfemmfkl {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gpiiefefcbk {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ejacgnoelnf: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ipncinmllnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Imcknmopiei {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elcdjklibad {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub jpgjhohpbbk: ::core::option::Option<Imcknmopiei>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub mlojmjgkckj: ::core::option::Option<Gpiiefefcbk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nggfndkglpn {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fcikaaopfef {
    /// offset: 24
    #[prost(int32, tag = "15")]
    pub count: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Apnmnnilolj {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub njefcjmhobo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pegccgfdcbf {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueAdventureRoomGameplayWolfGunTarget {
    #[prost(
        oneof = "rogue_adventure_room_gameplay_wolf_gun_target::TargetImpl",
        tags = "6, 9, 1, 2"
    )]
    pub target_impl: ::core::option::Option<
        rogue_adventure_room_gameplay_wolf_gun_target::TargetImpl,
    >,
}
/// Nested message and enum types in `RogueAdventureRoomGameplayWolfGunTarget`.
pub mod rogue_adventure_room_gameplay_wolf_gun_target {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum TargetImpl {
        /// offset: 16
        #[prost(message, tag = "6")]
        TargetNone(super::Nggfndkglpn),
        /// offset: 16
        #[prost(message, tag = "9")]
        TargetCoin(super::Fcikaaopfef),
        /// offset: 16
        #[prost(message, tag = "1")]
        TargetMiracle(super::Apnmnnilolj),
        /// offset: 16
        #[prost(message, tag = "2")]
        TargetRuanmei(super::Pegccgfdcbf),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fojndkknnhm {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub fihmnjlfcaa: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub battle_target_list: ::prost::alloc::vec::Vec<
        RogueAdventureRoomGameplayWolfGunTarget,
    >,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mamboehanfh {
    #[prost(oneof = "mamboehanfh::Mgkehfmcbbp", tags = "12")]
    pub mgkehfmcbbp: ::core::option::Option<mamboehanfh::Mgkehfmcbbp>,
}
/// Nested message and enum types in `MAMBOEHANFH`.
pub mod mamboehanfh {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "12")]
        Oanlhknoepk(super::Fojndkknnhm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kikmffldfma {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub hcflieaopod: ::core::option::Option<Mamboehanfh>,
    /// offset: 48
    #[prost(double, tag = "9")]
    pub lcdkehfkeek: f64,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub jgahllhdknc: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub status: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pobbkaoggop: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5657)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kojlgkndmop {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub hpcbchpinfd: ::core::option::Option<Kikmffldfma>,
}
/// Obf: EINKGBBBOHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5628)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PrepareRogueAdventureRoomCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5655)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggggmbcndnk {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub hpcbchpinfd: ::core::option::Option<Kikmffldfma>,
}
/// Obf: KOOPCLGDPFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5614)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StopRogueAdventureRoomCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub baacaabcljo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub jjofmohlmdg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5612)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmeoplagmbb {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub hpcbchpinfd: ::core::option::Option<Kikmffldfma>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HMEIINJEBPM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5679)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueAdventureRoomInfoCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5645)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deciglcicjm {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub hpcbchpinfd: ::core::option::Option<Kikmffldfma>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ENAPOFGNNJG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5632)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateRogueAdventureRoomScoreCsReq {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cpamffobinf: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5621)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eflpkoojcnc {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub hpcbchpinfd: ::core::option::Option<Kikmffldfma>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmplgbockcl {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub fnchailhdhp: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub njefcjmhobo: u32,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub lekejniolch: bool,
    /// offset: 45
    #[prost(bool, tag = "5")]
    pub djhlicdlnic: bool,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgjjffknejd {
    /// offset: 49
    #[prost(bool, tag = "1")]
    pub djhlicdlnic: bool,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub fekbenhcbld: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub fnchailhdhp: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(bool, tag = "12")]
    pub lekejniolch: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jnoielpbmgd {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub fnchailhdhp: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub nmljdnhofpk: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub djhlicdlnic: bool,
    /// offset: 41
    #[prost(bool, tag = "8")]
    pub lekejniolch: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjeibpkflcp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<Nmplgbockcl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkmfimldpbc {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Mgjjffknejd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dolikngfbon {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub ggpocbnidlf: ::prost::alloc::vec::Vec<Jnoielpbmgd>,
}
/// Obf: ADOHMEHOALA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5662)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoCsReq {
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub bpjoacpfkjm: bool,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: JHPNAANLCNE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5647)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoScRsp {
    /// offset: 48
    #[prost(int32, tag = "13")]
    pub jonodelclka: i32,
    /// offset: 40
    #[prost(int32, tag = "15")]
    pub gecahpcbhim: i32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub fgmhikmaekp: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub dmolbooefmj: ::core::option::Option<Fkmfimldpbc>,
}
/// Obf: EBBACFCDAKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5675)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub bpjoacpfkjm: bool,
}
/// Obf: KNJFJPPCEIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5638)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoScRsp {
    /// offset: 44
    #[prost(int32, tag = "6")]
    pub jonodelclka: i32,
    /// offset: 48
    #[prost(int32, tag = "3")]
    pub gecahpcbhim: i32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub fgmhikmaekp: ::core::option::Option<ItemCostData>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub injkcagboie: ::core::option::Option<Mjeibpkflcp>,
}
/// Obf: CGDINFKNKEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5636)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoCsReq {
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub bpjoacpfkjm: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: JCDGBIMKHGA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5664)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoScRsp {
    /// offset: 40
    #[prost(int32, tag = "9")]
    pub gecahpcbhim: i32,
    /// offset: 44
    #[prost(int32, tag = "2")]
    pub jonodelclka: i32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub cdhcnphcgka: ::core::option::Option<Dolikngfbon>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub fgmhikmaekp: ::core::option::Option<ItemCostData>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5620)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eindkikfcfg {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub interacted_prop_entity_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub njefcjmhobo: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5605)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpoamekejna {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub hpacidbojaj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: FMPECEAPCOF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5667)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopMiracleCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub doamfgikngb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: CPNOBMJMIFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5626)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopMiracleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub injkcagboie: ::core::option::Option<Mjeibpkflcp>,
}
/// Obf: DIOGACOIBFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5637)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopBuffScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub dmolbooefmj: ::core::option::Option<Fkmfimldpbc>,
}
/// Obf: DDMBLHGJLOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5659)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cdhcnphcgka: ::core::option::Option<Dolikngfbon>,
}
/// Obf: HEIKLELNFCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5669)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueNpcDisappearCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub naoalfefpgn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5666)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmcmoniafcj {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DIEPCNGMLCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5623)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueShopBeginBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: KLMJOAMMGCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5627)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueShopBeginBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub hdmpnkklanm: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MDCMKMJPBDH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5601)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonActionResultScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub kkbnnajcnhc: ::prost::alloc::vec::Vec<Nojodjilhmm>,
    /// offset: 32
    #[prost(enumeration = "Hkfmajhfcfd", tag = "4")]
    pub aipgefnpnll: i32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub bhkagjhdclm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nojodjilhmm {
    /// offset: 32
    #[prost(enumeration = "Ebfpnimgkhk", tag = "11")]
    pub source: i32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub donppgjpmfi: ::core::option::Option<Ochmebdpnhg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mnmjbeoibih {
    /// offset: 24
    #[prost(int32, tag = "15")]
    pub edgdjednkfb: i32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub key: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hblhiofmfef {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub hdbonhpncci: u32,
    /// offset: 28
    #[prost(int32, tag = "2")]
    pub fdohehkkhdm: i32,
    /// offset: 24
    #[prost(int32, tag = "12")]
    pub ncfpnlhplej: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edmhjdbfdhc {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub pnlecfffhnb: ::prost::alloc::vec::Vec<Mnmjbeoibih>,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub odfnmpenhki: bool,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub nmljdnhofpk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbjnllfbdgg {
    /// offset: 16
    #[prost(map = "uint32, int32", tag = "2")]
    pub fejmkoopali: ::std::collections::HashMap<u32, i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecffkeokalp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub apbnpakaphf: ::core::option::Option<Edmhjdbfdhc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dafaecinjff {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub apbnpakaphf: ::core::option::Option<Edmhjdbfdhc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfdhbjahbgp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub apbnpakaphf: ::core::option::Option<Edmhjdbfdhc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggbdbcecmga {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub apbnpakaphf: ::core::option::Option<Edmhjdbfdhc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kidaabcfoab {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub hnmcdflheac: ::prost::alloc::vec::Vec<Hblhiofmfef>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkclocpfkmf {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub value: ::core::option::Option<Pbjnllfbdgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpfmlknmppn {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub ggpocbnidlf: ::prost::alloc::vec::Vec<Edmhjdbfdhc>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub hnmcdflheac: ::prost::alloc::vec::Vec<Hblhiofmfef>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub pnefgeeephh: ::core::option::Option<Pbjnllfbdgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kkopbfdmdme {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub aaeaaoofgag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cbgacpbgfml {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub aaeaaoofgag: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knhajcdeehb {
    /// offset: 24
    #[prost(map = "uint32, bool", tag = "9")]
    pub bkdnpjmefjp: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ochmebdpnhg {
    #[prost(
        oneof = "ochmebdpnhg::Mgkehfmcbbp",
        tags = "3, 4, 1379, 431, 244, 1542, 1492, 1771, 681, 1543, 233, 750, 40, 1074, 247, 158, 1055, 1249, 485, 156, 1420, 751, 348, 956, 832, 1541, 527, 633, 1216"
    )]
    pub mgkehfmcbbp: ::core::option::Option<ochmebdpnhg::Mgkehfmcbbp>,
}
/// Nested message and enum types in `OCHMEBDPNHG`.
pub mod ochmebdpnhg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "3")]
        Khkljadccbc(super::Fnaajdjbmak),
        /// offset: 24
        #[prost(message, tag = "4")]
        Jnbegdehbpn(super::Fnaajdjbmak),
        /// offset: 24
        #[prost(message, tag = "1379")]
        Pleldkbfiop(super::Lodjibbfpgb),
        /// offset: 24
        #[prost(message, tag = "431")]
        Hfkljaopoam(super::Lodjibbfpgb),
        /// offset: 24
        #[prost(message, tag = "244")]
        Jppjofegbkk(super::Mjhgcfaagde),
        /// offset: 24
        #[prost(message, tag = "1542")]
        Gkbbkambodj(super::Cmnhhafeoeh),
        /// offset: 24
        #[prost(message, tag = "1492")]
        Pnchocejdmb(super::Dmmiigjlccg),
        /// offset: 24
        #[prost(message, tag = "1771")]
        Fipampengho(super::Bmlmalhblfj),
        /// offset: 24
        #[prost(message, tag = "681")]
        Bdbaeopelpb(super::Enddaldpgpd),
        /// offset: 24
        #[prost(message, tag = "1543")]
        Acjjpdmogjb(super::Flaejefeoic),
        /// offset: 24
        #[prost(message, tag = "233")]
        Ahlmgddcpmh(super::Nbhlfemmfkl),
        /// offset: 24
        #[prost(message, tag = "750")]
        Ahalgopjlei(super::Ecffkeokalp),
        /// offset: 24
        #[prost(message, tag = "40")]
        Ooflncocpah(super::Dafaecinjff),
        /// offset: 24
        #[prost(message, tag = "1074")]
        Ghdgbppfdbc(super::Cfdhbjahbgp),
        /// offset: 24
        #[prost(message, tag = "247")]
        Baggdelnipi(super::Ggbdbcecmga),
        /// offset: 24
        #[prost(message, tag = "158")]
        Homdhpncmeh(super::Kidaabcfoab),
        /// offset: 24
        #[prost(message, tag = "1055")]
        Cpkacjakehl(super::Jkclocpfkmf),
        /// offset: 24
        #[prost(message, tag = "1249")]
        Ngfnjahfgep(super::Kkopbfdmdme),
        /// offset: 24
        #[prost(message, tag = "485")]
        Pphamalbedj(super::Cbgacpbgfml),
        /// offset: 24
        #[prost(message, tag = "156")]
        Icnbjnoojjo(super::Balpjbenhef),
        /// offset: 24
        #[prost(message, tag = "1420")]
        Dijhahnlhkn(super::Ibjkjkipojb),
        /// offset: 24
        #[prost(message, tag = "751")]
        Hcohpiblimj(super::Dohkmnbmfok),
        /// offset: 24
        #[prost(message, tag = "348")]
        Jajjlnfmino(super::Ipnikaepabj),
        /// offset: 24
        #[prost(message, tag = "956")]
        Mnpingijhnj(super::Ipnikaepabj),
        /// offset: 24
        #[prost(message, tag = "832")]
        Amimlmcpmie(super::Ipnikaepabj),
        /// offset: 24
        #[prost(message, tag = "1541")]
        Ehdgehdgaie(super::Ijklfhfelfo),
        /// offset: 24
        #[prost(message, tag = "527")]
        Amkjhckadgf(super::Adffmfcnnmp),
        /// offset: 24
        #[prost(message, tag = "633")]
        Cmdnliofham(super::Ioicckglidm),
        /// offset: 24
        #[prost(message, tag = "1216")]
        Imacmbppdac(super::Ioicckglidm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggllgcbbhoa {
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub afidlakjjeo: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub lcagcihhkhj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub bjiebibenad: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub gnidpmnkldo: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub ifpcgdmffdk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "14")]
    pub hihjopiccgl: bool,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub bhmbbkigfgg: ::core::option::Option<ItemCostData>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub kpbhgpbaccl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efcdmepokpm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pikihaafidh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dilnbeniibd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmbajnmgljh {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub afidlakjjeo: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub kapjeemfejo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecfeooioeek {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub pikihaafidh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Afdaimloada {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glnijdhopig {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmbmhnilpbj {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub jmgchomloji: ::core::option::Option<Ggllgcbbhoa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idpiboalfjl {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub jmgchomloji: ::core::option::Option<Ggllgcbbhoa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ckilhbpkgjl {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub pikihaafidh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgfbbgnddgc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jchpmhdleal {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jjmhifhoogd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bmcnopbobbi {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub r#type: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub slot: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub oecahpjcldk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fiplkmoighe {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub cchgdfjabdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijklfhfelfo {
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "6")]
    pub hnkaadhikel: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub pcknclecifo: ::prost::alloc::vec::Vec<Bmcnopbobbi>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub hphbfbfjnid: ::prost::alloc::vec::Vec<Kneodpijffj>,
    /// offset: 48
    #[prost(message, optional, tag = "3")]
    pub akbckbpkhap: ::core::option::Option<Fiplkmoighe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kneodpijffj {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub oajijkigadj: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ipnikaepabj {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub maifhcohdee: ::core::option::Option<Kneodpijffj>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Balpjbenhef {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub aogmjcfnail: ::core::option::Option<Ijklfhfelfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibjkjkipojb {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub aogmjcfnail: ::core::option::Option<Ijklfhfelfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dohkmnbmfok {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub aogmjcfnail: ::core::option::Option<Ijklfhfelfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cebhklfhejb {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub hdlgnnjbjbl: ::core::option::Option<Ipnikaepabj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mblmhlinooi {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub iiakfndoipe: ::core::option::Option<Ipnikaepabj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmlikfonfce {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub afidlakjjeo: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub ejgfllccfbf: ::prost::alloc::vec::Vec<Kneodpijffj>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub geghpjhmlef: ::core::option::Option<Kneodpijffj>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub bjnnkgklgln: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub llpnhgpiahn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgnnekmmhcc {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ejgfllccfbf: ::prost::alloc::vec::Vec<Ipnikaepabj>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Baflbdonabe {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub cjiapgadfpn: ::core::option::Option<Kneodpijffj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejmpodmakgi {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub cjiapgadfpn: ::core::option::Option<Ipnikaepabj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hjdhbdkakjl {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dodnpfpdmgm {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocofffnjkoo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnccaohcaob {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adffmfcnnmp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub ggmdkmaddcm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub iaojifhomgb: ::core::option::Option<Ipnikaepabj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncgmnpcokbf {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub fcliibehnhh: ::prost::alloc::vec::Vec<Fiplkmoighe>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub afidlakjjeo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mlcbbcbbfbn {
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub iamdedliobf: bool,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub bipjfeibalp: ::core::option::Option<Fiplkmoighe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgimnmpmmjg {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bimajamcoip {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgkjbbklfda {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub ihongjpiafj: ::core::option::Option<Fiplkmoighe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jfckpnhahkd {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub ggnccnchcna: ::core::option::Option<Fiplkmoighe>,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub kbldpnkbihp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bhadebemgee {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ioicckglidm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fapcjhcoppk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggkpdmgpmfl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub amhmehecfkk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(int32, tag = "14")]
    pub iegmgfkhagp: i32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub eajhhphlfdh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmkiombkjld {
    /// offset: 40
    #[prost(enumeration = "Kmfnjmllgip", tag = "5")]
    pub jpedloglknk: i32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub jkhdajadhdg: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub flbpjdmejee: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub afidlakjjeo: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub lmpfkdihimk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub gogfkkomhpj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mgljgfnaaln {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub bdjeicjeieb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iihnagnnhbd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lbncibncclg {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppnkloaobkp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub dfhionmkekb: ::core::option::Option<Bmkiombkjld>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iofdgplhggp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub akcfognelle: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbdecajneap {
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub is_win: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub battle_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pdbchhhafei {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub akcfognelle: u32,
}
/// Obf: CEONKCMHAMN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5641)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonPendingActionScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub action: ::core::option::Option<Bhbnbiogkpf>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bhkagjhdclm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhbnbiogkpf {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub queue_position: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub donppgjpmfi: ::core::option::Option<Fdeblnlfpgp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdeblnlfpgp {
    #[prost(
        oneof = "fdeblnlfpgp::Mgkehfmcbbp",
        tags = "1871, 458, 666, 1783, 958, 176, 1618, 1479, 2020, 1644, 1166, 1970, 1625, 1745, 79, 29, 1185, 457, 1218, 111, 806, 1336, 569, 272, 1793, 1686, 167"
    )]
    pub mgkehfmcbbp: ::core::option::Option<fdeblnlfpgp::Mgkehfmcbbp>,
}
/// Nested message and enum types in `FDEBLNLFPGP`.
pub mod fdeblnlfpgp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "1871")]
        Edkddckofnk(super::Dobgfahgbgc),
        /// offset: 16
        #[prost(message, tag = "458")]
        Gfbalaioiaa(super::Cegadlecona),
        /// offset: 16
        #[prost(message, tag = "666")]
        Ggnlamddflo(super::Dcoflgbfbdh),
        /// offset: 16
        #[prost(message, tag = "1783")]
        Mebbdlnbeml(super::Cpfmdnjpiaa),
        /// offset: 16
        #[prost(message, tag = "958")]
        Apkphkdgmjc(super::Nnfmpboipoi),
        /// offset: 16
        #[prost(message, tag = "176")]
        Ddpmeikdimo(super::Lhggomhdeeh),
        /// offset: 16
        #[prost(message, tag = "1618")]
        Ppbffpneiod(super::Gffdcebfolc),
        /// offset: 16
        #[prost(message, tag = "1479")]
        Flkjalmpjdl(super::Aijbgphodjb),
        /// offset: 16
        #[prost(message, tag = "2020")]
        Demlkhddccd(super::Cdhfkffjmbp),
        /// offset: 16
        #[prost(message, tag = "1644")]
        Hkdpnhenclg(super::Gggagldlaif),
        /// offset: 16
        #[prost(message, tag = "1166")]
        Cmfjeifbljh(super::Lagcofgbljl),
        /// offset: 16
        #[prost(message, tag = "1970")]
        Nkpgjdagemp(super::Heaficonnbm),
        /// offset: 16
        #[prost(message, tag = "1625")]
        Eaejboplipo(super::Jbklegcbmlg),
        /// offset: 16
        #[prost(message, tag = "1745")]
        Jmgchomloji(super::Ggllgcbbhoa),
        /// offset: 16
        #[prost(message, tag = "79")]
        Jjocpncjkfa(super::Cmbajnmgljh),
        /// offset: 16
        #[prost(message, tag = "29")]
        Hlhgnnigflo(super::Idpiboalfjl),
        /// offset: 16
        #[prost(message, tag = "1185")]
        Elfdaljpgna(super::Nmlikfonfce),
        /// offset: 16
        #[prost(message, tag = "457")]
        Iojpmolfpjm(super::Ncgmnpcokbf),
        /// offset: 16
        #[prost(message, tag = "1218")]
        Mfijpjmogmf(super::Dgkjbbklfda),
        /// offset: 16
        #[prost(message, tag = "111")]
        Bkampoofdoe(super::Nmlikfonfce),
        /// offset: 16
        #[prost(message, tag = "806")]
        Aibipdhmeng(super::Nmlikfonfce),
        /// offset: 16
        #[prost(message, tag = "1336")]
        Ecfpobfbmbf(super::Nmlikfonfce),
        /// offset: 16
        #[prost(message, tag = "569")]
        Lljdhoodpkd(super::Cgnnekmmhcc),
        /// offset: 16
        #[prost(message, tag = "272")]
        Eolmcjdgkmj(super::Cgnnekmmhcc),
        /// offset: 16
        #[prost(message, tag = "1793")]
        Hphkejajnic(super::Cgnnekmmhcc),
        /// offset: 16
        #[prost(message, tag = "1686")]
        Oflapbfpcdk(super::Iofdgplhggp),
        /// offset: 16
        #[prost(message, tag = "167")]
        Pnejgabacij(super::Bmkiombkjld),
    }
}
/// Obf: IMCJLNIGKHD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5698)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectRogueBonusReq {
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub fklcgodnlii: u32,
    #[prost(
        oneof = "select_rogue_bonus_req::Mgkehfmcbbp",
        tags = "975, 654, 925, 1357, 316, 1349, 2001, 1155, 649, 1386, 967, 1904, 156, 1988, 1873, 53, 423, 90, 585, 191, 294, 375, 386, 849, 253, 1911, 1399, 954, 1223, 1396, 777, 212761, 182966"
    )]
    pub mgkehfmcbbp: ::core::option::Option<select_rogue_bonus_req::Mgkehfmcbbp>,
}
/// Nested message and enum types in `SelectRogueBonusReq`.
pub mod select_rogue_bonus_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "975")]
        Adlmbbgpdgm(super::Bnblkabaegl),
        /// offset: 24
        #[prost(message, tag = "654")]
        Ncankllmnib(super::Ejiigancnhd),
        /// offset: 24
        #[prost(message, tag = "925")]
        Ooibggcahhd(super::Mggdeilbbfd),
        /// offset: 24
        #[prost(message, tag = "1357")]
        Oiamopjpeaj(super::Mnklcfakclo),
        /// offset: 24
        #[prost(message, tag = "316")]
        Ljcfjoadnkd(super::Cgckfijlhmo),
        /// offset: 24
        #[prost(message, tag = "1349")]
        Ckadofackag(super::Igmnhlfoibo),
        /// offset: 24
        #[prost(message, tag = "2001")]
        Ebgeblnohfp(super::Hnnedokeeeb),
        /// offset: 24
        #[prost(message, tag = "1155")]
        Aghbpmpjcme(super::Icimdihafhg),
        /// offset: 24
        #[prost(message, tag = "649")]
        Dohjnjpiflg(super::Efefaihnndp),
        /// offset: 24
        #[prost(message, tag = "1386")]
        Ndocadjgjkm(super::Jialjbedjho),
        /// offset: 24
        #[prost(message, tag = "967")]
        Kjnicmgnadm(super::Ipmalmplced),
        /// offset: 24
        #[prost(message, tag = "1904")]
        Aakammplnib(super::Epjpnhkkadc),
        /// offset: 24
        #[prost(message, tag = "156")]
        Jfcchkljakc(super::Jmobomjcohf),
        /// offset: 24
        #[prost(message, tag = "1988")]
        Hppfjjfmjag(super::Ccjdcaenoml),
        /// offset: 24
        #[prost(message, tag = "1873")]
        Ddciknibkjc(super::Efcdmepokpm),
        /// offset: 24
        #[prost(message, tag = "53")]
        Afdcmpneoap(super::Glnijdhopig),
        /// offset: 24
        #[prost(message, tag = "423")]
        Enoefnmgobc(super::Ecfeooioeek),
        /// offset: 24
        #[prost(message, tag = "90")]
        Aidmbaioomo(super::Ckilhbpkgjl),
        /// offset: 24
        #[prost(message, tag = "585")]
        Jaagamhfjeo(super::Baflbdonabe),
        /// offset: 24
        #[prost(message, tag = "191")]
        Dhmodgainac(super::Mlcbbcbbfbn),
        /// offset: 24
        #[prost(message, tag = "294")]
        Ealjhkmelgb(super::Jfckpnhahkd),
        /// offset: 24
        #[prost(message, tag = "375")]
        Acmeakjcapj(super::Baflbdonabe),
        /// offset: 24
        #[prost(message, tag = "386")]
        Hlollnkadnm(super::Baflbdonabe),
        /// offset: 24
        #[prost(message, tag = "849")]
        Cbljdgdcogf(super::Baflbdonabe),
        /// offset: 24
        #[prost(message, tag = "253")]
        Gdpcmegpibl(super::Ejmpodmakgi),
        /// offset: 24
        #[prost(message, tag = "1911")]
        Emindomhdhi(super::Ejmpodmakgi),
        /// offset: 24
        #[prost(message, tag = "1399")]
        Ejgpckdlejg(super::Ejmpodmakgi),
        /// offset: 24
        #[prost(message, tag = "954")]
        Ahenoblinho(super::Mgljgfnaaln),
        /// offset: 24
        #[prost(message, tag = "1223")]
        Oebdbkkpeog(super::Mgljgfnaaln),
        /// offset: 24
        #[prost(message, tag = "1396")]
        Cmohgdddpko(super::Lbncibncclg),
        /// offset: 24
        #[prost(message, tag = "777")]
        Flnbnahfkdd(super::Jchpmhdleal),
        /// offset: 24
        #[prost(message, tag = "212761")]
        Icgploojaid(super::Mbdecajneap),
        /// offset: 24
        #[prost(message, tag = "182966")]
        Clbcgidjofo(super::Pdbchhhafei),
    }
}
/// Obf: BHHNHGGKHGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5648)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionScRsp {
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub queue_position: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub fklcgodnlii: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_sc_rsp::Mgkehfmcbbp",
        tags = "822, 28, 1756, 1945, 1473, 2031, 537, 1782, 1729, 98, 749, 2024, 1890, 1818, 1265, 522, 1690, 861, 441, 416, 1094, 1808, 798, 121, 685, 1557, 359, 1411"
    )]
    pub mgkehfmcbbp: ::core::option::Option<
        handle_rogue_common_pending_action_sc_rsp::Mgkehfmcbbp,
    >,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionScRsp`.
pub mod handle_rogue_common_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "822")]
        Gfmpfnlpgoa(super::Nfjfljmeaeo),
        /// offset: 16
        #[prost(message, tag = "28")]
        Pjnamfnnmhd(super::Ibpghlcmdlp),
        /// offset: 16
        #[prost(message, tag = "1756")]
        Ihepfeoikeh(super::Pidickdelmb),
        /// offset: 16
        #[prost(message, tag = "1945")]
        Kcmlapjeapd(super::Enbcjoigfnl),
        /// offset: 16
        #[prost(message, tag = "1473")]
        Oelnkmkggda(super::Cfjibfdkidc),
        /// offset: 16
        #[prost(message, tag = "2031")]
        Odloeaablej(super::Glgpjnmkifk),
        /// offset: 16
        #[prost(message, tag = "537")]
        Ncfmkglhhdk(super::Fijknkhahkh),
        /// offset: 16
        #[prost(message, tag = "1782")]
        Jbpncafmebg(super::Jopbbmadkmc),
        /// offset: 16
        #[prost(message, tag = "1729")]
        Lnghdkhikef(super::Gejbeoojimg),
        /// offset: 16
        #[prost(message, tag = "98")]
        Khagnknpfmo(super::Dpbjepanmll),
        /// offset: 16
        #[prost(message, tag = "749")]
        Pajkkfgmoop(super::Ikhiadmkdoh),
        /// offset: 16
        #[prost(message, tag = "2024")]
        Adpopjinabm(super::Pandncpdpop),
        /// offset: 16
        #[prost(message, tag = "1890")]
        Mmmdgdnedbl(super::Ldcfgkpheil),
        /// offset: 16
        #[prost(message, tag = "1818")]
        Jbpecafcjen(super::Bogljnkkdac),
        /// offset: 16
        #[prost(message, tag = "1265")]
        Pooljdfjajd(super::Dilnbeniibd),
        /// offset: 16
        #[prost(message, tag = "522")]
        Mekmpbebbjh(super::Gmbmhnilpbj),
        /// offset: 16
        #[prost(message, tag = "1690")]
        Nnnhbhmlkci(super::Afdaimloada),
        /// offset: 16
        #[prost(message, tag = "861")]
        Kgeckhfapie(super::Fgfbbgnddgc),
        /// offset: 16
        #[prost(message, tag = "441")]
        Ejfmacafjpj(super::Hjdhbdkakjl),
        /// offset: 16
        #[prost(message, tag = "416")]
        Mjfkfakiepb(super::Pgimnmpmmjg),
        /// offset: 16
        #[prost(message, tag = "1094")]
        Bndkhnpfdja(super::Bhadebemgee),
        /// offset: 16
        #[prost(message, tag = "1808")]
        Pjpepolojec(super::Dodnpfpdmgm),
        /// offset: 16
        #[prost(message, tag = "798")]
        Egkfabdbjaj(super::Ocofffnjkoo),
        /// offset: 16
        #[prost(message, tag = "121")]
        Jfgojfddcpj(super::Gnccaohcaob),
        /// offset: 16
        #[prost(message, tag = "685")]
        Nnjfjfiamke(super::Bimajamcoip),
        /// offset: 16
        #[prost(message, tag = "1557")]
        Pjkedcndcek(super::Iihnagnnhbd),
        /// offset: 16
        #[prost(message, tag = "359")]
        Bfjbbhpagna(super::Iihnagnnhbd),
        /// offset: 16
        #[prost(message, tag = "1411")]
        Maokfcbgojn(super::Ppnkloaobkp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jmmajnmahnh {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub maze_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bnbohjccndh {
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub ednbckffboo: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub emkiaojidoj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oncknmgjaoo {
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub ednbckffboo: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub abpaniekoco: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hibgmeocbdn {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub maemjcjolid: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub lopgfcfcage: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub fmldgbefokh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub llkadekhjfk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Coopbllbokn {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub adkmpogojep: ::core::option::Option<Fiplkmoighe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mmolmkfpnci {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub ehipfddifcf: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub oajijkigadj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdgbegffndf {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub buff_list: ::prost::alloc::vec::Vec<Jmmajnmahnh>,
    /// offset: 48
    #[prost(message, repeated, tag = "6")]
    pub limmlgfhaja: ::prost::alloc::vec::Vec<Hibgmeocbdn>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub gfncgjbhmln: ::prost::alloc::vec::Vec<Oncknmgjaoo>,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<Bnbohjccndh>,
}
/// Obf: FCECBAAOOHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5652)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataCsReq {}
/// Obf: KAFLKCILDOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5682)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub jgaecdgfmha: ::core::option::Option<Fdgbegffndf>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EDPNONPDJAI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5688)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueHandbookDataUpdateScNotify {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub akglgfbogna: ::prost::alloc::vec::Vec<Jmmajnmahnh>,
    /// offset: 48
    #[prost(message, repeated, tag = "12")]
    pub jadoeilcolm: ::prost::alloc::vec::Vec<Oncknmgjaoo>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub bfehjbiohab: ::prost::alloc::vec::Vec<Coopbllbokn>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub mpbakefbdlc: ::prost::alloc::vec::Vec<Mmolmkfpnci>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub pdlgnmppbhn: ::prost::alloc::vec::Vec<Bnbohjccndh>,
}
/// Obf: NBEKJKDPMNE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5651)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub dhpbahpabbn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GFGBCMMIHDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5656)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub pieooohopde: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PJFJEAEJPAK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5608)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeEventHandbookRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub egamehppoij: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FJJBHNPMHMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5670)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeEventHandbookRewardScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub phjmcehmgcc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agfgepfjnif {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "2")]
    pub fakhpadnhai: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nagpaeadegp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub fpfeocngfje: u32,
    /// offset: 36
    #[prost(int32, tag = "8")]
    pub njeobahklid: i32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub nlbeijlckoe: ::core::option::Option<Okmcidbgaff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anhnmliknbk {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub becijngiiji: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpljkfecimm {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfgialckcag {
    #[prost(oneof = "hfgialckcag::Oempdakaaab", tags = "14, 3, 6, 5, 10, 13, 2, 12")]
    pub oempdakaaab: ::core::option::Option<hfgialckcag::Oempdakaaab>,
}
/// Nested message and enum types in `HFGIALCKCAG`.
pub mod hfgialckcag {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Oempdakaaab {
        /// offset: 16
        #[prost(message, tag = "14")]
        Dmolbooefmj(super::Daajhfncjpf),
        /// offset: 16
        #[prost(message, tag = "3")]
        Injkcagboie(super::Gafbndphgfl),
        /// offset: 16
        #[prost(message, tag = "6")]
        Hlhfljhnmoc(super::Agfgepfjnif),
        /// offset: 16
        #[prost(message, tag = "5")]
        Hbofpmgikke(super::Nagpaeadegp),
        /// offset: 16
        #[prost(message, tag = "10")]
        Makejcjgkcd(super::Anhnmliknbk),
        /// offset: 16
        #[prost(message, tag = "13")]
        Cdhcnphcgka(super::Hpfmlknmppn),
        /// offset: 16
        #[prost(message, tag = "2")]
        Lefhoadkkff(super::Knhajcdeehb),
        /// offset: 16
        #[prost(message, tag = "12")]
        Npfdicbmffc(super::Dpljkfecimm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gebgajmbfpp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub hbamiplgebk: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub bhkagjhdclm: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub mliajbfejac: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub rogue_current_game_info: ::prost::alloc::vec::Vec<Hfgialckcag>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub fmhonnfjpne: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mdalaicleol {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub jojfjhdlleh: bool,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lfebmhmmpnn: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdblcheebhp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dnbjdlgiabh: u32,
    /// offset: 36
    #[prost(enumeration = "RogueTalentStatus", tag = "5")]
    pub status: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub meplnpikjgl: ::prost::alloc::vec::Vec<Mdalaicleol>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nadadmgjlbb {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub fmmgdijoijc: ::prost::alloc::vec::Vec<Fdblcheebhp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imkeeinoabp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ejikpkfmknm: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub npeafdedhoc: u32,
}
/// Obf: OEOEODFNDOP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5630)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueVirtualItemInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub ipkkhjpjgdd: ::prost::alloc::vec::Vec<Imkeeinoabp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ipjkljgjjhj {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub dkenollkfgm: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub amhobjfiihf: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub knhbojbkmna: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkholnfncbd {
    /// offset: 24
    #[prost(enumeration = "Jlnjfkmhfan", repeated, tag = "8")]
    pub lpaeoabcehp: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dppkecncofj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub okgchdeebfp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbibhmdgfpj {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub dlphlmmocnk: ::prost::alloc::vec::Vec<Fdggneebnjh>,
    /// offset: 48
    #[prost(message, repeated, tag = "6")]
    pub oloaagemnod: ::prost::alloc::vec::Vec<Dgcjofgdhim>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub gjhfbjllgob: ::prost::alloc::vec::Vec<Cnidfaboamj>,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub hpdenbmnojd: ::prost::alloc::vec::Vec<Aohadhekgmm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkibjiglgcm {
    #[prost(oneof = "pkibjiglgcm::Mgkehfmcbbp", tags = "1, 14, 12, 5")]
    pub mgkehfmcbbp: ::core::option::Option<pkibjiglgcm::Mgkehfmcbbp>,
}
/// Nested message and enum types in `PKIBJIGLGCM`.
pub mod pkibjiglgcm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "1")]
        Nbkaoihhpki(super::Ipjkljgjjhj),
        /// offset: 24
        #[prost(message, tag = "14")]
        Iiebgimjhol(super::Gkholnfncbd),
        /// offset: 24
        #[prost(message, tag = "12")]
        Defdlgnfmcp(super::Dppkecncofj),
        /// offset: 24
        #[prost(message, tag = "5")]
        Kipomlinnmc(super::Nbibhmdgfpj),
    }
}
/// Obf: NAOFBGBMNFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5606)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub dlfpegbeeab: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PADPBOEIIKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5681)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub rogue_get_info: ::prost::alloc::vec::Vec<Pkibjiglgcm>,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub fkdfmeejmdh: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GEPFMIMJMLL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5697)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueUpdateScNotify {
    #[prost(oneof = "common_rogue_update_sc_notify::Dkchhafahof", tags = "3, 11, 7")]
    pub dkchhafahof: ::core::option::Option<common_rogue_update_sc_notify::Dkchhafahof>,
}
/// Nested message and enum types in `CommonRogueUpdateScNotify`.
pub mod common_rogue_update_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Dkchhafahof {
        /// offset: 16
        #[prost(message, tag = "3")]
        Nbkaoihhpki(super::Ipjkljgjjhj),
        /// offset: 16
        #[prost(message, tag = "11")]
        Iiebgimjhol(super::Gkholnfncbd),
        /// offset: 16
        #[prost(message, tag = "7")]
        Defdlgnfmcp(super::Dppkecncofj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bbaedpceone {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ppnbckgajgb: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub mjaiklonmhl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aeaogbfeaml {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub mcbnilfmeal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jocnhhdcbim {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub mcbnilfmeal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glccnenceke {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nmljdnhofpk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkfocicamfn {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub mcbnilfmeal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nohjjfaffia {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ndmgnlljheb {
    #[prost(oneof = "ndmgnlljheb::Jggcldaimog", tags = "2, 13, 12, 1, 6, 10")]
    pub jggcldaimog: ::core::option::Option<ndmgnlljheb::Jggcldaimog>,
}
/// Nested message and enum types in `NDMGNLLJHEB`.
pub mod ndmgnlljheb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Jggcldaimog {
        /// offset: 24
        #[prost(message, tag = "2")]
        Nhdjdgfemjf(super::Bbaedpceone),
        /// offset: 24
        #[prost(message, tag = "13")]
        Bgapemfkojd(super::Aeaogbfeaml),
        /// offset: 24
        #[prost(message, tag = "12")]
        Bcohfhlbjoo(super::Jocnhhdcbim),
        /// offset: 24
        #[prost(message, tag = "1")]
        Noielgbemjj(super::Glccnenceke),
        /// offset: 24
        #[prost(message, tag = "6")]
        Iafbddipieb(super::Fkfocicamfn),
        /// offset: 24
        #[prost(message, tag = "10")]
        Jabhaiefcao(super::Nohjjfaffia),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Engdlgkekil {
    /// offset: 24
    #[prost(int32, tag = "9")]
    pub njeogknacfd: i32,
    /// offset: 28
    #[prost(float, tag = "14")]
    pub mgiplmgfhia: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhenfcmioil {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub battle_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oelbdeaioef {
    /// offset: 24
    #[prost(int32, tag = "9")]
    pub mgnikiefhok: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lmacgnficic {
    #[prost(oneof = "lmacgnficic::Lmjcifkkmic", tags = "6, 9")]
    pub lmjcifkkmic: ::core::option::Option<lmacgnficic::Lmjcifkkmic>,
}
/// Nested message and enum types in `LMACGNFICIC`.
pub mod lmacgnficic {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Lmjcifkkmic {
        /// offset: 24
        #[prost(message, tag = "6")]
        Hjfjhnoanib(super::Dhenfcmioil),
        /// offset: 24
        #[prost(message, tag = "9")]
        Hlejbeiioem(super::Oelbdeaioef),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdhdkkdogij {
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub arg_id: u32,
    /// offset: 44
    #[prost(bool, tag = "8")]
    pub ibfljljlfdo: bool,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub display_value: ::core::option::Option<Engdlgkekil>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub ajjlhpaflfi: ::prost::alloc::vec::Vec<Lmacgnficic>,
    /// offset: 45
    #[prost(bool, tag = "4")]
    pub cjcnmflbnge: bool,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub iokajobjpan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opnofjfjecj {
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub fdfidldhejh: ::prost::alloc::vec::Vec<Bdhdkkdogij>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub akcfognelle: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub jpjbnolapnj: ::core::option::Option<Ndmgnlljheb>,
}
/// Obf: MJAKEFFAKNJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5615)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataCsReq {}
/// Obf: KPDDICPNFKM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5691)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub bnffhebdald: ::prost::alloc::vec::Vec<Opnofjfjecj>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: DEMGDHMBMGO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5622)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionCsReq {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub iokajobjpan: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub akcfognelle: u32,
}
/// Obf: OJPEIDGFAKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5672)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub iliflinilkl: ::core::option::Option<Opnofjfjecj>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub akcfognelle: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub ckcoclpchmi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(bool, tag = "13")]
    pub caejhhhgmlm: bool,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub iokajobjpan: u32,
}
/// Obf: BMLIIJIMCPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5660)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishRogueCommonDialogueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub akcfognelle: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5668)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eedfdbdkgmg {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub akcfognelle: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: MIMNLAICACH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5643)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueDataScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub bnffhebdald: ::prost::alloc::vec::Vec<Opnofjfjecj>,
}
/// Obf: EBOCMJCGDMA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueOptionFinishScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub iliflinilkl: ::core::option::Option<Opnofjfjecj>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub jpggjoojaip: ::core::option::Option<Bdhdkkdogij>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub akcfognelle: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub iokajobjpan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fabloeelaoa {
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub bhkagjhdclm: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub hbamiplgebk: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub fmhonnfjpne: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub pending_action: ::core::option::Option<Bhbnbiogkpf>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub mliajbfejac: u32,
    /// offset: 32
    #[prost(string, tag = "9")]
    pub pikchlflakb: ::prost::alloc::string::String,
}
/// Obf: KOKOEEHBGAK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5687)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
}
/// Obf: JLOAGGMLJAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5624)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoScRsp {
    /// offset: 16
    #[prost(map = "uint32, message", tag = "7")]
    pub nlagopneobo: ::std::collections::HashMap<u32, Aghpmdfhkch>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aghpmdfhkch {
    #[prost(
        oneof = "aghpmdfhkch::Pdiogoimaod",
        tags = "6, 13, 8, 5, 15, 7, 1, 9, 3, 12"
    )]
    pub pdiogoimaod: ::core::option::Option<aghpmdfhkch::Pdiogoimaod>,
}
/// Nested message and enum types in `AGHPMDFHKCH`.
pub mod aghpmdfhkch {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pdiogoimaod {
        /// offset: 16
        #[prost(message, tag = "6")]
        Collbbhdlhl(super::Jllaempigpj),
        /// offset: 16
        #[prost(message, tag = "13")]
        Npheoologbb(super::Lpplmgbcjmi),
        /// offset: 16
        #[prost(message, tag = "8")]
        Pbdkjoihadj(super::Obmdohmdfnj),
        /// offset: 16
        #[prost(message, tag = "5")]
        Afimdakocph(super::Pphjkmafbkc),
        /// offset: 16
        #[prost(message, tag = "15")]
        Hjgphkoibmn(super::Epjoiamhenp),
        /// offset: 16
        #[prost(message, tag = "7")]
        Adkmpogojep(super::Bfbfeemanhi),
        /// offset: 16
        #[prost(message, tag = "1")]
        Maifhcohdee(super::Ejpajapdlgp),
        /// offset: 16
        #[prost(message, tag = "9")]
        Hfkoledjkfm(super::Naohfhcannl),
        /// offset: 16
        #[prost(message, tag = "3")]
        Bccmbmabflk(super::Idnpicimpnh),
        /// offset: 16
        #[prost(message, tag = "12")]
        Lehfbcpfllf(super::Idndcfjcoin),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jllaempigpj {
    /// offset: 36
    #[prost(int32, tag = "4")]
    pub jabmdjajikh: i32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub hcdocaokeph: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub gcippihddnb: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub gppibpanjkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpplmgbcjmi {
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub gppibpanjkc: u32,
    /// offset: 36
    #[prost(int32, tag = "15")]
    pub jabmdjajikh: i32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub hcdocaokeph: u32,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub gcippihddnb: bool,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obmdohmdfnj {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub cur_num: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "7")]
    pub pidbgpgdeom: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub max_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pphjkmafbkc {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub hcdocaokeph: u32,
    /// offset: 40
    #[prost(int32, tag = "1")]
    pub jabmdjajikh: i32,
    /// offset: 24
    #[prost(map = "uint32, bool", tag = "4")]
    pub copjkibognb: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epjoiamhenp {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub hcdocaokeph: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(int32, tag = "9")]
    pub jabmdjajikh: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aacgebjnfob {
    /// offset: 48
    #[prost(bool, tag = "15")]
    pub eagbhhiiocl: bool,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub odinfebikhk: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub adkmpogojep: ::core::option::Option<Fiplkmoighe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfbfeemanhi {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub npcimmbjmpb: ::prost::alloc::vec::Vec<Aacgebjnfob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Engjollaiii {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub oajijkigadj: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub ehipfddifcf: u32,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub odinfebikhk: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub eagbhhiiocl: bool,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejpajapdlgp {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub beeihefipkd: ::prost::alloc::vec::Vec<Engjollaiii>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Naohfhcannl {
    /// offset: 32
    #[prost(int32, tag = "7")]
    pub jabmdjajikh: i32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub hcdocaokeph: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idnpicimpnh {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub flmobelgjdp: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "12")]
    pub djaehijjjni: ::std::collections::HashMap<u32, ItemCostData>,
    /// offset: 44
    #[prost(int32, tag = "6")]
    pub jabmdjajikh: i32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub hcdocaokeph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofepoffilkp {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cchgdfjabdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idndcfjcoin {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub gaaeoegcpoe: ::prost::alloc::vec::Vec<Ofepoffilkp>,
}
/// Obf: MGNPLFEPBEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5603)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchReforgeBuffReq {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub prop_entity_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub func_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ohnbolgjihg: ::core::option::Option<Oelfiljpjeg>,
}
/// Obf: NPDBPGNLKPE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5635)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub onbgiaoccnm: ::core::option::Option<Aghpmdfhkch>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub func_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oelfiljpjeg {
    #[prost(
        oneof = "oelfiljpjeg::Nnpkchfkppc",
        tags = "7, 11, 8, 15, 13, 6, 9, 2, 5, 1"
    )]
    pub nnpkchfkppc: ::core::option::Option<oelfiljpjeg::Nnpkchfkppc>,
}
/// Nested message and enum types in `OELFILJPJEG`.
pub mod oelfiljpjeg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nnpkchfkppc {
        /// offset: 16
        #[prost(message, tag = "7")]
        Collbbhdlhl(super::Amoghblcjgi),
        /// offset: 16
        #[prost(message, tag = "11")]
        Npheoologbb(super::Moodjnomdbo),
        /// offset: 16
        #[prost(message, tag = "8")]
        Pbdkjoihadj(super::Ndefinokoim),
        /// offset: 16
        #[prost(message, tag = "15")]
        Afimdakocph(super::Kbhcpdinjji),
        /// offset: 16
        #[prost(message, tag = "13")]
        Hjgphkoibmn(super::Ajhmgohlgao),
        /// offset: 16
        #[prost(message, tag = "6")]
        Adkmpogojep(super::Ecldmmcfjnn),
        /// offset: 16
        #[prost(message, tag = "9")]
        Maifhcohdee(super::Gdedepjgoed),
        /// offset: 16
        #[prost(message, tag = "2")]
        Hfkoledjkfm(super::Ikpcmcpebnp),
        /// offset: 16
        #[prost(message, tag = "5")]
        Bccmbmabflk(super::Pgmlnkcpmkf),
        /// offset: 16
        #[prost(message, tag = "1")]
        Lehfbcpfllf(super::Ngndgpbkglk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Amoghblcjgi {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub eldgmhjabco: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Moodjnomdbo {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub doheaoddkka: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ndefinokoim {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub maehfdkkihp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbhcpdinjji {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub lohafcdccnc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ajhmgohlgao {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub eahioocnhon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecldmmcfjnn {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub kjcpggpdjeh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdedepjgoed {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub bpdadapfnic: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikpcmcpebnp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub oehccfdpepi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pgmlnkcpmkf {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub oajijkigadj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ngndgpbkglk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cchgdfjabdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fdggneebnjh {
    /// offset: 28
    #[prost(enumeration = "Idlcdpeceji", tag = "13")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ljligfagjih: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aohadhekgmm {
    /// offset: 24
    #[prost(enumeration = "Majegahngne", tag = "8")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub ljligfagjih: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub popfgpcaham: u32,
}
/// Obf: MHFAPNDHLPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5604)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub eiifglfcgjl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(enumeration = "Mjhihoobloa", repeated, tag = "6")]
    pub hjgonnmmkcm: ::prost::alloc::vec::Vec<i32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub fphckklocca: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LJJCKIPNMAG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5673)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub dlphlmmocnk: ::prost::alloc::vec::Vec<Fdggneebnjh>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub hpdenbmnojd: ::prost::alloc::vec::Vec<Aohadhekgmm>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgcjofgdhim {
    /// offset: 28
    #[prost(enumeration = "Mfkcfgbipok", tag = "9")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub kcfolkjajmb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cnidfaboamj {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub popfgpcaham: u32,
    /// offset: 28
    #[prost(enumeration = "Majegahngne", tag = "4")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub kcfolkjajmb: u32,
}
/// Obf: BHIPPNJKCFB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5690)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub jmdjhkllfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(enumeration = "Mjhihoobloa", repeated, tag = "8")]
    pub ddagabahnak: ::prost::alloc::vec::Vec<i32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "9")]
    pub fclndpbfnpi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PBPKNGKEDDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5644)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub oloaagemnod: ::prost::alloc::vec::Vec<Dgcjofgdhim>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub gjhfbjllgob: ::prost::alloc::vec::Vec<Cnidfaboamj>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lhhdpcikoka {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub njefcjmhobo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ngdbicgmjoi {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ddfobigggpp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Acmombdcgoa {
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub dibdamklcnj: bool,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub ddfobigggpp: u32,
    #[prost(oneof = "acmombdcgoa::Kidiaoifljj", tags = "13, 10")]
    pub kidiaoifljj: ::core::option::Option<acmombdcgoa::Kidiaoifljj>,
}
/// Nested message and enum types in `ACMOMBDCGOA`.
pub mod acmombdcgoa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Kidiaoifljj {
        /// offset: 24
        #[prost(message, tag = "13")]
        Ofceocolhdi(super::Lhhdpcikoka),
        /// offset: 24
        #[prost(message, tag = "10")]
        Hefefdmhplo(super::Ngdbicgmjoi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idjffcgagma {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub bfpnhoagjbi: ::prost::alloc::vec::Vec<Acmombdcgoa>,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub knkdghhookn: bool,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcffjhlpppd {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub fnnccnnpael: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub pelhchhhapa: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub felefpdmimn: ::prost::alloc::vec::Vec<Idjffcgagma>,
    /// offset: 40
    #[prost(bool, tag = "9")]
    pub kbhlfjcjgmp: bool,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub pjdgomdlhcd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub haghaddbbmi: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub ejibobdpeka: u32,
}
/// Obf: MHEJLJBAAFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5663)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
}
/// Obf: PBPGACFLBHL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5629)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub gbicbmilhpg: ::core::option::Option<Lcffjhlpppd>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KOIKBAHBIIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5610)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueDoGambleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
}
/// Obf: GIBPBMBBABE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5625)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDoGambleScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub gbicbmilhpg: ::core::option::Option<Lcffjhlpppd>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub heenoohbmkl: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ephcjnknall: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkdkjockcfh {
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub jeigngckkob: u32,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub map_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub jkdjalgcdaj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub kaikkbhdgem: ::core::option::Option<Momobgmhead>,
    /// offset: 56
    #[prost(enumeration = "RogueStatus", tag = "10")]
    pub status: i32,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub cooacndihng: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub fcnfnjpcbmd: ::core::option::Option<Bkcokflmfhb>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "13")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gfoccajcnco {
    /// offset: 44
    #[prost(bool, tag = "15")]
    pub inffbhohibm: bool,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub fedminfkjce: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub mncebjlodha: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub gcakjjebnml: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub falcbipokoc: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub clkgbllbgoe: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub iodibcbpfcn: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub battle_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdokpppcldm {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub olfefgkdgfb: ::core::option::Option<Jkdkjockcfh>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub maahcdcggjo: ::core::option::Option<Gfoccajcnco>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub panel_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
}
/// Obf: GKMMHFJHGJN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6010)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataCsReq {}
/// Obf: LOMBINLNPDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6008)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub fgbhimedima: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub hgliemgfmml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub data: ::prost::alloc::vec::Vec<Gdokpppcldm>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub hnelhjnlcda: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bbliokmbpbl {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
}
/// Obf: ELHDAHBICNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6004)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageCsReq {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ehdkcokipld: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bbliokmbpbl>,
}
/// Obf: EBLPGFLKGJK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub maahcdcggjo: ::core::option::Option<Gfoccajcnco>,
}
/// Obf: FOJOPJBGDFL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6009)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueEndlessActivityBattleEndScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub maahcdcggjo: ::core::option::Option<Gfoccajcnco>,
}
/// Obf: OFBBJDDJOMD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6002)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub level: u32,
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub bpeldjeagke: bool,
}
/// Obf: GODJALPJJLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6006)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub bpeldjeagke: bool,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub hnelhjnlcda: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub hgliemgfmml: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DODIJMLABEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6003)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardCsReq {}
/// Obf: GKGMHOJEONO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6007)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub hnelhjnlcda: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub hgliemgfmml: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Joleaekgmbm {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojdkgajflgn {
    /// offset: 44
    #[prost(enumeration = "Eccmkkeglbe", tag = "5")]
    pub status: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub jghhjjmdcmg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub hfmgablncgn: ::prost::alloc::vec::Vec<Kfdekkhphjf>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ljmglfgpfop: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub lgejgncmfob: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kfdekkhphjf {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub kgennogjnea: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub licnpjeckhg: u32,
    /// offset: 24
    #[prost(enumeration = "Cbnncbjmebe", tag = "15")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhikigfiein {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub jffpjbaogeo: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub gkcknhjcfja: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ejkhjffegie: ::prost::alloc::vec::Vec<Ojdkgajflgn>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub gonibbbikme: u32,
    /// offset: 36
    #[prost(enumeration = "Jnobimlefkh", tag = "11")]
    pub reason: i32,
    /// offset: 44
    #[prost(enumeration = "Nigmhoebfgl", tag = "8")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppmpbpegaik {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub gaaeoegcpoe: ::prost::alloc::vec::Vec<Ijklfhfelfo>,
    /// offset: 44
    #[prost(bool, tag = "4")]
    pub elbhkgcfing: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub beeihefipkd: ::prost::alloc::vec::Vec<Ipnikaepabj>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub kgmibjlpoah: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deihmlogjkn {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub becijngiiji: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bhaogkcigcd {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub pmnipfanfeg: u32,
}
/// Obf: MPKIJDMFNBA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7757)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub mbnaiccnclp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub knngmnfdnng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggeogbilnhc {
    /// offset: 56
    #[prost(message, optional, tag = "6")]
    pub basic_info: ::core::option::Option<Fabloeelaoa>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub adkmpogojep: ::core::option::Option<Ppmpbpegaik>,
    /// offset: 64
    #[prost(message, optional, tag = "9")]
    pub mjdhcjpkcfo: ::core::option::Option<Deihmlogjkn>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub item_value: ::core::option::Option<Agfgepfjnif>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub iafbddipieb: ::core::option::Option<Bhaogkcigcd>,
    /// offset: 80
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<Dpljkfecimm>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub level: ::core::option::Option<Lhikigfiein>,
    /// offset: 48
    #[prost(message, optional, tag = "3")]
    pub mkiaknjlnjd: ::core::option::Option<Gafbndphgfl>,
}
/// Obf: MCFLFKCOJOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub oghlldfmjfp: ::core::option::Option<Ggeogbilnhc>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OAINAGEFHOE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7755)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterCsReq {}
/// Obf: OLHOCODHFJK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub oghlldfmjfp: ::core::option::Option<Ggeogbilnhc>,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: OHBDCMNDLMK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveCsReq {}
/// Obf: JJEJJMDHBFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7762)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
}
/// Obf: FDJKGBEINGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7726)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub eegajehgpeo: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jghhjjmdcmg: u32,
}
/// Obf: IHEFBBCMCKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7705)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: JAAJAPJLLDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7737)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub eegajehgpeo: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub gonibbbikme: u32,
}
/// Obf: BBOJOJOGOBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7769)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: NEAKFLJIDPN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7766)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLevelInfoUpdateScNotify {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub jffpjbaogeo: u32,
    /// offset: 48
    #[prost(enumeration = "Jnobimlefkh", tag = "2")]
    pub reason: i32,
    /// offset: 32
    #[prost(enumeration = "Nigmhoebfgl", tag = "6")]
    pub status: i32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub gkcknhjcfja: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub ejkhjffegie: ::prost::alloc::vec::Vec<Ojdkgajflgn>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub gonibbbikme: u32,
}
/// Obf: NACDOKEANGO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7779)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAreaUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub chombpagecg: ::prost::alloc::vec::Vec<Fghbhbdnpom>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kfjfgdlfeen {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pbalnaochlk: u32,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub bbpddfjoefl: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eaofhejdgee {
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub bbpddfjoefl: bool,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub kgkkgmddonp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aendeinnbin {
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub gegbpaflkmh: ::core::option::Option<Kfjfgdlfeen>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub npfdicbmffc: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub oghlldfmjfp: ::core::option::Option<Ggeogbilnhc>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub cjbnklcncja: ::core::option::Option<Eaofhejdgee>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcoligloodh {
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub jjekglhocdo: ::prost::alloc::vec::Vec<Fiplkmoighe>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub fhbbajbngbd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub hnhgcnafeme: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub lmonipjbmeh: ::prost::alloc::vec::Vec<Kneodpijffj>,
}
/// Obf: MDANCELIMEF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7734)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleFailSettleInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub clpjpjpmcfc: ::core::option::Option<Aendeinnbin>,
}
/// Obf: MHGFHOLIAFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleCsReq {}
/// Obf: FJJMKMPIODN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7720)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub podogbiohlo: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub clpjpjpmcfc: ::core::option::Option<Aendeinnbin>,
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub ilnfppfakja: ::core::option::Option<Mcoligloodh>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub knipbhgcila: ::core::option::Option<Joleaekgmbm>,
}
/// Obf: ELEOHFDKLLG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveCostUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
}
/// Obf: PEIIJJKLBDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7789)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: GBKNJNKMBOE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7776)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NIIDPFDADNA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7796)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Febjijjgicf {
    /// offset: 16
    #[prost(uint32, repeated, tag = "580")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub doekaoomjfj: u32,
    /// offset: 80
    #[prost(uint32, tag = "5")]
    pub kgmibjlpoah: u32,
    /// offset: 68
    #[prost(uint32, tag = "9")]
    pub laecaihcodg: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub jffpjbaogeo: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub jbmkojhghkj: u32,
    /// offset: 88
    #[prost(uint32, tag = "6")]
    pub ngiepmbgglk: u32,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub fklpelnalde: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "162")]
    pub gaaeoegcpoe: ::prost::alloc::vec::Vec<Ijklfhfelfo>,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub pcoajoeohom: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1853")]
    pub ndladogcbng: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub ejaimpegbki: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "396")]
    pub beeihefipkd: ::prost::alloc::vec::Vec<Ipnikaepabj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alhkdjcbnij {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1921")]
    pub ooooahmodmd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fghbhbdnpom {
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub imhnbpiodkm: ::core::option::Option<Alhkdjcbnij>,
    /// offset: 48
    #[prost(bool, tag = "13")]
    pub amdbamlniba: bool,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub record_info: ::core::option::Option<Febjijjgicf>,
    /// offset: 49
    #[prost(bool, tag = "6")]
    pub is_taken_reward: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub dinflldfbje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 50
    #[prost(bool, tag = "5")]
    pub lmgpfngondg: bool,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub bjmeclnampi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Glgdpmigcio {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub lmgpfngondg: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ijnjdgckgmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oeoopbhhbcj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub ndhdcpahdpo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhihmlhohif {
    /// offset: 32
    #[prost(uint32, repeated, tag = "13")]
    pub gbflaenngoh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub chombpagecg: ::prost::alloc::vec::Vec<Fghbhbdnpom>,
    /// offset: 72
    #[prost(message, repeated, tag = "2")]
    pub beeihefipkd: ::prost::alloc::vec::Vec<Mmolmkfpnci>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub story_info: ::core::option::Option<Oeoopbhhbcj>,
    /// offset: 56
    #[prost(message, repeated, tag = "12")]
    pub pmoedfflmig: ::prost::alloc::vec::Vec<Glgdpmigcio>,
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub bphfhopkoko: ::core::option::Option<Gfaolaffbek>,
    /// offset: 64
    #[prost(message, repeated, tag = "6")]
    pub npcimmbjmpb: ::prost::alloc::vec::Vec<Coopbllbokn>,
}
/// Obf: DPABIFFELMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub rogue_get_info: ::core::option::Option<Bhihmlhohif>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub oghlldfmjfp: ::core::option::Option<Ggeogbilnhc>,
}
/// Obf: FGNKBDHHLMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7714)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterDressInUnitCsReq {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub cchgdfjabdk: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub dice_slot_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub oecahpjcldk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7712)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkkmenoakhm {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HPKEJMIGMOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7756)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInUnitCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub efpeabngfod: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7708)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ongodldnacc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: ICDIMBDDLDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7752)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitCsReq {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub okllkamhepb: bool,
}
/// Obf: LFIKDBDIMFP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7782)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitScRsp {
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub okllkamhepb: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KCCDANNBIEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7701)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicAutoDressInMagicUnitChangeScNotify {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub okllkamhepb: bool,
}
/// Obf: JAPKKPNBGAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7750)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicScepterTakeOffUnitCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub efpeabngfod: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cchgdfjabdk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7786)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aaholjnebmi {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: NGOGCPFONMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7709)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub efpeabngfod: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IIGEIIAFPPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7785)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicUnitComposeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcmgdbieici {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub efpeabngfod: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7778)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jajkopfcdcm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfaolaffbek {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub pdoenlkaacc: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fmfiappmljp {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7799)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnfedgckfje {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub bphfhopkoko: ::core::option::Option<Gfaolaffbek>,
}
/// Obf: KKKMIFMAPOL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7742)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dnbjdlgiabh: u32,
}
/// Obf: LEPFNMNMJJL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub bphfhopkoko: ::core::option::Option<Gfaolaffbek>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: BLAOOEJKKMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7788)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataCsReq {}
/// Obf: OFJNNACEILL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7751)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub cjbnklcncja: ::core::option::Option<Eaofhejdgee>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub gegbpaflkmh: ::core::option::Option<Kfjfgdlfeen>,
}
/// Obf: APDMNIMHABF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7770)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicStoryInfoUpdateScNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jgnpknfcbic: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ighpikgfddl {
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub cjcnmflbnge: bool,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub eiphbnglhom: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fgcikjjdkhp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lcffffoamnj {
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub cjcnmflbnge: bool,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub fgcikjjdkhp: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub eiphbnglhom: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub mlidomamilb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aigedjigcab {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub mlidomamilb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub eiphbnglhom: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub cjcnmflbnge: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dimiphbilbc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub idhdpjakfad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub eiphbnglhom: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub dlkcgeagfkm: u32,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub cjcnmflbnge: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fmogpkhepjj {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub bopmmmnihhk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hhopdmhdndj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pkcleiepbkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cafmdkdnhkg {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub kodgkikcmpa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llmjgabjmnj {
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub cjcnmflbnge: bool,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub eiphbnglhom: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub idhdpjakfad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub egbpgllcchk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dgaofflahap {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub amgoelnffci: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub nnbmcelddek: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jagdcleaian: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cihnlbnfeic {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub maze_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akmehoonbam {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgkhdhbhiee {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mldggdbomjl: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub num: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub fhnjkajeeie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ijpelifclmj {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub djmchggbdpa: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Phcfiadjgmg {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub bopmmmnihhk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pofhcfjigki {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub fgcikjjdkhp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emcldegngna {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub eiphbnglhom: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub mlidomamilb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub cjcnmflbnge: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eofddejbfoc {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub maze_buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub aghiolcnild: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hmpcfdjmebh {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub mkboeleojkd: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub ejacgnoelnf: u32,
    /// offset: 32
    #[prost(enumeration = "Cgnhibnpifg", tag = "1")]
    pub inkbbaijahn: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhnhgcoloml {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub inmfijnaapf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub cjcnmflbnge: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub eiphbnglhom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldhfmknjbaj {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub onakcfalafk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jeleencnenj {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkajmijocbk {
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub akbckbpkhap: ::core::option::Option<Hmpcfdjmebh>,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub gpgheacipfj: u64,
    /// offset: 40
    #[prost(enumeration = "RogueModifierSourceType", tag = "3")]
    pub bnhcagblimi: i32,
    #[prost(oneof = "dkajmijocbk::Mgkehfmcbbp", tags = "803")]
    pub mgkehfmcbbp: ::core::option::Option<dkajmijocbk::Mgkehfmcbbp>,
}
/// Nested message and enum types in `DKAJMIJOCBK`.
pub mod dkajmijocbk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "803")]
        Dpghblobjee(super::Hhnhgcoloml),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okmcidbgaff {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub hmdmeaepbej: ::prost::alloc::vec::Vec<Dkajmijocbk>,
}
/// Obf: LCALANBEONG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5355)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierAddNotify {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub hgloncgpnpk: ::core::option::Option<Dkajmijocbk>,
}
/// Obf: AJKLCHLMHIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5375)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub pmcdfaaindl: u32,
}
/// Obf: GBNGBOFBKPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5338)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub abgedoehgcc: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pmcdfaaindl: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CMJJDGILMGC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5320)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierUpdateNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub hgloncgpnpk: ::core::option::Option<Dkajmijocbk>,
}
/// Obf: AGJEOBBHLCD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5326)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierDelNotify {
    /// offset: 24
    #[prost(uint64, tag = "10")]
    pub gpgheacipfj: u64,
}
/// Obf: NHKOJAFMBFH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5305)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueModifierStageStartNotify {
    /// offset: 24
    #[prost(enumeration = "RogueModifierSourceType", tag = "5")]
    pub bnhcagblimi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hblmiecmmih {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub ilkpkjgfcfn: ::core::option::Option<Pgnmjegnggc>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgpmogcfokj {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub aecaeliapam: ::core::option::Option<Fabloeelaoa>,
    #[prost(oneof = "kgpmogcfokj::Mgkehfmcbbp", tags = "1756")]
    pub mgkehfmcbbp: ::core::option::Option<kgpmogcfokj::Mgkehfmcbbp>,
}
/// Nested message and enum types in `KGPMOGCFOKJ`.
pub mod kgpmogcfokj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "1756")]
        Ofemlknachg(super::Beilaajlahk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mioplndgpdo {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub fnijfkkccbp: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ojadifknbki: u32,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub bbpddfjoefl: bool,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gjmepkjbeji: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oiiiebambdd {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub dlbjjliknie: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub bbpddfjoefl: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fkakbjoamfn: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub hboemnbcebi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lebelgofbla {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub lpbaahcieai: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub hbaclfigknj: u32,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub bbpddfjoefl: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gkddelfkojj {
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub bbpddfjoefl: bool,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub hbaclfigknj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cdmjlliijii {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub hokahbjonnc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Beilaajlahk {
    /// offset: 96
    #[prost(message, optional, tag = "5")]
    pub jipdgnbnhnj: ::core::option::Option<Hpfmlknmppn>,
    /// offset: 80
    #[prost(message, optional, tag = "15")]
    pub icfgnncmcae: ::core::option::Option<Ojbdnjegcom>,
    /// offset: 48
    #[prost(message, optional, tag = "6")]
    pub bokbehbfpkm: ::core::option::Option<Cdmjlliijii>,
    /// offset: 56
    #[prost(message, optional, tag = "14")]
    pub dojefknefll: ::core::option::Option<Ggkpdmgpmfl>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub item_value: ::core::option::Option<Agfgepfjnif>,
    /// offset: 72
    #[prost(message, optional, tag = "7")]
    pub level: ::core::option::Option<Ndmahegbpil>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Dpljkfecimm>,
    /// offset: 104
    #[prost(message, optional, tag = "9")]
    pub mjdhcjpkcfo: ::core::option::Option<Bheionpmkmb>,
    /// offset: 88
    #[prost(message, optional, tag = "4")]
    pub kgpfakcbmke: ::core::option::Option<Daajhfncjpf>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub mkiaknjlnjd: ::core::option::Option<Gafbndphgfl>,
    /// offset: 64
    #[prost(message, optional, tag = "2")]
    pub mdpoljlhpjd: ::core::option::Option<Knhajcdeehb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndmahegbpil {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ejkhjffegie: ::prost::alloc::vec::Vec<Fbfddjgknhi>,
    /// offset: 44
    #[prost(enumeration = "RogueTournLevelStatus", tag = "8")]
    pub status: i32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub gjmjjbedihj: bool,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub gonibbbikme: u32,
    /// offset: 40
    #[prost(enumeration = "Mpbgbdbdgci", tag = "9")]
    pub reason: i32,
    /// offset: 33
    #[prost(bool, tag = "10")]
    pub ajdnimjehha: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ojbdnjegcom {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ifoffglaikp: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dobohpkjfdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bheionpmkmb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub becijngiiji: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbfddjgknhi {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub lgejgncmfob: u32,
    /// offset: 44
    #[prost(enumeration = "Olbifkchgae", tag = "8")]
    pub status: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub jghhjjmdcmg: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub ljmglfgpfop: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub hfmgablncgn: ::prost::alloc::vec::Vec<Nnokjbeipld>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nnokjbeipld {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub kgennogjnea: u32,
    /// offset: 36
    #[prost(enumeration = "Aibafmnejnd", tag = "7")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub licnpjeckhg: u32,
}
/// Obf: HFLLGPDOJII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6093)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartCsReq {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub gjmjjbedihj: bool,
    /// offset: 33
    #[prost(bool, tag = "8")]
    pub ajdnimjehha: bool,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DOJPDNJCMDH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6070)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub oghlldfmjfp: ::core::option::Option<Kgpmogcfokj>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub oinciinbpnm: u32,
}
/// Obf: NINBILDPAOM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6024)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterCsReq {}
/// Obf: JEAIICBGCIG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6030)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub oghlldfmjfp: ::core::option::Option<Kgpmogcfokj>,
}
/// Obf: PBGJCHPEEPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6047)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveCsReq {}
/// Obf: JHEHOPBIIMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6085)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
}
/// Obf: LCJAAKICLIL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6036)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournSettleCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igelbccjgpe {
    /// offset: 48
    #[prost(message, optional, tag = "7")]
    pub npfdicbmffc: ::core::option::Option<LineupInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub oghlldfmjfp: ::core::option::Option<Kgpmogcfokj>,
    /// offset: 64
    #[prost(message, optional, tag = "15")]
    pub gegbpaflkmh: ::core::option::Option<Oiiiebambdd>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub oicfonpjmae: ::core::option::Option<Gkddelfkojj>,
    /// offset: 72
    #[prost(message, optional, tag = "4")]
    pub inofbepiajo: ::core::option::Option<Lebelgofbla>,
    /// offset: 56
    #[prost(message, optional, tag = "9")]
    pub ppdfdhnkmaf: ::core::option::Option<Mioplndgpdo>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub bdlpgodfmkh: ::core::option::Option<Pkafhcdlmni>,
}
/// Obf: ACCLAPPBDLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6055)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSettleScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub clpjpjpmcfc: ::core::option::Option<Igelbccjgpe>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JGGPAKLDEAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6026)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub jghhjjmdcmg: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub eegajehgpeo: u32,
}
/// Obf: LFIPLIBBLBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
}
/// Obf: APFHPCHJNOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6089)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerCsReq {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub gonibbbikme: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub eegajehgpeo: u32,
}
/// Obf: FLBAKGMKILA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CFJEOEMJOGP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6081)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLevelInfoUpdateScNotify {
    /// offset: 36
    #[prost(enumeration = "RogueTournLevelStatus", tag = "15")]
    pub status: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub ejkhjffegie: ::prost::alloc::vec::Vec<Fbfddjgknhi>,
    /// offset: 32
    #[prost(enumeration = "Mpbgbdbdgci", tag = "12")]
    pub reason: i32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub gonibbbikme: u32,
}
/// Obf: GDCBOCDMBGL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6048)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub pimacmlljeb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub aehmbnmikip: u32,
}
/// Obf: AEKDLNDNNAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6096)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub klgaphajnia: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: ADKBOFNAKFE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6098)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournExpNotify {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub exp: u32,
}
/// Obf: DOCBIDDCJGK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6038)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aalgbpicfhl {
    /// offset: 31
    #[prost(bool, tag = "9")]
    pub is_taken_reward: bool,
    /// offset: 29
    #[prost(bool, tag = "2")]
    pub mafopgdpmgd: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
    /// offset: 30
    #[prost(bool, tag = "12")]
    pub lmgpfngondg: bool,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub amdbamlniba: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gcokcegdmcf {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub npjdipmdnaj: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub pebjajjoeen: bool,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub oinciinbpnm: u32,
    /// offset: 24
    #[prost(int64, tag = "15")]
    pub end_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnddgnibnfi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub klgaphajnia: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndkhbfejmhl {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub gbjdboichpo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Difemekdnhf {
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub lmgpfngondg: bool,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ijnjdgckgmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhofidaokof {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub aehmbnmikip: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub jcjcnjbmeep: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpopngnaifm {
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub pjdmfgjnjgi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub ggmmjbeccal: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "5")]
    pub fonhodhfckc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "10")]
    pub ccejjnjcpgf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub idoagdjeehl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub egamehppoij: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub fkonighkegj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pkafhcdlmni {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub khphkfmgoaa: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub dagoheohklh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejmhaibcefp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub onnkhggcfip: ::core::option::Option<Gnddgnibnfi>,
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub palhnmfjeag: ::core::option::Option<Ndkhbfejmhl>,
    /// offset: 72
    #[prost(message, optional, tag = "11")]
    pub icnnanhkllk: ::core::option::Option<Nhofidaokof>,
    /// offset: 64
    #[prost(message, repeated, tag = "9")]
    pub chombpagecg: ::prost::alloc::vec::Vec<Aalgbpicfhl>,
    /// offset: 96
    #[prost(message, optional, tag = "15")]
    pub lbpbikgpmdh: ::core::option::Option<Fmkadnpgemj>,
    /// offset: 56
    #[prost(message, optional, tag = "8")]
    pub docibimbnfb: ::core::option::Option<Pkafhcdlmni>,
    /// offset: 80
    #[prost(message, repeated, tag = "14")]
    pub pmoedfflmig: ::prost::alloc::vec::Vec<Difemekdnhf>,
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub bpdceheoccj: ::core::option::Option<Gcokcegdmcf>,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub gpimilicpom: ::prost::alloc::vec::Vec<Eddleahhbgb>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub jgaecdgfmha: ::core::option::Option<Cpopngnaifm>,
}
/// Obf: EDOPGLHPNAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6061)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournQueryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub rogue_get_info: ::core::option::Option<Ejmhaibcefp>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub oghlldfmjfp: ::core::option::Option<Kgpmogcfokj>,
}
/// Obf: HAHIKPBJJCG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6023)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournAreaUpdateScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub chombpagecg: ::prost::alloc::vec::Vec<Aalgbpicfhl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eddleahhbgb {
    /// offset: 48
    #[prost(message, optional, tag = "7")]
    pub icnnanhkllk: ::core::option::Option<Nhofidaokof>,
    /// offset: 56
    #[prost(int64, tag = "13")]
    pub time: i64,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<Iakgmhhfopf>,
    /// offset: 72
    #[prost(int64, tag = "6")]
    pub end_time: i64,
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub figigjnngdi: u32,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub oghlldfmjfp: ::core::option::Option<Kgpmogcfokj>,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iakgmhhfopf {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub item_value: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub mbllphepncb: ::prost::alloc::vec::Vec<Nkmghefahek>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<Lodjibbfpgb>,
}
/// Obf: BNGKLALJCBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6045)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveCsReq {}
/// Obf: JMBGKOILLNI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6058)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub kjnjodndfff: ::prost::alloc::vec::Vec<Eddleahhbgb>,
}
/// Obf: LLMDBIELMLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6044)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub figigjnngdi: u32,
}
/// Obf: NMDOBEDMOJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6015)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteArchiveScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub figigjnngdi: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: IEOPFIALIJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6087)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveCsReq {
    /// offset: 24
    #[prost(string, tag = "7")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub figigjnngdi: u32,
}
/// Obf: GENPIPKHGOP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6018)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameArchiveScRsp {
    /// offset: 16
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub figigjnngdi: u32,
}
/// Obf: GPKMONGBMDH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6022)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournClearArchiveNameScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub figigjnngdi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nidiggcnpbf {
    /// offset: 56
    #[prost(message, repeated, tag = "13")]
    pub meoddifdobc: ::prost::alloc::vec::Vec<Modmohnjlcf>,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub jcjcnjbmeep: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub bgadgginplf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub nignapkclcg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub ehckibjcimo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub aehmbnmikip: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub gidlnpecfhg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Modmohnjlcf {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub figigjnngdi: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub obbmpaphgcn: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub bhamkfflhik: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub lhegbogeajd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gchdeijbdee {
    /// offset: 48
    #[prost(int64, tag = "15")]
    pub time: i64,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub hclinmfbnha: ::core::option::Option<Nidiggcnpbf>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub figigjnngdi: u32,
    /// offset: 16
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: EJJBHLHHAGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6032)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllBuildRefCsReq {}
/// Obf: BDGBFOFLMJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6067)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllBuildRefScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub clgapcihadl: ::prost::alloc::vec::Vec<Gchdeijbdee>,
}
/// Obf: FMJAECHMHKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6056)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteBuildRefCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CGJCJPNAGIE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6050)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournDeleteBuildRefScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub balkikdcbfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: IJCJAMHBPJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSaveBuildRefCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub hclinmfbnha: ::core::option::Option<Nidiggcnpbf>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub figigjnngdi: u32,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: LDIGAHLIALI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6054)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSaveBuildRefScRsp {
    /// offset: 16
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub figigjnngdi: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: MLKEKBCFHLI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6100)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RougeTournRenameBuildRefCsReq {
    /// offset: 16
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub figigjnngdi: u32,
}
/// Obf: CEAGEOKDEPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6071)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournRenameBuildRefScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub figigjnngdi: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: FGEBBBIKFOB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6095)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoCsReq {}
/// Obf: NPEDAJBADGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6021)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub palhnmfjeag: ::core::option::Option<Ndkhbfejmhl>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: PJDDNAKMAKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6080)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dnbjdlgiabh: u32,
}
/// Obf: LAOMLFFAIJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6092)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub palhnmfjeag: ::core::option::Option<Ndkhbfejmhl>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: MJHEBNJANIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentCsReq {}
/// Obf: POIMMJMHKIP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6086)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub palhnmfjeag: ::core::option::Option<Ndkhbfejmhl>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: HCFFOHEECMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6014)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneCsReq {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub difficulty_level: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ihiafplipek: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Hjcoijleogb>,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub nppjcfodifb: bool,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub oidmcdgcgpc: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub fdlphnbmlme: u32,
}
/// Obf: BKOFIIHBEAK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
}
/// Obf: DGAIGCGALOE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6042)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneCsReq {}
/// Obf: CFFENGFJOGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6031)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
}
/// Obf: LONCPIAOLMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6040)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageCsReq {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub nppjcfodifb: bool,
}
/// Obf: BLPMEEJDGAL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6072)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: NHBDFEAHPOF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6016)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoCsReq {}
/// Obf: LKODPOKPJAD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6084)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoScRsp {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub difficulty_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub oidmcdgcgpc: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fdlphnbmlme: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ihiafplipek: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6034)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iphdedmpjid {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub hjmhnfhfoaa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dkjnkocekcm {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub njefcjmhobo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gidkjonplmg {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub njefcjmhobo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lpmgefhlihi {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldkilkokfae {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mepbdakooll {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub nmljdnhofpk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dlccencecoh {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub difmgoajfbe: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub fapcjhcoppk: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cpopcefbkfi: u32,
}
/// Obf: OKOHLAEBLBF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6099)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournHandBookNotify {
    #[prost(
        oneof = "rogue_tourn_hand_book_notify::Mgkehfmcbbp",
        tags = "12, 8, 3, 10, 14, 15"
    )]
    pub mgkehfmcbbp: ::core::option::Option<rogue_tourn_hand_book_notify::Mgkehfmcbbp>,
}
/// Nested message and enum types in `RogueTournHandBookNotify`.
pub mod rogue_tourn_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "12")]
        Eodojkjhocg(super::Dkjnkocekcm),
        /// offset: 24
        #[prost(message, tag = "8")]
        Mdhljnkbbgm(super::Gidkjonplmg),
        /// offset: 24
        #[prost(message, tag = "3")]
        Kgpfakcbmke(super::Lpmgefhlihi),
        /// offset: 24
        #[prost(message, tag = "10")]
        Mhllajgieek(super::Ldkilkokfae),
        /// offset: 24
        #[prost(message, tag = "14")]
        Jipdgnbnhnj(super::Mepbdakooll),
        /// offset: 24
        #[prost(message, tag = "15")]
        Dojefknefll(super::Dlccencecoh),
    }
}
/// Obf: MHJAAFOGBKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6025)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
}
/// Obf: KKNFLEAJMBF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6060)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub clpjpjpmcfc: ::core::option::Option<Igelbccjgpe>,
}
/// Obf: MAEGNNIKLBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6065)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub figigjnngdi: u32,
    /// offset: 16
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: FKIKEKGOAJO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6013)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub iceikglmcfh: ::core::option::Option<Eddleahhbgb>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub podogbiohlo: ::core::option::Option<ItemList>,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lmghnhjhghm: ::core::option::Option<ItemList>,
}
/// Obf: ABEONGCGGPL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6053)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournWeekChallengeUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub bpdceheoccj: ::core::option::Option<Gcokcegdmcf>,
}
/// Obf: EFEBBFPEHEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6083)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataCsReq {}
/// Obf: JKCDIOOBLJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6078)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub bdlpgodfmkh: ::core::option::Option<Pkafhcdlmni>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub oicfonpjmae: ::core::option::Option<Gkddelfkojj>,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub inofbepiajo: ::core::option::Option<Lebelgofbla>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ppdfdhnkmaf: ::core::option::Option<Mioplndgpdo>,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub gegbpaflkmh: ::core::option::Option<Oiiiebambdd>,
}
/// Obf: LLPEDALLKIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6079)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryCsReq {}
/// Obf: INGDCFHCANK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6062)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub npflfmebgna: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ollnjhcekba: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KGBCJENFAIN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6068)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveCostUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
}
/// Obf: ENJLKMNMGFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6076)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarCsReq {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub base_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PBOPECIODGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6019)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub hgbkddgbpia: ::core::option::Option<ItemCostData>,
}
/// Obf: BHGDDHIPNJE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6090)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournBattleFailSettleInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub clpjpjpmcfc: ::core::option::Option<Igelbccjgpe>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub knipbhgcila: ::core::option::Option<Hblmiecmmih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmkadnpgemj {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub talent_info: ::core::option::Option<Nadadmgjlbb>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ekpkklcackc: u32,
}
/// Obf: KJDGJDONIFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6091)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoCsReq {}
/// Obf: DPHJEIGLNLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6082)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub lbpbikgpmdh: ::core::option::Option<Fmkadnpgemj>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: GIHBALOFGOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6012)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub dnbjdlgiabh: u32,
}
/// Obf: JGIECMNEMAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6051)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lbpbikgpmdh: ::core::option::Option<Fmkadnpgemj>,
}
/// Obf: CPDAJGKDJBH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6066)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournTitanUpdateTitanBlessProgressScNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub eajhhphlfdh: u32,
}
/// Obf: KCEKFMMFAOB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6063)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournUseSuperRewardKeyCsReq {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub difficulty_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cocoon_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub count: u32,
}
/// Obf: JIAGPAMONIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6049)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournUseSuperRewardKeyScRsp {
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub dnkiomaieaa: ::core::option::Option<Jjeacnjpogm>,
}
/// Obf: MNKMMNEIAOI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6910)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub roll_shop_id: u32,
}
/// Obf: BKOPGOGCNIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6904)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRollShopInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub roll_shop_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub gacha_random: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub shop_group_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KNCJKAOJLAO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6906)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopCsReq {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub roll_shop_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub gacha_random: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gacha_count: u32,
}
/// Obf: OHMKBEAMDOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6901)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub roll_shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub bocjnjccbne: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub reward_display_type: u32,
}
/// Obf: PHKIAJMONKB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6912)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub roll_shop_id: u32,
}
/// Obf: TakeRollShopRewardScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6911)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub group_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub roll_shop_id: u32,
}
/// Obf: GCHBPLFMKBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneActorInfo {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub map_layer: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcMonsterRogueInfo {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub lnpfdjfkcpk: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub elite_group: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub hard_level_group: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub pohhhachhgh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcMonsterExtraInfo {
    #[prost(oneof = "npc_monster_extra_info::Mgkehfmcbbp", tags = "11")]
    pub mgkehfmcbbp: ::core::option::Option<npc_monster_extra_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `NpcMonsterExtraInfo`.
pub mod npc_monster_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "11")]
        RogueInfo(super::NpcMonsterRogueInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ioiabhpachn {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub gncdbhjhfdh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
}
/// Obf: GDCFCGAMNCF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcMonsterInfo {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 44
    #[prost(bool, tag = "14")]
    pub fcffojhhccm: bool,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub extra_info: ::core::option::Option<NpcMonsterExtraInfo>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
    /// offset: 45
    #[prost(bool, tag = "7")]
    pub bonknjkgoln: bool,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub mbjlcmdhdhj: ::core::option::Option<Ioiabhpachn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcDialogueEventParam {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub arg_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcRogueGameInfo {
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub dcmfiogmeki: bool,
    /// offset: 34
    #[prost(bool, tag = "7")]
    pub ahgdalkkmpf: bool,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "6")]
    pub mceoinlnhno: ::std::collections::HashMap<u32, u32>,
    /// offset: 33
    #[prost(bool, tag = "15")]
    pub jmffbhcceoh: bool,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub mjaiklonmhl: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub ppnbckgajgb: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub akcfognelle: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kohjommgmii {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub adeahbnoloo: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub visitor_id: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub is_meet: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mpoebpphhpf {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub joambacheoc: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ggipifkhpdf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcExtraInfo {
    #[prost(oneof = "npc_extra_info::Mgkehfmcbbp", tags = "15, 8, 3")]
    pub mgkehfmcbbp: ::core::option::Option<npc_extra_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `NpcExtraInfo`.
pub mod npc_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "15")]
        RogueInfo(super::NpcRogueGameInfo),
        /// offset: 16
        #[prost(message, tag = "8")]
        Dplnaphcjae(super::Kohjommgmii),
        /// offset: 16
        #[prost(message, tag = "3")]
        Peigepoffoe(super::Mpoebpphhpf),
    }
}
/// Obf: PCGOFCAHLAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcInfo {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub npc_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub extra_info: ::core::option::Option<NpcExtraInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PropRogueInfo {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub kiiadjfphlc: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub room_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub abhfdlokmnj: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub cdlbkcbdnbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Geeoihhdhej {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pfjdonlbalp: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lopgfcfcage: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ahdgdbhoblh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PropChessRogueInfo {
    /// offset: 25
    #[prost(bool, tag = "7")]
    pub bjiaaflodpa: bool,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub ginfkgkilee: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueTournDoorInfo {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub kgennogjnea: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub ejddpkfbpgj: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gnjpolcegnl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RogueMagicDoorInfo {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub gnjpolcegnl: u32,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub ejddpkfbpgj: bool,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kgennogjnea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorkbenchFuncIdInfo {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub func_id: u32,
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub ibfljljlfdo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournWorkbenchInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub alakakoclbi: ::prost::alloc::vec::Vec<WorkbenchFuncIdInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fembaaemkak: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Coaplahfimo {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub gbicbmilhpg: ::core::option::Option<Lcffjhlpppd>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub ohodgfjppne: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mjadfilkanf {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub chest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropTimelineInfo {
    /// offset: 24
    #[prost(bytes = "vec", tag = "4")]
    pub timeline_byte_value: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub timeline_bool_value: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropExtraInfo {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub timeline_info: ::core::option::Option<PropTimelineInfo>,
    #[prost(oneof = "prop_extra_info::Mgkehfmcbbp", tags = "8, 1, 11, 3, 4, 7, 6, 2")]
    pub mgkehfmcbbp: ::core::option::Option<prop_extra_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `PropExtraInfo`.
pub mod prop_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "8")]
        RogueInfo(super::PropRogueInfo),
        /// offset: 16
        #[prost(message, tag = "1")]
        Hbofpmgikke(super::Geeoihhdhej),
        /// offset: 16
        #[prost(message, tag = "11")]
        Bllainhcleg(super::PropChessRogueInfo),
        /// offset: 16
        #[prost(message, tag = "3")]
        Gjgdlfgpfbp(super::RogueTournDoorInfo),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ifiddgfjioi(super::RogueTournWorkbenchInfo),
        /// offset: 16
        #[prost(message, tag = "7")]
        Iilioicapbk(super::Coaplahfimo),
        /// offset: 16
        #[prost(message, tag = "6")]
        Kmjbdigkeni(super::Mjadfilkanf),
        /// offset: 16
        #[prost(message, tag = "2")]
        Knkgmaeoegf(super::RogueMagicDoorInfo),
    }
}
/// Obf: NKDCMBDKGBC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePropInfo {
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub prop_id: u32,
    /// offset: 24
    #[prost(string, repeated, tag = "1")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub prop_state: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub life_time_ms: u32,
    /// offset: 40
    #[prost(uint64, tag = "14")]
    pub create_time_ms: u64,
}
/// Obf: HDIHCPBNJDF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneSummonUnitInfo {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub caster_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub attach_entity_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub summon_unit_id: u32,
    /// offset: 36
    #[prost(int32, tag = "8")]
    pub life_time_ms: i32,
    /// offset: 16
    #[prost(string, repeated, tag = "11")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(uint64, tag = "3")]
    pub create_time_ms: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityInfo {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub inst_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub entity_id: u32,
    #[prost(oneof = "scene_entity_info::Entity", tags = "1, 15, 8, 6, 14")]
    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)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Entity {
        /// offset: 32
        #[prost(message, tag = "1")]
        Actor(super::SceneActorInfo),
        /// offset: 32
        #[prost(message, tag = "15")]
        NpcMonster(super::SceneNpcMonsterInfo),
        /// offset: 32
        #[prost(message, tag = "8")]
        Npc(super::SceneNpcInfo),
        /// offset: 32
        #[prost(message, tag = "6")]
        Prop(super::ScenePropInfo),
        /// offset: 32
        #[prost(message, tag = "14")]
        SummonUnit(super::SceneSummonUnitInfo),
    }
}
/// Obf: HABAKGAMBJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuffInfo {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub count: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub buff_summon_entity_id: u32,
    /// offset: 48
    #[prost(uint64, tag = "14")]
    pub add_time_ms: u64,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub base_avatar_id: u32,
    /// offset: 36
    #[prost(float, tag = "11")]
    pub life_time: f32,
    /// offset: 16
    #[prost(map = "string, float", tag = "4")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BuffInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MechanismBarInfo {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub value: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub oaokjddcekc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomSaveData {
    /// offset: 24
    #[prost(string, tag = "5")]
    pub save_data: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kicponfhgfi {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hdgcjdhcmhb: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jhkpcnkpfed: u32,
}
/// Obf: POGAOOCBEAA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityGroupInfo {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub state: u32,
    /// offset: 16
    #[prost(map = "string, int32", tag = "10")]
    pub jjeeocobckc: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneGroupState {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub state: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub is_default: bool,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
/// Obf: NNIMFCFLLKE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionStatusBySceneInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub ljmbkfnfbpj: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "8")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "15")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aodghiifkfo {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub pkbleepcmjh: ::core::option::Option<Pdfkincinil>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub joffbhjkbea: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PCPKBKAMMII
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    /// offset: 132
    #[prost(uint32, tag = "1285")]
    pub dimension_id: u32,
    /// offset: 96
    #[prost(message, optional, tag = "85")]
    pub ciglpdgdjdf: ::core::option::Option<Aodghiifkfo>,
    /// offset: 56
    #[prost(message, repeated, tag = "7")]
    pub custom_data_list: ::prost::alloc::vec::Vec<CustomSaveData>,
    /// offset: 128
    #[prost(uint32, tag = "10")]
    pub client_pos_version: u32,
    /// offset: 124
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
    /// offset: 112
    #[prost(uint32, repeated, tag = "15")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 120
    #[prost(uint32, tag = "619")]
    pub game_story_line_id: u32,
    /// offset: 80
    #[prost(message, repeated, tag = "1637")]
    pub entity_group_list: ::prost::alloc::vec::Vec<SceneEntityGroupInfo>,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub scene_buff_info_list: ::prost::alloc::vec::Vec<BuffInfo>,
    /// offset: 140
    #[prost(uint32, tag = "2")]
    pub world_id: u32,
    /// offset: 152
    #[prost(uint32, tag = "9")]
    pub leader_entity_id: u32,
    /// offset: 24
    #[prost(map = "string, int32", tag = "1800")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1639")]
    pub opened_chests_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 156
    #[prost(uint32, tag = "13")]
    pub game_mode_type: u32,
    /// offset: 104
    #[prost(map = "uint32, message", tag = "6")]
    pub aodhoimibhk: ::std::collections::HashMap<u32, Kicponfhgfi>,
    /// offset: 136
    #[prost(uint32, tag = "1")]
    pub plane_id: u32,
    /// offset: 88
    #[prost(message, repeated, tag = "5")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    /// offset: 148
    #[prost(uint32, tag = "1570")]
    pub content_id: u32,
    /// offset: 144
    #[prost(uint32, tag = "12")]
    pub floor_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "894")]
    pub scene_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    /// offset: 72
    #[prost(message, repeated, tag = "8")]
    pub entity_buff_info_list: ::prost::alloc::vec::Vec<EntityBuffInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "1871")]
    pub group_state_list: ::prost::alloc::vec::Vec<SceneGroupState>,
}
/// Obf: KDEOBPNNIGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityMotion {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub map_layer: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub kcdabafaoof: bool,
}
/// CmdId: 1457
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveCsReq {
    /// offset: 32
    #[prost(uint64, tag = "10")]
    pub kkjedpdinbk: u64,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub entry_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
/// Obf: DAEAKGFJGGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: JJKPIDNDJIC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1437)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScNotify {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub client_pos_version: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub entity_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1469)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneUpdatePositionVersionNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pos_version: u32,
}
/// Obf: AEIFEEHKFIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1455)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractPropCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub interact_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub prop_entity_id: u32,
}
/// Obf: MICCOPGLLBK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1475)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractPropScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub prop_state: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: OGJGIHNMHBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1426)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoCsReq {
    /// offset: 32
    #[prost(uint64, tag = "6")]
    pub uuid: u64,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub prop_entity_id: u32,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub is_close_map: bool,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub timeline_info: ::core::option::Option<PropTimelineInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1405)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangePropTimelineInfoScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub prop_entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HitMonsterBattleInfo {
    /// offset: 28
    #[prost(enumeration = "MonsterBattleType", tag = "7")]
    pub monster_battle_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub target_monster_entity_id: u32,
}
/// Obf: NDBIFFHJNIO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DynamicValues {
    /// offset: 16
    #[prost(string, tag = "4")]
    pub key: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(float, tag = "13")]
    pub value: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssistMonsterEntityInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BJCEJFPJGLM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1438)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub dynamic_values: ::prost::alloc::vec::Vec<DynamicValues>,
    /// offset: 84
    #[prost(uint32, tag = "10")]
    pub skill_index: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(string, tag = "7")]
    pub maze_ability_str: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(enumeration = "SkillExtraTag", repeated, tag = "11")]
    pub skill_extra_tags: ::prost::alloc::vec::Vec<i32>,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub assist_monster_entity_info: ::prost::alloc::vec::Vec<AssistMonsterEntityInfo>,
    /// offset: 64
    #[prost(message, optional, tag = "9")]
    pub target_motion: ::core::option::Option<MotionInfo>,
    /// offset: 92
    #[prost(uint32, tag = "1")]
    pub attacked_by_entity_id: u32,
    /// offset: 80
    #[prost(uint32, tag = "12")]
    pub cast_entity_id: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "4")]
    pub hit_target_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub bgbfpchaoil: u32,
}
/// Obf: PPHDDDPKEBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1462)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub cast_entity_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub monster_battle_info: ::prost::alloc::vec::Vec<HitMonsterBattleInfo>,
}
/// Obf: JLOAKLCKFBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1479)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpCsReq {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub attacked_by_entity_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub skill_index: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cast_entity_id: u32,
}
/// Obf: NOOHAJOJJPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1445)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCostMpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub cast_entity_id: u32,
}
/// Obf: FFICPKAJFBD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneCastSkillMpUpdateScNotify {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub cast_entity_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub mp: u32,
}
/// Obf: GNEIPPDFNDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1480)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEnterStageCsReq {
    /// offset: 24
    #[prost(enumeration = "RebattleType", tag = "6")]
    pub rebattle_type: i32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub ckjgfoahpei: bool,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
/// Obf: OFGBOBAEFCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEnterStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: AEALBOCBIML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1414)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleCsReq {
    /// offset: 24
    #[prost(enumeration = "RebattleType", tag = "8")]
    pub rebattle_type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1412)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneReviveAfterRebattleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: PNLGLEJLHAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1447)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoCsReq {}
/// Obf: JECAEIDIODA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1420)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: IAGFGICEDAE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffChangeInfo {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub entity_id: u32,
    /// offset: 44
    #[prost(enumeration = "SceneEntityBuffChangeType", tag = "7")]
    pub reason: i32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub cast_entity_id: u32,
    #[prost(oneof = "entity_buff_change_info::Mgkehfmcbbp", tags = "13, 4")]
    pub mgkehfmcbbp: ::core::option::Option<entity_buff_change_info::Mgkehfmcbbp>,
}
/// Nested message and enum types in `EntityBuffChangeInfo`.
pub mod entity_buff_change_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "13")]
        BuffChangeInfo(super::BuffInfo),
        /// offset: 24
        #[prost(uint32, tag = "4")]
        RemoveBuffId(u32),
    }
}
/// Obf: OKKPFLKMNJO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1466)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncEntityBuffChangeListScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub entity_buff_change_list: ::prost::alloc::vec::Vec<EntityBuffChangeInfo>,
}
/// Obf: HJIELBBEPCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1434)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpringRefreshCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub prop_entity_id: u32,
}
/// Obf: DEOIGKCEKFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpringRefreshScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1489)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LastSpringRefreshTimeNotify {
    /// offset: 24
    #[prost(int64, tag = "8")]
    pub fahccefgdna: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReturnLastTownCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1496)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReturnLastTownScRsp {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: IMGGCIKLGAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1450)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSectionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub section_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1486)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSectionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1409)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kegjekckbog {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub chest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub entity_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1478)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurInteractEntityScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1413)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1499)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RecoverAllLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1442)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SavePointsInfoNotify {
    /// offset: 32
    #[prost(int64, tag = "10")]
    pub refresh_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub valid_times: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldcbmekaahd {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub gnpopnlejic: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub nednkjabfmd: u32,
}
/// Obf: DBLKJGJHJLF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1416)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartCocoonStageCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cocoon_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub ihiafplipek: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub dmmlkenledi: ::core::option::Option<Ldcbmekaahd>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub prop_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub wave: u32,
}
/// Obf: StartCocoonStageScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub challenge_cnt: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub wave: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub cocoon_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityBindPropCsReq {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub mfmccfmbona: bool,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1488)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EntityBindPropScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1451)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientPausedCsReq {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub paused: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1456)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetClientPausedScRsp {
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub paused: bool,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: HEDLCIJLOAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1470)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub entity_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1401)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeactivateFarmElementScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
}
/// Obf: KBKAHGCMFFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1441)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActiveFarmElementCsReq {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub entity_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ihiafplipek: u32,
}
/// Obf: KGLGOKBAGPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1432)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ActiveFarmElementScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarPresetHp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub bcahokmhade: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpringRecoverConfig {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub fhihdcoefjj: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub nckfhlafdme: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub gelijopkbhd: ::prost::alloc::vec::Vec<AvatarPresetHp>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1497)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateMechanismBarScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub mfangeojhbi: ::core::option::Option<MechanismBarInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub entry_id: u32,
    /// offset: 24
    #[prost(string, tag = "12")]
    pub save_data: ::prost::alloc::string::String,
}
/// Obf: LNGCFPJEKNG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1491)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetGroupCustomSaveDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HONOFCPKFKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
}
/// Obf: IKPOPMGFAHN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1468)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
}
/// Obf: KIIDAHNLONN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1443)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
}
/// Obf: KAGGHHLIOPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SceneEntityTeleportScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub client_pos_version: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
}
/// Obf: FPCHFBAGNFJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1474)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSceneCsReq {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub game_story_line_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub rot: ::core::option::Option<Vector>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ndlcinefpfj: ::core::option::Option<Vector>,
    /// offset: 46
    #[prost(bool, tag = "13")]
    pub bjmpmhedmll: bool,
    /// offset: 45
    #[prost(bool, tag = "10")]
    pub is_close_map: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub entry_id: u32,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub ehhbijpmlgm: bool,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub teleport_id: u32,
}
/// Obf: NCPMBKAKOFN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1487)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSceneScRsp {
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub is_over_map: bool,
    /// offset: 33
    #[prost(bool, tag = "7")]
    pub is_close_map: bool,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub content_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub game_story_line_id: u32,
}
/// Obf: EPFGGCKDNLA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1424)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneByServerScNotify {
    /// offset: 40
    #[prost(enumeration = "EnterSceneReason", tag = "3")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: BENEGPNFJGM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1403)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePlaneEventScNotify {
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub joiajdkdglh: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub hkbhjifmndn: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ildfojclenm: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub aicbbnlopfe: ::core::option::Option<ItemList>,
}
/// Obf: OJNPDOBDMDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1435)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoCsReq {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub unk1: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub floor_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub entry_story_line_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazePropState {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub config_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub state: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeGroup {
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub is_need_refresh: bool,
    /// offset: 16
    #[prost(map = "string, int32", tag = "6")]
    pub property_map: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub destory_monster_config_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(int64, tag = "8")]
    pub modify_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChestInfo {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub opened_num: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub exist_num: u32,
    /// offset: 24
    #[prost(enumeration = "ChestType", tag = "13")]
    pub chest_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hahopepnbfo {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub admepillgpp: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub aliibjpmobb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMapInfo {
    /// offset: 56
    #[prost(uint32, repeated, tag = "11")]
    pub unlock_teleport_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "5")]
    pub chest_monster_num: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "3")]
    pub chest_monster_list: ::prost::alloc::vec::Vec<Hahopepnbfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub chest_list: ::prost::alloc::vec::Vec<ChestInfo>,
    /// offset: 92
    #[prost(uint32, tag = "12")]
    pub floor_id: u32,
    /// offset: 72
    #[prost(map = "string, int32", tag = "13")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    /// offset: 88
    #[prost(uint32, tag = "9")]
    pub dimension_id: u32,
    /// offset: 100
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1847")]
    pub client_group_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    /// offset: 80
    #[prost(message, repeated, tag = "6")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazePropState>,
    /// offset: 104
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
}
/// Obf: GetSceneMapInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1404)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoScRsp {
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub is_monster_track: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub storyline_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub scene_map_info: ::prost::alloc::vec::Vec<SceneMapInfo>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub content_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1473)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SyncServerSceneChangeNotify {}
/// Obf: AIFBDHOGLAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1440)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CounterDownCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub fnnccnnpael: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ifmahdamedn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1500)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ocjkfmhlfkg {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1461)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nhfdglocjal {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub jhkpcnkpfed: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ifmahdamedn: u32,
    /// offset: 24
    #[prost(enumeration = "GameplayCounterUpdateReason", tag = "6")]
    pub reason: i32,
}
/// Obf: KDEJNGIBGCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1439)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CounterRecoverCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub dhhegcfcfnf: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub ifmahdamedn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1465)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Joamgbaiaik {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: EJOGHLKCAAM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1446)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFloorSavedValueNotify {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub floor_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    /// offset: 24
    #[prost(map = "string, int32", tag = "3")]
    pub cgbhdphapma: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dimension_id: u32,
}
/// Obf: BEMCAMMCAOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1490)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DCPKJNOBBDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1444)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUnlockTeleportScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: BMGKGGBMOOG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenChestScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub chest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityRefreshInfo {
    #[prost(oneof = "scene_entity_refresh_info::RefreshType", tags = "14, 13, 7")]
    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)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum RefreshType {
        /// offset: 16
        #[prost(message, tag = "14")]
        AddEntity(super::SceneEntityInfo),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Mcljhbmblon(u32),
        /// offset: 16
        #[prost(uint32, tag = "7")]
        DeleteEntity(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdbadloejmp {
    /// offset: 36
    #[prost(int32, tag = "11")]
    pub bninlhokico: i32,
    /// offset: 32
    #[prost(int32, tag = "9")]
    pub jipgmbmbdfk: i32,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub gcjkidibjhj: ::prost::alloc::string::String,
}
/// Obf: MNDFFKCNLDD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupRefreshInfo {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 52
    #[prost(enumeration = "SceneGroupRefreshType", tag = "9")]
    pub refresh_type: i32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub state: u32,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub eeoicfjmooe: ::core::option::Option<SceneEntityGroupInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub mpdegpamiei: ::prost::alloc::vec::Vec<Mdbadloejmp>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub refresh_entity: ::prost::alloc::vec::Vec<SceneEntityRefreshInfo>,
}
/// Obf: EHNCOPNOMHC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1453)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshScNotify {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub floor_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub dimension_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub group_refresh_list: ::prost::alloc::vec::Vec<GroupRefreshInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateInfo {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ebjfaeeocdp: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub group_state: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub entry_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Obf: MEEJJENIPBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1463)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1429)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1410)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GroupStateChangeScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Obf: BJDNKPEDOKN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnteredSceneInfo {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub plane_id: u32,
}
/// Obf: GJFDJDKJOIH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1425)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneCsReq {}
/// Obf: GPFLNBPLHDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub entered_scene_info_list: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: KHHFDBJAFOB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1494)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnteredSceneChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub entered_scene_info_list: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: KHPCNFFBABM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerEntityListReq {
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub trigger_entity_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub trigger_motion: ::core::option::Option<MotionInfo>,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub trigger_name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, repeated, tag = "14")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FBLDLLNMKPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1449)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScRsp {
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub refresh_trigger: bool,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub trigger_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "1")]
    pub trigger_name: ::prost::alloc::string::String,
}
/// Obf: NPONNDMDHFC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1436)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefreshTriggerByClientScNotify {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub trigger_entity_id: u32,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub trigger_name: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NFLKODPMHNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1464)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1467)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSummonUnitScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1459)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockedAreaMapScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HBENLEKKNON
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1419)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTeleportNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub teleport_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub entry_id: u32,
}
/// Obf: AAPDPMAMDAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1454)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyCsReq {
    /// offset: 24
    #[prost(string, tag = "14")]
    pub gcjkidibjhj: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dimension_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub floor_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 36
    #[prost(int32, tag = "6")]
    pub kldpellobdj: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1407)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateGroupPropertyScRsp {
    /// offset: 16
    #[prost(string, tag = "4")]
    pub gcjkidibjhj: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    /// offset: 44
    #[prost(int32, tag = "6")]
    pub jipgmbmbdfk: i32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub dimension_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 36
    #[prost(int32, tag = "7")]
    pub bninlhokico: i32,
}
/// Obf: DEGNJPNBBPG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1423)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainWorldIdChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub knngjbpjfib: u32,
}
/// Obf: MJPBKBGHLMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1427)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetTrainWorldIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub knngjbpjfib: u32,
}
/// Obf: FNEGJCJGHDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1431)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetTrainWorldIdScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub knngjbpjfib: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerPrefs {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub server_prefs_id: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "4")]
    pub data: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: BIPBLADKDJE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Naaifbpjpdf {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub server_prefs_list: ::prost::alloc::vec::Vec<ServerPrefs>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub server_prefs_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetServerPrefsDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Obf: GHOHMANFAJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6162)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UpdateServerPrefsDataScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub server_prefs_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Shop {
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub shop_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub goods_list: ::prost::alloc::vec::Vec<Goods>,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub city_level: u32,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub begin_time: i64,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub city_exp: u32,
    /// offset: 64
    #[prost(uint64, tag = "5")]
    pub city_taken_level_reward: u64,
    /// offset: 32
    #[prost(int64, tag = "8")]
    pub end_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Goods {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub buy_times: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub goods_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
    /// offset: 40
    #[prost(int64, tag = "14")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub end_time: i64,
}
/// Obf: DFDPLLNLPMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1557)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetShopListCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub shop_type: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1528)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub shop_type: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub shop_list: ::prost::alloc::vec::Vec<Shop>,
}
/// Obf: EDDPIGHJPDO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub adhccjbpgeo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub shop_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub goods_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub goods_num: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub interacted_prop_entity_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1575)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub goods_buy_times: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub goods_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub shop_id: u32,
}
/// Obf: EJBHLBJOJJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1538)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub shop_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1562)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub shop_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1547)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CityShopInfoScNotify {
    /// offset: 32
    #[prost(uint64, tag = "1")]
    pub taken_level_reward: u64,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub shop_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijbjljimibi {
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
    /// offset: 52
    #[prost(bool, tag = "12")]
    pub mmijppnmgpo: bool,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub jnofkmojbhe: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub poimjdlhkki: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub kpmdieplhbi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cjgenfclbjn {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub kpmdieplhbi: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub cgmofcibigd: u32,
}
/// Obf: MBCKCHCJLJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooDataCsReq {}
/// Obf: DNFMIOMHKDE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDataScRsp {
    /// offset: 48
    #[prost(uint32, repeated, tag = "8")]
    pub cpldhjbefif: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub iomeeogkiop: u32,
    /// offset: 84
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "5")]
    pub apiapaoplkb: ::prost::alloc::vec::Vec<Cjgenfclbjn>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "12")]
    pub ddlgeofkbml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub abgmibllgmf: ::prost::alloc::vec::Vec<Ijbjljimibi>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "9")]
    pub cfcgolakkab: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub cialfhlohpj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub kopmdfciifg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FFLHFMDDHGK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6755)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub mllpjblcbdl: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub agjljjhbeoe: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LOBNHKKEOIH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub aignefnogkf: ::core::option::Option<Ijbjljimibi>,
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub mnoljlijcbc: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub kihnafohnkk: ::prost::alloc::vec::Vec<Cjgenfclbjn>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NGCAMNBCEEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateCsReq {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
}
/// Obf: PPJEDENMDPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6762)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateScRsp {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 44
    #[prost(bool, tag = "7")]
    pub mnoljlijcbc: bool,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub iddkcgnjecl: ::core::option::Option<Ijbjljimibi>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub kihnafohnkk: ::prost::alloc::vec::Vec<Cjgenfclbjn>,
}
/// Obf: OEMIJGKNHJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryCsReq {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bkalhopfihp: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub op_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub jaaagmlkkja: u32,
}
/// Obf: MDBKNEKFOHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6720)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooOpCatteryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub kopmdfciifg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OGENEBFGLJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6726)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub bcecilmlicp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HLEEICGIPGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6705)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDeleteCatScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub behfmjedinf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: ECDCNEJKKDC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6737)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooCatUpdateNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub cflmgcmlejd: ::prost::alloc::vec::Vec<Ijbjljimibi>,
    /// offset: 33
    #[prost(bool, tag = "4")]
    pub jgnkbgloegm: bool,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub mnoljlijcbc: bool,
}
/// Obf: LINFGGLAHHL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6769)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooExchangeItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6766)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Llbmojpbafn {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
/// Obf: EELCPJGLLFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6779)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub icmddhpkpid: u32,
}
/// Obf: GFOOGHKNFND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6745)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub icmddhpkpid: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ofjlnpojkbl {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub eeohoeonhoa: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub iomobgpndci: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub bopldjlilje: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub kfiobljebjk: bool,
}
/// Obf: ENGJIOCNAIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7170)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStarFightDataCsReq {}
/// Obf: KJMAPLANEMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7168)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStarFightDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub cimafkpglll: ::prost::alloc::vec::Vec<Ofjlnpojkbl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cdbkedcjbfk {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: NMKDIOIEIKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7164)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub ohahiifjjmi: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Cdbkedcjbfk>,
}
/// Obf: BIIOOOOHGBF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7165)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelScRsp {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ohahiifjjmi: u32,
}
/// Obf: IDCHLMPDIHF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7169)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StarFightDataChangeNotify {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ggchleacefc: ::core::option::Option<Ofjlnpojkbl>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Obf: MKJIHFFAAGL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6257)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6228)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStoryLineInfoScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub cur_story_line_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KPFMEBMDJGM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6255)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineInfoScNotify {
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub cur_story_line_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub bmcjjlafhlj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHAFMNALJPL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6262)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ChangeStoryLineFinishScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cur_story_line_id: u32,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub iocelddcboh: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ehkfbgidjpf: u32,
    /// offset: 28
    #[prost(enumeration = "ChangeStoryLineAction", tag = "7")]
    pub action: i32,
}
/// Obf: BONOHFJPJBE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StoryLineTrialAvatarChangeScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub lijacblempf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub clehbkealee: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub faobkbbkdod: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StrongChallengeAvatar {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nknmbkkakjd {
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pncgcefmlgg {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub jabmidfogjj: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub max_score: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub bmbganlmnop: ::core::option::Option<Nknmbkkakjd>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub panel_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpjhphdbkai {
    /// offset: 24
    #[prost(map = "uint32, message", tag = "11")]
    pub ggnnpdagone: ::std::collections::HashMap<u32, Pncgcefmlgg>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6657)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jaiiebgfhkm {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olkhafkmbnd {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub cildgkjgapd: ::core::option::Option<Hpjhphdbkai>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: BBLNMNGBGDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6655)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterActivityStrongChallengeCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JNFEKPKJMPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6675)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6638)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ejfabjgcacc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub total_damage: u32,
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub max_score: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub eamdaaacndc: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub jkemlphkdfn: u32,
    /// offset: 36
    #[prost(enumeration = "BattleEndStatus", tag = "7")]
    pub end_status: i32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub pnnlkpclfbm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nonkkolhoaa {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ohahiifjjmi: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub star: u32,
}
/// Obf: HKLBIJANBCM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7570)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataCsReq {}
/// Obf: NJPHAAODIBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7568)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub dfcfmhgldla: ::prost::alloc::vec::Vec<Nonkkolhoaa>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efaolkaccgh {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "5")]
    pub avatar_type: i32,
}
/// Obf: GEHFBLGKJAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7564)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub gfdllaibgch: ::core::option::Option<Efaolkaccgh>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub ohahiifjjmi: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<Efaolkaccgh>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
}
/// Obf: ADGIALBFNOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7565)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ohahiifjjmi: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: FEADKLPIJIP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7569)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SummonActivityBattleEndScNotify {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub star: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ohahiifjjmi: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub cpamffobinf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blggkbfpopd {
    /// offset: 24
    #[prost(bytes = "vec", tag = "11")]
    pub llfhfkapjpi: ::prost::alloc::vec::Vec<u8>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub hbogihoclgo: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub cknfabpombl: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub pkgljdihgcc: ::core::option::Option<MotionInfo>,
}
/// Obf: HEPHGONPIDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8110)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub config_id: u32,
}
/// Obf: IMFPJJCDHCC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8104)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchHandDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub bmlbgbokcjo: ::prost::alloc::vec::Vec<Blggkbfpopd>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ficoapjcfmm: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub bpmdgciifcp: u32,
}
/// Obf: CKJGFOCBGOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8106)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandStartCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub config_id: u32,
}
/// Obf: GPJLLGPEIDO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8101)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandStartScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
}
/// Obf: NBJCFIEMKGF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8112)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishCsReq {}
/// Obf: ODMKOHDCNPE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8111)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandFinishScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub gnhgniggobf: ::core::option::Option<Blggkbfpopd>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cniadjclkkf {
    /// offset: 36
    #[prost(enumeration = "Pkdfglepcdl", tag = "6")]
    pub op_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ccijecgmhch: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub fgcabkfehog: u32,
}
/// Obf: DDPACOEBGOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8120)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandUpdateCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub ljjngiindib: ::core::option::Option<Blggkbfpopd>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub alohejaclln: ::core::option::Option<Cniadjclkkf>,
}
/// Obf: NKIGJEKFDFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8115)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchHandUpdateScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub alohejaclln: ::core::option::Option<Cniadjclkkf>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub gnhgniggobf: ::core::option::Option<Blggkbfpopd>,
}
/// Obf: GFGBLAEILFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8116)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandCoinUpdateCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cknfabpombl: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8118)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mffocliecjj {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub cknfabpombl: u32,
}
/// Obf: KANOLHKOAFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8113)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwitchHandResetTransformCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub pkgljdihgcc: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub config_id: u32,
}
/// Obf: OMFJNIGBFIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8109)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchHandResetHandPosScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub bmlbgbokcjo: ::core::option::Option<Blggkbfpopd>,
}
/// Obf: EIPPDBCLHMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8117)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandResetGameCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub ecdehhhhgpc: ::core::option::Option<Blggkbfpopd>,
}
/// Obf: ABOGIMJCFIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8119)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchHandResetGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bmlbgbokcjo: ::core::option::Option<Blggkbfpopd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfgjbliffdp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub pihofnjojek: ::core::option::Option<Pajkgnnibjl>,
    /// offset: 72
    #[prost(message, optional, tag = "4")]
    pub dnoocbgjeop: ::core::option::Option<Knogcoibeec>,
    /// offset: 80
    #[prost(uint32, tag = "2")]
    pub fhgikeecmdh: u32,
    /// offset: 64
    #[prost(message, optional, tag = "7")]
    pub skill_info: ::core::option::Option<Lmoklbogmik>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub pdmmffbnfln: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub pending_action: ::core::option::Option<Fbgcjpbofbc>,
    /// offset: 56
    #[prost(message, optional, tag = "14")]
    pub cifgjoodenb: ::core::option::Option<Dapcoikaccp>,
    /// offset: 48
    #[prost(message, optional, tag = "1")]
    pub hfdfpmjmgpb: ::core::option::Option<Cipjcefoaob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmoklbogmik {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub daampoleeoc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub lpoiceideoo: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub epkcjnlaoac: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cipjcefoaob {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub imcfcfbgmmk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub game_story_line_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecbegmhimnh {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub value: u32,
    /// offset: 28
    #[prost(enumeration = "Dakmofildgo", tag = "9")]
    pub iofhmcmdnhi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pajkgnnibjl {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub khlmfeeheln: ::prost::alloc::vec::Vec<Ecbegmhimnh>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nnhbpnmoabd: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub maefopnnodo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ekecbfmlabg {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub queue_position: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knogcoibeec {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub pckfgkpncdm: ::prost::alloc::vec::Vec<Ekecbfmlabg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dapcoikaccp {
    /// offset: 36
    #[prost(uint32, tag = "342")]
    pub ejkimpfadid: u32,
    #[prost(oneof = "dapcoikaccp::Mgkehfmcbbp", tags = "12, 1")]
    pub mgkehfmcbbp: ::core::option::Option<dapcoikaccp::Mgkehfmcbbp>,
}
/// Nested message and enum types in `DAPCOIKACCP`.
pub mod dapcoikaccp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 24
        #[prost(message, tag = "12")]
        Jflijeghocf(super::Hemcolkemnl),
        /// offset: 24
        #[prost(message, tag = "1")]
        Iigfdcbjddn(super::Dalkpecaccl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iagcmhadbik {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub celbeeeppai: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub bgoocmgddli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hemcolkemnl {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub mephgphbclk: ::prost::alloc::vec::Vec<Iagcmhadbik>,
    /// offset: 40
    #[prost(enumeration = "SwordTrainingDailyPhaseType", tag = "5")]
    pub mlkjhanlolf: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub dhhiejhobgl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dalkpecaccl {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dnnofopepoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbgcjpbofbc {
    #[prost(oneof = "fbgcjpbofbc::Mgkehfmcbbp", tags = "9, 13, 2, 4, 15, 12, 14, 7")]
    pub mgkehfmcbbp: ::core::option::Option<fbgcjpbofbc::Mgkehfmcbbp>,
}
/// Nested message and enum types in `FBGCJPBOFBC`.
pub mod fbgcjpbofbc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "9")]
        Bmocgookaoj(super::Djjjdmohkfh),
        /// offset: 16
        #[prost(message, tag = "13")]
        Mdppcdocljo(super::Mceomhfcffh),
        /// offset: 16
        #[prost(message, tag = "2")]
        Ialcgidjcde(super::Ikmbjijhacm),
        /// offset: 16
        #[prost(message, tag = "4")]
        Immdhlpcmkp(super::Jclhbhljpec),
        /// offset: 16
        #[prost(message, tag = "15")]
        Cjifabgehcl(super::Ecofioephec),
        /// offset: 16
        #[prost(message, tag = "12")]
        Appecnecbfi(super::Efihkhpjccb),
        /// offset: 16
        #[prost(message, tag = "14")]
        Mlbeahfaaid(super::Pcaokkcffpa),
        /// offset: 16
        #[prost(message, tag = "7")]
        Kijhifmnopo(super::Eabehhppkah),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Djjjdmohkfh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mceomhfcffh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ikmbjijhacm {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jclhbhljpec {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ecofioephec {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub hcpehigocje: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub mcbnilfmeal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efihkhpjccb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pcaokkcffpa {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Eabehhppkah {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub kliciiimkki: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub mcbnilfmeal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fnfgkjfmljn {
    /// offset: 32
    #[prost(enumeration = "Khknmggahdc", tag = "3")]
    pub source: i32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub donppgjpmfi: ::core::option::Option<Dmmfhabnbef>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmmfhabnbef {
    #[prost(
        oneof = "dmmfhabnbef::Mgkehfmcbbp",
        tags = "11, 5, 14, 4, 1, 13, 12, 10, 106, 414, 304, 1077"
    )]
    pub mgkehfmcbbp: ::core::option::Option<dmmfhabnbef::Mgkehfmcbbp>,
}
/// Nested message and enum types in `DMMFHABNBEF`.
pub mod dmmfhabnbef {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mgkehfmcbbp {
        /// offset: 16
        #[prost(message, tag = "11")]
        Nddgepnhglb(super::Fgbddklohie),
        /// offset: 16
        #[prost(message, tag = "5")]
        Klddmcgpkkh(super::Fhcelbofkbo),
        /// offset: 16
        #[prost(message, tag = "14")]
        Kmefjglfgpj(super::Fhcelbofkbo),
        /// offset: 16
        #[prost(message, tag = "4")]
        Mgojkbacjfg(super::Daeadgmepjk),
        /// offset: 16
        #[prost(message, tag = "1")]
        Dbjdikjehna(super::Egfnhefflii),
        /// offset: 16
        #[prost(message, tag = "13")]
        Dfjmggbgcia(super::Ecofioephec),
        /// offset: 16
        #[prost(message, tag = "12")]
        Eaknenjfkpo(super::Gdgnnaphfaf),
        /// offset: 16
        #[prost(uint32, tag = "10")]
        Lipmmhadjjl(u32),
        /// offset: 16
        #[prost(uint32, tag = "106")]
        Nnhbpnmoabd(u32),
        /// offset: 16
        #[prost(message, tag = "414")]
        Oaipicbffle(super::Eabehhppkah),
        /// offset: 16
        #[prost(message, tag = "304")]
        Njiancdfnbg(super::Efihkhpjccb),
        /// offset: 16
        #[prost(uint32, tag = "1077")]
        Nfbjgngkian(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gdgnnaphfaf {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fgbddklohie {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub bndlonjjnkb: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub item_stack_count: u32,
    /// offset: 28
    #[prost(enumeration = "Dakmofildgo", tag = "6")]
    pub iofhmcmdnhi: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhcelbofkbo {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub item_stack_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub bndlonjjnkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Daeadgmepjk {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub fmfcnkcdfff: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub queue_position: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Egfnhefflii {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub fhgikeecmdh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ppeakdddago: ::core::option::Option<Dapcoikaccp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ffbfobhkkip {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub mcbnilfmeal: u32,
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub hcpehigocje: bool,
}
/// Obf: BEFJKJGHNBC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7500)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub menpimggphd: ::prost::alloc::vec::Vec<Fnfgkjfmljn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pjmppopemao {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gphokbningk {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub igdcdfpafdp: ::prost::alloc::vec::Vec<Pjmppopemao>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub haijmiichid: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IKCJNBHLBLG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7499)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataCsReq {}
/// Obf: OLLOKCLGJNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7474)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataScRsp {
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub okljfbcpmlg: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub iiebgimjhol: ::core::option::Option<Gphokbningk>,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 64
    #[prost(bool, tag = "15")]
    pub boagmoplmen: bool,
    /// offset: 48
    #[prost(uint32, repeated, tag = "4")]
    pub imcfcfbgmmk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub beifhgalhkl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "3")]
    pub hlkkkcajhfk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub hleoicfjjoo: ::core::option::Option<Kfgjbliffdp>,
}
/// Obf: PEEONDFLJGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7457)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub ngcimcknhho: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub kkcbhbncdek: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HCFJEBDHLHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7489)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingTurnActionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub kkcbhbncdek: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GDIJGLCBMLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmCsReq {
    /// offset: 24
    #[prost(enumeration = "SwordTrainingDailyPhaseType", tag = "2")]
    pub oedmapglekf: i32,
}
/// Obf: JAIOKGPLJFM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7497)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub nkclheopiok: bool,
}
/// Obf: OJONLADNDEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7485)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub iokajobjpan: u32,
}
/// Obf: CLLJEBAOALO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7458)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FBKOCLGKNBK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7467)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmCsReq {}
/// Obf: CBKALCCIAIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7494)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: NJOGDABGIGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7479)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamCsReq {}
/// Obf: EHJAGHNDJJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7472)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: BLPNCJIPNBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7469)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub skill_id: u32,
}
/// Obf: PLJEMNEOKDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7451)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingLearnSkillScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: OBGNDGJFKAO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7470)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub game_story_line_id: u32,
}
/// Obf: GDGCIKOHDEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7488)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub hleoicfjjoo: ::core::option::Option<Kfgjbliffdp>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GODBMCNADDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7461)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub mcbnilfmeal: u32,
}
/// Obf: HOBBPFGGPGA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7471)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub mcbnilfmeal: u32,
}
/// Obf: MJDMPIJPMLM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7490)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameCsReq {}
/// Obf: FGFBEMOFGOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7487)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingGiveUpGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: JAHIJLLOGFD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7452)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSettleScNotify {
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub bcebhllpojd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub mckigioikbe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(enumeration = "Fgnklkdeehe", tag = "2")]
    pub reason: i32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub ikhlgbckekp: u32,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub pdiiaippjfp: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub ppeakdddago: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub game_story_line_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: OPMDNIGPDKK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7496)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingUnlockSyncScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub haijmiichid: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub igdcdfpafdp: ::prost::alloc::vec::Vec<Pjmppopemao>,
}
/// Obf: IJCGAGEKOHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7476)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ljdneobifnk: u32,
}
/// Obf: MFBFFDHJPDO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7473)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSelectEndingScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub ljdneobifnk: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: ECDGMAONLIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7465)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameCsReq {}
/// Obf: BKNGLKOCODK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7455)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub hleoicfjjoo: ::core::option::Option<Kfgjbliffdp>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: ODKJLNLPFAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7468)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleCsReq {}
/// Obf: AJKAALKLDKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7482)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: AEBMKNKMOJB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7463)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingActionTurnSettleScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub enjdgldcgil: ::prost::alloc::vec::Vec<Ecbegmhimnh>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pfljlhfeafj: u32,
}
/// Obf: AKKODEIBHGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7484)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub game_story_line_id: u32,
}
/// Obf: BFHIEJILKNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7480)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub hleoicfjjoo: ::core::option::Option<Kfgjbliffdp>,
}
/// Obf: CGPJBNGMPKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7466)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub skill_id: u32,
}
/// Obf: KIGJEFFLGMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7492)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub skill_id: u32,
}
/// Obf: IPJOCIJJJAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7460)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedCsReq {}
/// Obf: IEJJBKJJGHN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GGPILINEEII
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BasicModuleSync {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub stamina: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub week_cocoon_finished_count: u32,
}
/// Obf: FDMPAAOPDAA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBoardModuleSync {
    /// offset: 24
    #[prost(string, tag = "8")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIconData>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub jhmkleknjcn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 56
    #[prost(bool, tag = "3")]
    pub fmaehbmcbnj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSync {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub avatar_path_data_info_list: ::prost::alloc::vec::Vec<AvatarPathData>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
}
/// Obf: ICDIKAIPFKI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionSync {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub gccgcjeiafn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub comddfgabna: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "1")]
    pub kooibiokodb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub joclionabei: ::prost::alloc::vec::Vec<Imhblljlhef>,
    /// offset: 64
    #[prost(message, repeated, tag = "14")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "5")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub accjhlilpjg: ::prost::alloc::vec::Vec<Gbnnkmknlak>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncpkcmgaaom {
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub jphphkoncbg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub jegflmgplbj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncStatus {
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub message_group_status: ::prost::alloc::vec::Vec<GroupStatus>,
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub section_status: ::prost::alloc::vec::Vec<SectionStatus>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub giahklopcio: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub cakcbhpoklk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EINDFGJMOAC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(657)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSyncScNotify {
    /// offset: 88
    #[prost(message, optional, tag = "8")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "30")]
    pub fhgjnbdjpdn: ::core::option::Option<Einfbmjpdah>,
    /// offset: 112
    #[prost(message, repeated, tag = "5")]
    pub wait_del_resource_list: ::prost::alloc::vec::Vec<WaitDelResource>,
    /// offset: 136
    #[prost(message, repeated, tag = "12")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    /// offset: 176
    #[prost(message, repeated, tag = "63")]
    pub fdmaafifgok: ::prost::alloc::vec::Vec<Material>,
    /// offset: 152
    #[prost(uint32, repeated, tag = "2")]
    pub del_equipment_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1901")]
    pub new_item_hint_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    /// offset: 160
    #[prost(message, repeated, tag = "746")]
    pub aiifdkedgil: ::prost::alloc::vec::Vec<Fbeanghkmfg>,
    /// offset: 104
    #[prost(uint32, repeated, tag = "9")]
    pub del_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "1682")]
    pub ndinaemjmjb: ::prost::alloc::vec::Vec<Fcklhhkfejg>,
    /// offset: 184
    #[prost(message, optional, tag = "15")]
    pub avatar_sync: ::core::option::Option<AvatarSync>,
    /// offset: 168
    #[prost(message, optional, tag = "430")]
    pub playerboard_module_sync: ::core::option::Option<PlayerBoardModuleSync>,
    /// offset: 128
    #[prost(message, optional, tag = "1913")]
    pub fpdblenppkf: ::core::option::Option<ItemList>,
    /// offset: 120
    #[prost(message, optional, tag = "142")]
    pub sync_status: ::core::option::Option<SyncStatus>,
    /// offset: 64
    #[prost(message, optional, tag = "1087")]
    pub ocfkikbdhdk: ::core::option::Option<Ncpkcmgaaom>,
    /// offset: 96
    #[prost(message, optional, tag = "10")]
    pub basic_module_sync: ::core::option::Option<BasicModuleSync>,
    /// offset: 80
    #[prost(message, optional, tag = "14")]
    pub mission_sync: ::core::option::Option<MissionSync>,
    /// offset: 144
    #[prost(message, repeated, tag = "1479")]
    pub mhflffheloa: ::prost::alloc::vec::Vec<Jbifeldoace>,
    /// offset: 192
    #[prost(uint32, tag = "700")]
    pub total_achievement_exp: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
}
/// Obf: JDEPOPMAPFJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2157)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub npc_id: u32,
}
/// Obf: FFEBGDJDBOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2128)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcTakenRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub npc_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub talk_event_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: COMLLCPPHOI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2155)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTalkEventRewardCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub emkcopogfpn: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub homlehgodpa: ::core::option::Option<Vector>,
}
/// Obf: LAJFGAHDKCG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub emkcopogfpn: u32,
}
/// Obf: JNPKONAOFBF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub npc_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FirstNpcTalkInfo {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub is_meet: bool,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub npc_id: u32,
}
/// Obf: EINAKHNLFNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2162)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<FirstNpcTalkInfo>,
}
/// Obf: EHDEMMOIDKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2147)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub npc_id: u32,
}
/// Obf: HDEJHHIPINC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2120)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkNpcScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub npc_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2126)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ljioeeogmdg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2105)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SelectInclinationTextScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ljioeeogmdg: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NpcMeetByPerformanceStatus {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub is_meet: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub performance_id: u32,
}
/// Obf: AMBFDOHLONC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub performance_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HIMBCMFOFGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2169)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<NpcMeetByPerformanceStatus>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CIFJDNLJIFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2166)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub performance_id: u32,
}
/// Obf: BONJNIPECHA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2179)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub performance_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iccmnaccpdn {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pbjgffpioff {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub has_passed: bool,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idnhbbjepnd {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub bpfhhnaiaef: ::prost::alloc::vec::Vec<Iccmnaccpdn>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub neinoppechf: ::prost::alloc::vec::Vec<Pbjgffpioff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjgaamcgafi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub ocabjadhagp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub ikeonihgcef: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FHBEGAIDBNI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8150)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataCsReq {}
/// Obf: EEKNOIPMAOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8144)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataScRsp {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "9")]
    pub beeobfnimdb: ::std::collections::HashMap<u32, u32>,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub kehagjjoepf: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub ddgokiaefco: ::core::option::Option<Idnhbbjepnd>,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub energy_info: u32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub bdpdbnhhajo: ::core::option::Option<Kjgaamcgafi>,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub nhffafclkal: u32,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "6")]
    pub mmfjknddnio: ::std::collections::HashMap<u32, u32>,
}
/// Obf: LMBLNLKGDBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8146)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackCsReq {}
/// Obf: HFEHEJAHFKH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8141)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackScRsp {
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub energy_info: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "2")]
    pub oomccfnnipo: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub kehagjjoepf: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub nhffafclkal: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "6")]
    pub hkpkeedhljf: ::std::collections::HashMap<u32, u32>,
}
/// Obf: LNBHPAFIPHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8152)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub bcebhllpojd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OKIKNDGCMMH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8151)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryScRsp {
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub bcebhllpojd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "13")]
    pub mmfjknddnio: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "15")]
    pub beeobfnimdb: ::std::collections::HashMap<u32, u32>,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub gblnmbemdfj: ::core::option::Option<Iccmnaccpdn>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: BGOBEDMFKKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8160)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mcbnilfmeal: u32,
}
/// Obf: KOIAHLDJCLF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8155)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ddgokiaefco: ::core::option::Option<Idnhbbjepnd>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub mcbnilfmeal: u32,
}
/// Obf: PNEIIFOOBGL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8156)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookModifyEnergyScNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dbefjaejoko: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub energy_info: u32,
}
/// Obf: LGFIIIIHLJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8158)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub epbphbognpc: u32,
}
/// Obf: ABBEDFHHMJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8153)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookFinishInteractionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub epbphbognpc: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: PHBKAHADDNF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8149)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockInteractionCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub lkjlcbapgfi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OOKMBBHBJKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8157)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockInteractionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub lkjlcbapgfi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CKLHFONNDGB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8159)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookSyncDataScNotify {
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub nhffafclkal: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "13")]
    pub mmfjknddnio: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ddgokiaefco: ::core::option::Option<Idnhbbjepnd>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub kehagjjoepf: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "15")]
    pub beeobfnimdb: ::std::collections::HashMap<u32, u32>,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub energy_info: u32,
}
/// Obf: GBCCFINOEFB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8143)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TarotBookMultiOpenPackAndUnlockStoryCsReq {}
/// Obf: ANODJJIINFH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8147)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookMultiOpenPackAndUnlockStoryScRsp {
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub kehagjjoepf: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub nhffafclkal: u32,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "9")]
    pub beeobfnimdb: ::std::collections::HashMap<u32, u32>,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub energy_info: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "4")]
    pub mmfjknddnio: ::std::collections::HashMap<u32, u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub apmipjlogpk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ddgokiaefco: ::core::option::Option<Idnhbbjepnd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Diehndfgmif {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub max_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub hjigmmikhmn: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ejadeefgfjh: u32,
}
/// Obf: LGHCOHKFNPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6970)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataCsReq {}
/// Obf: AMDKADOJFMF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6964)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub bneoibcnalh: ::prost::alloc::vec::Vec<Diehndfgmif>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6966)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olccnnjaoho {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub bneoibcnalh: ::prost::alloc::vec::Vec<Diehndfgmif>,
}
/// Obf: AHEMIFLKOFK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6971)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TelevisionActivityBattleEndScNotify {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub fkdjffmccoc: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub jjjfeaiffem: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub turn_left: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub pabbbighgfe: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub fcmfkhmfblh: ::core::option::Option<Diehndfgmif>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gjppemeaonb {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Obf: ICIIPICINFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6961)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ejadeefgfjh: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Gjppemeaonb>,
}
/// Obf: BLPDCFKICLH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6972)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub ejadeefgfjh: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbgincbcbnj {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub ippffbodfnm: u32,
    /// offset: 32
    #[prost(string, tag = "1")]
    pub kpphdnpmepp: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "3")]
    pub ggkagedjagl: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub bdnaajmodgn: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub bekbmoolmje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ccpheboggeh {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub bdnaajmodgn: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub bekbmoolmje: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub ggkagedjagl: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3828)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpneajgkclg {
    /// offset: 16
    #[prost(string, tag = "7")]
    pub ggkagedjagl: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub bekbmoolmje: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub bdnaajmodgn: u32,
}
/// Obf: OMOMOOKDHNJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3855)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub text_join_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PPALKHLPBEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3875)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub text_join_list: ::prost::alloc::vec::Vec<Lbgincbcbnj>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BMINEILEKAO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3838)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub text_join_list: ::prost::alloc::vec::Vec<Lbgincbcbnj>,
}
/// Obf: OELJKMPAGHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3862)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub text_join_list: ::prost::alloc::vec::Vec<Lbgincbcbnj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nmgmpioljil {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub max_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
/// Obf: JIMMJGNEJKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7560)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataCsReq {}
/// Obf: OAMHDBBFGLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7558)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub pnomhplmmha: ::prost::alloc::vec::Vec<Nmgmpioljil>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pfhopbjelap {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub nnknfkplomo: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub entity_id: u32,
}
/// Obf: ALCIHLPGJOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7554)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cost_time: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ipaeibpdafm: ::prost::alloc::vec::Vec<Pfhopbjelap>,
}
/// Obf: ODLEEKBNDPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub ipaeibpdafm: ::prost::alloc::vec::Vec<Pfhopbjelap>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: PJCLCBJHFEI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7559)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageCsReq {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub kiepdnodkgm: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: BDOLGMLDLLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7552)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StartTrackPhotoStageScRsp {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub pikchlflakb: u32,
}
/// Obf: JCPBBGNIOPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7556)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTrackPhotoStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7553)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aiebciemjdn {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cigdmklchfl {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub card_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub ocjchjadlap: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub cur_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onnlbleiflm {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub ajoldhiccdc: ::prost::alloc::vec::Vec<Cigdmklchfl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iedjbkpnpeh {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub ejmdfcgaeig: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ajoldhiccdc: ::core::option::Option<Onnlbleiflm>,
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub cakgbihmhak: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hejfehhbpob {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub dflhicedean: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub lacmgmhjmkn: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub display_value: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdmpddmfhcg {
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub ahoijopafkl: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub hdjainiopbl: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub cboffkfgmla: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ccfedpnmpcj: u32,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub cpjallijffb: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub lbfhlkelapp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eankchgecdd {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub kdhgpkclflj: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub hmlnlobknfp: ::prost::alloc::vec::Vec<Hejfehhbpob>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub cmhjogeeebh: ::core::option::Option<Hdmpddmfhcg>,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub pmjcnopilae: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ifajhdnapoi {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub lhchnenejnf: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ejhegegpbff: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lldkacoafcd {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub skill_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub maemjcjolid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kmaelmjgbbp {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ecohhfoidli: ::core::option::Option<Ifajhdnapoi>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub bopclkbepeb: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassenger {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub mkdeijfglfa: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ibfapdakhjo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub passenger_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub record_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiinfgjbdcc {
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub gaolkakfinn: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub kochiaiknim: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub cur_index: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub mjmmdobhfbn: ::prost::alloc::vec::Vec<Kmaelmjgbbp>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "13")]
    pub clmekgmpmbj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub ienpoeicmal: ::prost::alloc::vec::Vec<Lldkacoafcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ibfapdakhjo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub passenger_info_list: ::prost::alloc::vec::Vec<TrainPartyPassenger>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyArea {
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub step_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub area_step_info: ::core::option::Option<AreaStepInfo>,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub static_prop_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "9")]
    pub dynamic_info: ::prost::alloc::vec::Vec<AreaDynamicInfo>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "6")]
    pub verify_step_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afnpncjdlai {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub step_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ldooogdelgp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub dgcdohgifbb: u32,
    /// offset: 32
    #[prost(enumeration = "Clbjjeemoap", tag = "8")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub kllghhpebli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AreaStepInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub njbnekndnap: ::prost::alloc::vec::Vec<Ldooogdelgp>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ckpiaidjoha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AreaDynamicInfo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub diy_dynamic_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub dice_slot_id: u32,
}
/// Obf: PJLJNJCNMMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildRoomScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub kjcajdciblm: ::core::option::Option<TrainPartyInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyInfo {
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub apljbidihpm: u32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub kkedjakoknf: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub eadplblabkg: ::prost::alloc::vec::Vec<Afnpncjdlai>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub hjlanapgpei: u32,
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub piobdcjgbig: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub ogckncemfcn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub cur_fund: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub dynamic_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub area_list: ::prost::alloc::vec::Vec<TrainPartyArea>,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub hionnjmfaon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daopfcceahc {
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub mhdadphfngd: u32,
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub bgfhomaekjd: ::core::option::Option<Jjcfkmeklln>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub paokghobdhm: ::core::option::Option<TrainPartyInfo>,
    /// offset: 52
    #[prost(bool, tag = "13")]
    pub fmhimhhfcpc: bool,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub record_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub lbncpgmmkmh: ::core::option::Option<TrainPartyPassengerInfo>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub mpadhkbjban: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjcfkmeklln {
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub hffpenldcnk: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub icobebcklbk: ::core::option::Option<Ncojfdfpgpe>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub joohiccakhk: ::core::option::Option<Iedjbkpnpeh>,
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub geemacikiih: ::core::option::Option<Eankchgecdd>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub gbebkaaokae: ::core::option::Option<Oiinfgjbdcc>,
}
/// Obf: EGNENNLHBPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8057)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataCsReq {}
/// Obf: KMPKOJEJDKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ophcmfnbpbj: ::core::option::Option<Daopfcceahc>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: FLDHBJEHPOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8055)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub hodngkcbboj: u32,
}
/// Obf: CCAHKGCKAFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8075)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyUseCardScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hodngkcbboj: u32,
}
/// Obf: OBKPIMDMGBP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8038)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMoveScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub ndlijbjmeae: ::prost::alloc::vec::Vec<Hejfehhbpob>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub iildkcinble: u32,
}
/// Obf: HJHDJACFBMF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySettleNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub amioakleipo: ::core::option::Option<Fphnladfkhk>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub hodngkcbboj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fphnladfkhk {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub iconkogpaif: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub mjmmdobhfbn: ::prost::alloc::vec::Vec<Kmaelmjgbbp>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub mpccddkcmki: ::prost::alloc::vec::Vec<Kephhknndaa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kephhknndaa {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub nbginiaepjj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Igckcpjgmhf {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub jhfakpmipmg: ::core::option::Option<Cigdmklchfl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aaikagdeand {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub passenger_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ecohhfoidli: ::core::option::Option<Ifajhdnapoi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecplbdbilan {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub khgpkmiobcm: ::prost::alloc::vec::Vec<Aaikagdeand>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akjpcnljlfb {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub pending_action: ::core::option::Option<Ncojfdfpgpe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Alcjhinljni {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cur_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cneeanomoag {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nbgflcfhohb: ::core::option::Option<Lldkacoafcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocpikadbepn {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub ienpoeicmal: ::prost::alloc::vec::Vec<Lldkacoafcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljjpgcoemgo {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub neclefifkcf: ::core::option::Option<TrainPartyPassenger>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnamikbckch {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ibfapdakhjo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Faeglhdokai {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hmlnlobknfp: ::prost::alloc::vec::Vec<Hejfehhbpob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phajfdkcekf {
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub dcjhojlphlj: ::core::option::Option<Onnlbleiflm>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub ejmdfcgaeig: u32,
    /// offset: 40
    #[prost(bool, tag = "9")]
    pub cakgbihmhak: bool,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub cmhjogeeebh: ::core::option::Option<Hdmpddmfhcg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cddkohpdmbj {
    /// offset: 32
    #[prost(enumeration = "Hahfbnifidc", tag = "10")]
    pub gdbdiockgkp: i32,
    #[prost(
        oneof = "cddkohpdmbj::Cgdkgnfcgci",
        tags = "1822, 2037, 1230, 246, 1479, 487, 1255, 110, 387, 1576"
    )]
    pub cgdkgnfcgci: ::core::option::Option<cddkohpdmbj::Cgdkgnfcgci>,
}
/// Nested message and enum types in `CDDKOHPDMBJ`.
pub mod cddkohpdmbj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cgdkgnfcgci {
        /// offset: 24
        #[prost(message, tag = "1822")]
        Dcjhojlphlj(super::Onnlbleiflm),
        /// offset: 24
        #[prost(message, tag = "2037")]
        Cnlpmmnocab(super::Ecplbdbilan),
        /// offset: 24
        #[prost(message, tag = "1230")]
        Ebiagmhhlke(super::Akjpcnljlfb),
        /// offset: 24
        #[prost(message, tag = "246")]
        Pllekcaklol(super::Alcjhinljni),
        /// offset: 24
        #[prost(message, tag = "1479")]
        Ojamakggifm(super::Faeglhdokai),
        /// offset: 24
        #[prost(message, tag = "487")]
        Jeklefjkkif(super::Cneeanomoag),
        /// offset: 24
        #[prost(message, tag = "1255")]
        Imonnflkgkj(super::Phajfdkcekf),
        /// offset: 24
        #[prost(message, tag = "110")]
        Eoljeielkjc(super::Ocpikadbepn),
        /// offset: 24
        #[prost(message, tag = "387")]
        Lajnkoigjbk(super::Ljjpgcoemgo),
        /// offset: 24
        #[prost(message, tag = "1576")]
        Kaddpmdhpdn(super::Cnamikbckch),
    }
}
/// Obf: GJOJKDCLBFC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySyncUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub update_dynamic_list: ::prost::alloc::vec::Vec<Cddkohpdmbj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncojfdfpgpe {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub queue_position: u32,
    #[prost(oneof = "ncojfdfpgpe::Kgopabimhhc", tags = "406, 1077, 2020, 140")]
    pub kgopabimhhc: ::core::option::Option<ncojfdfpgpe::Kgopabimhhc>,
}
/// Nested message and enum types in `NCOJFDFPGPE`.
pub mod ncojfdfpgpe {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kgopabimhhc {
        /// offset: 24
        #[prost(message, tag = "406")]
        Cicjbchccbh(super::Jigpgkneopn),
        /// offset: 24
        #[prost(message, tag = "1077")]
        Injmhimeebm(super::Cooklldmalc),
        /// offset: 24
        #[prost(message, tag = "2020")]
        Ilghnaecbjb(super::Fpfjoofbmkh),
        /// offset: 24
        #[prost(message, tag = "140")]
        Fappgicjego(super::Adhbpiahnpn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ednnneoolne {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub cjcnmflbnge: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub iokajobjpan: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jigpgkneopn {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub fdfidldhejh: ::prost::alloc::vec::Vec<Ednnneoolne>,
    /// offset: 36
    #[prost(enumeration = "Fbdcjfadabh", tag = "10")]
    pub eajkmdbhnho: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Imldepmcdpa {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub iokajobjpan: u32,
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oenilkamcgk {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub amioakleipo: ::core::option::Option<Fphnladfkhk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lejnmolijoj {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub maemjcjolid: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cooklldmalc {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub passenger_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub fefjdegcana: ::prost::alloc::vec::Vec<Lejnmolijoj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adhbpiahnpn {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub hfljepmcppj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub kjbimbgepfa: ::prost::alloc::vec::Vec<Lldkacoafcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Efijbjanhmm {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ldkninkpkhl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibkjfnfkiip {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub ienpoeicmal: ::prost::alloc::vec::Vec<Lldkacoafcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akknmpeehgn {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub passenger_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ejhegegpbff: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gnjcdplhkej {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpfjoofbmkh {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub ndljgpkgjmm: u32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub fkdjffmccoc: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub iachljggkli: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub bamckephpbl: ::prost::alloc::vec::Vec<Gnjcdplhkej>,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub odicdmiiklo: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub pcehiioefpp: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub nbfibfoaijb: ::prost::alloc::vec::Vec<Modhehnbhhc>,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub iiffjfaihlj: ::prost::alloc::vec::Vec<Akknmpeehgn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lnlhfkbbaia {
    /// offset: 24
    #[prost(enumeration = "TrainPartyMtSkillBriefType", tag = "4")]
    pub skill_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub nofdjiebinp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gddpmogdajn {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub cgoklbocgpj: ::prost::alloc::vec::Vec<Lnlhfkbbaia>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub pcadmobkdnh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edcockkhhlp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub plcgecgdepj: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ibppegnelfb: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub ndjjmofgmlo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibhkkbehpfh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub ndnmekhapnn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emmalenjpco {
    /// offset: 84
    #[prost(enumeration = "Djlkoignioi", tag = "1")]
    pub cpopcefbkfi: i32,
    /// offset: 56
    #[prost(message, optional, tag = "15")]
    pub anpmpdblnpn: ::core::option::Option<Edcockkhhlp>,
    /// offset: 80
    #[prost(uint32, tag = "2")]
    pub odicdmiiklo: u32,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub fkdjffmccoc: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub lhcjdlglhhl: ::prost::alloc::vec::Vec<Gddpmogdajn>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub ecigchmchpj: ::prost::alloc::vec::Vec<Lnlhfkbbaia>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub bamckephpbl: ::prost::alloc::vec::Vec<Gnjcdplhkej>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub iiffjfaihlj: ::prost::alloc::vec::Vec<Akknmpeehgn>,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub cmhjogeeebh: ::core::option::Option<Hdmpddmfhcg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocdncoolfee {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub ndnmekhapnn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aocblakhibh {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub nljfcdbfijl: ::prost::alloc::vec::Vec<Lnlhfkbbaia>,
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub ndljgpkgjmm: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub iiffjfaihlj: ::prost::alloc::vec::Vec<Akknmpeehgn>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub bamckephpbl: ::prost::alloc::vec::Vec<Gnjcdplhkej>,
}
/// Obf: IKGLLOBCNOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionCsReq {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub queue_position: u32,
    #[prost(
        oneof = "train_party_handle_pending_action_cs_req::Knepoopnmoc",
        tags = "944, 1934, 871, 1160"
    )]
    pub knepoopnmoc: ::core::option::Option<
        train_party_handle_pending_action_cs_req::Knepoopnmoc,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionCsReq`.
pub mod train_party_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Knepoopnmoc {
        /// offset: 16
        #[prost(message, tag = "944")]
        Cicjbchccbh(super::Imldepmcdpa),
        /// offset: 16
        #[prost(message, tag = "1934")]
        Fappgicjego(super::Efijbjanhmm),
        /// offset: 16
        #[prost(message, tag = "871")]
        Pbmobnmageb(super::Ibhkkbehpfh),
        /// offset: 16
        #[prost(message, tag = "1160")]
        Ehfghbknieg(super::Ocdncoolfee),
    }
}
/// Obf: HHELCOFFFOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8069)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub amioakleipo: ::core::option::Option<Fphnladfkhk>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 44
    #[prost(bool, tag = "15")]
    pub objkpcgfmce: bool,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub queue_position: u32,
    #[prost(
        oneof = "train_party_handle_pending_action_sc_rsp::Knepoopnmoc",
        tags = "85, 1100, 1611, 923"
    )]
    pub knepoopnmoc: ::core::option::Option<
        train_party_handle_pending_action_sc_rsp::Knepoopnmoc,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionScRsp`.
pub mod train_party_handle_pending_action_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Knepoopnmoc {
        /// offset: 32
        #[prost(message, tag = "85")]
        Hicnafjbdof(super::Oenilkamcgk),
        /// offset: 32
        #[prost(message, tag = "1100")]
        Mihgbaamhkb(super::Ibkjfnfkiip),
        /// offset: 32
        #[prost(message, tag = "1611")]
        Eipmpindeah(super::Emmalenjpco),
        /// offset: 32
        #[prost(message, tag = "923")]
        Dgmgjehkgbf(super::Aocblakhibh),
    }
}
/// Obf: PFCOBOBONED
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8066)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepCsReq {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub kllghhpebli: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ckpiaidjoha: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub ihmmfnclpnl: ::core::option::Option<AreaDynamicInfo>,
}
/// Obf: APMPGGFNGND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8079)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildStartStepScRsp {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub cur_fund: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ppojicdhada {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub cihhbcbkgdm: ::core::option::Option<AreaDynamicInfo>,
}
/// Obf: POBANPCNPMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8045)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub behodbpmdjj: bool,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub dice_slot_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub diy_dynamic_id: u32,
}
/// Obf: KIOPOPDHHDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyScRsp {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub dynamic_info: ::prost::alloc::vec::Vec<AreaDynamicInfo>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 48
    #[prost(bool, tag = "13")]
    pub behodbpmdjj: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub update_dynamic_list: ::prost::alloc::vec::Vec<Ppojicdhada>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejahanebpii {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub ljeehgganpb: ::prost::alloc::vec::Vec<Ldooogdelgp>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub klmmdhnokbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejbinpnkocd {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub ljeehgganpb: ::prost::alloc::vec::Vec<Ldooogdelgp>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub ckpiaidjoha: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Diogfddipgb {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub piobdcjgbig: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub apljbidihpm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hfmicdnhapf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ddhndkhdkij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fecjmnoenac {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub hionnjmfaon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lffgpinlkfb {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub kaimaeekdmh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Iecaahejbjc {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub diy_dynamic_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akmonlbammp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub iaeomhjbkhf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ieobglkncmd {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kkedjakoknf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lfofgbiikdf {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub ljeehgganpb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhmihmimcbi {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub area_list: ::prost::alloc::vec::Vec<Lfofgbiikdf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncmpbkbmpfn {
    #[prost(
        oneof = "ncmpbkbmpfn::Cgdkgnfcgci",
        tags = "1436, 600, 557, 630, 407, 498, 2002, 1977, 1563, 89"
    )]
    pub cgdkgnfcgci: ::core::option::Option<ncmpbkbmpfn::Cgdkgnfcgci>,
}
/// Nested message and enum types in `NCMPBKBMPFN`.
pub mod ncmpbkbmpfn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cgdkgnfcgci {
        /// offset: 16
        #[prost(message, tag = "1436")]
        Agjomjjbcln(super::Akmonlbammp),
        /// offset: 16
        #[prost(message, tag = "600")]
        Ohahdnpcdhn(super::Ejahanebpii),
        /// offset: 16
        #[prost(message, tag = "557")]
        Apkgnakigeb(super::Ejbinpnkocd),
        /// offset: 16
        #[prost(message, tag = "630")]
        Lbhaciicnfb(super::Diogfddipgb),
        /// offset: 16
        #[prost(message, tag = "407")]
        Bkiajdlamof(super::Hfmicdnhapf),
        /// offset: 16
        #[prost(message, tag = "498")]
        Hpclchnamld(super::Lffgpinlkfb),
        /// offset: 16
        #[prost(message, tag = "2002")]
        Knhmpnhekbi(super::Iecaahejbjc),
        /// offset: 16
        #[prost(message, tag = "1977")]
        Dkieppbaoag(super::Fecjmnoenac),
        /// offset: 16
        #[prost(message, tag = "1563")]
        Ehoddcdkhop(super::Ieobglkncmd),
        /// offset: 16
        #[prost(message, tag = "89")]
        Mapafiemafk(super::Dhmihmimcbi),
    }
}
/// Obf: HPDBMPNIKFB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8095)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildingUpdateNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub hbdeilggofh: ::prost::alloc::vec::Vec<Ncmpbkbmpfn>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8093)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pjeceeppnnb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8089)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbkhdliecaf {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8076)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hkapngoapap {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8096)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bfikmfpblpn {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Modhehnbhhc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 28
    #[prost(enumeration = "Djlkoignioi", tag = "12")]
    pub fpjpiodkmno: i32,
}
/// Obf: GBEIHNBFFIA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8009)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlaySettleNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub miomojaigif: ::core::option::Option<TrainPartyPassengerInfo>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub mhdadphfngd: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub record_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub edphecpnjai: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BCPIAMFCAAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8050)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub mjmmdobhfbn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub hffpenldcnk: u32,
}
/// Obf: OGFLNHHBKGK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8086)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub pjligbhndeb: ::core::option::Option<Jjcfkmeklln>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8042)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ehhlnnjibhp {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8016)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hphfgcfjbio {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: IIDCEBFOKII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8013)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub oakmadpelgc: u32,
}
/// Obf: EHPENBOCNMB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8099)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub oakmadpelgc: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: HBIMJDIMILN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8056)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainPartySkipUnlockSelfRoomCsReq {}
/// Obf: FAMKFILEAMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8008)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySkipUnlockSelfRoomScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub kjcajdciblm: ::core::option::Option<TrainPartyInfo>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ahcpejnjhed {
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub is_meet: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub visitor_id: u32,
}
/// Obf: NKCIFLBOJBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3757)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub visitor_id: u32,
}
/// Obf: GDJOLPPAJDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3728)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishScRsp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub visitor_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnehcipfjlb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub nijdnibngkk: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dndegofinop {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub ajfhomladcc: ::prost::alloc::vec::Vec<Ahcpejnjhed>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: PHBLBCONKPE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3738)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TrainRefreshTimeNotify {
    /// offset: 24
    #[prost(uint64, tag = "4")]
    pub train_refresh_time: u64,
}
/// Obf: MPAALMOEIJK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3762)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorRewardSendNotify {
    /// offset: 36
    #[prost(enumeration = "Bchhgmjgilj", tag = "1")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub visitor_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebbmpldhgpe {
    /// offset: 44
    #[prost(enumeration = "TrainVisitorStatus", tag = "10")]
    pub status: i32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub jdhmegdnfdm: bool,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub visitor_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub poihfnlmloa: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub njndeilbgan: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LHPEBEIIGKP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3747)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterCsReq {
    /// offset: 24
    #[prost(enumeration = "Eabofaohoia", tag = "15")]
    pub r#type: i32,
}
/// Obf: PAFPDLLMDNI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3720)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ipjlaldjkjc: ::prost::alloc::vec::Vec<Ebbmpldhgpe>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub begkoppfebe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HDCKNHDGNND
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3726)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorBehaviorRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub visitor_id: u32,
}
/// Obf: EMBKKDDDCII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3705)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrainVisitorBehaviorRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub visitor_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub njndeilbgan: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: NGMIOMMOONN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3737)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NewSupplementVisitorCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub begkoppfebe: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3769)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jcblkgicbca {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbjlpchlnhe {
    /// offset: 48
    #[prost(int32, tag = "4")]
    pub nokdheliolg: i32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub fjdllapnmoa: u32,
    /// offset: 32
    #[prost(uint64, tag = "10")]
    pub unique_id: u64,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub omfboeeadej: u32,
    /// offset: 52
    #[prost(int32, tag = "11")]
    pub akcemibcjgl: i32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbhhamchide {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub ogdeclodlfo: ::prost::alloc::vec::Vec<Mbjlpchlnhe>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub akedchjkjna: u32,
    /// offset: 36
    #[prost(enumeration = "Jmelcjbokdh", tag = "12")]
    pub mpannimbjng: i32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub echgbhgcnmg: u32,
    /// offset: 40
    #[prost(enumeration = "Ehanpfgbimn", tag = "3")]
    pub mbkpmffhhnf: i32,
}
/// Obf: EKPOIGMEIAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6457)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataCsReq {}
/// Obf: FALELFJPPNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub kligilojanh: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "11")]
    pub djocngpfend: ::std::collections::HashMap<u32, Hbhhamchide>,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "1")]
    pub aaafhlienee: ::std::collections::HashMap<u32, u32>,
}
/// Obf: KDKMHANKEGA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6455)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageUnlockScNotify {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub echgbhgcnmg: u32,
}
/// Obf: OGJNGHMPIBB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6438)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub akedchjkjna: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub echgbhgcnmg: u32,
}
/// Obf: GKBMJPBALJD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6462)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cagflpgiife {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub omfboeeadej: u32,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 32
    #[prost(int32, tag = "11")]
    pub akcemibcjgl: i32,
    /// offset: 40
    #[prost(int32, tag = "9")]
    pub nokdheliolg: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub echgbhgcnmg: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub fjdllapnmoa: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6420)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mffnblmkbid {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
}
/// Obf: PNIGPBEPEPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6426)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureRemovePasterCsReq {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub echgbhgcnmg: u32,
    /// offset: 24
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6405)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iicnlkgfjjj {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
}
/// Obf: LBMCLPACKIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6437)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureUpdatePasterPosCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub omfboeeadej: u32,
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub fjdllapnmoa: u32,
    /// offset: 28
    #[prost(int32, tag = "13")]
    pub nokdheliolg: i32,
    /// offset: 44
    #[prost(int32, tag = "8")]
    pub akcemibcjgl: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub echgbhgcnmg: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    /// offset: 48
    #[prost(uint64, tag = "11")]
    pub unique_id: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6469)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olnlakjgimi {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6466)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cainlomklef {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub jhfkdkmlmdp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fbeanghkmfg {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub jhfkdkmlmdp: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub num: u32,
}
/// Obf: JIDNFJBFPEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6445)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetCustomValueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub value: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6483)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mloeeohoiac {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: EDBOLLIDEBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6495)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochureSetPageDescStatusCsReq {
    /// offset: 28
    #[prost(enumeration = "Ehanpfgbimn", tag = "5")]
    pub gpgggmbnoah: i32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub echgbhgcnmg: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6434)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nccpblfcnfc {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CFANKJFDEEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub echgbhgcnmg: u32,
}
/// Obf: GEKHHFOFFHI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6489)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hlkndcdbleb {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub fjdllapnmoa: u32,
    /// offset: 32
    #[prost(int32, tag = "3")]
    pub nokdheliolg: i32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub omfboeeadej: u32,
    /// offset: 36
    #[prost(int32, tag = "13")]
    pub akcemibcjgl: i32,
}
/// Obf: NGPOMMFPLLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6476)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub obnnnacjnam: ::prost::alloc::vec::Vec<Hlkndcdbleb>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub echgbhgcnmg: u32,
}
/// Obf: AAPJNANOGEM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6496)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub nnoadoiikkl: ::core::option::Option<Hbhhamchide>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gbcmijioogo {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub bhfdangdbdp: u32,
    /// offset: 40
    #[prost(enumeration = "TreasureDungeonRecordType", tag = "7")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub hclhlphpidc: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub hccgejikebf: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub lmiblnjmfmg: u32,
}
/// Obf: IFICIIJKOKI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4457)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub epbbiobbana: ::core::option::Option<Fcnhfgagcpc>,
}
/// Obf: MGGDLEIMCNK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonFinishScNotify {
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub acahnfpehdk: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub dcaclnejijc: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "14")]
    pub nopmpgbinef: ::std::collections::HashMap<u32, u32>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub kenjennapbp: u32,
    /// offset: 44
    #[prost(bool, tag = "12")]
    pub is_win: bool,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "1")]
    pub iinfophkfjf: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub mgpibdccjfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fcnhfgagcpc {
    /// offset: 98
    #[prost(bool, tag = "507")]
    pub blpcalkidhp: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "1061")]
    pub buff_list: ::prost::alloc::vec::Vec<Dhehampojao>,
    /// offset: 100
    #[prost(uint32, tag = "2")]
    pub feichdgfjcg: u32,
    /// offset: 97
    #[prost(bool, tag = "1791")]
    pub jckhggjncnj: bool,
    /// offset: 96
    #[prost(bool, tag = "814")]
    pub aogoaacegam: bool,
    /// offset: 64
    #[prost(message, repeated, tag = "90")]
    pub item_list: ::prost::alloc::vec::Vec<Olgpaagddmh>,
    /// offset: 108
    #[prost(uint32, tag = "11")]
    pub dcaclnejijc: u32,
    /// offset: 112
    #[prost(uint32, tag = "1054")]
    pub jbhapjkhpna: u32,
    /// offset: 88
    #[prost(uint32, tag = "7")]
    pub kedbooipajl: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "165")]
    pub avatar_list: ::prost::alloc::vec::Vec<Bnehekkglac>,
    /// offset: 56
    #[prost(message, repeated, tag = "13")]
    pub hmlnlobknfp: ::prost::alloc::vec::Vec<Cpjnbeffaha>,
    /// offset: 80
    #[prost(uint32, tag = "1")]
    pub kjopdplppfa: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "349")]
    pub chcnojjjpfj: ::prost::alloc::vec::Vec<Feogjijfbda>,
    /// offset: 40
    #[prost(message, repeated, tag = "353")]
    pub imbifbgfkcc: ::prost::alloc::vec::Vec<Bnehekkglac>,
    /// offset: 92
    #[prost(uint32, tag = "5")]
    pub mgpibdccjfm: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub jpiccnggndl: ::prost::alloc::vec::Vec<Gbcmijioogo>,
    /// offset: 84
    #[prost(uint32, tag = "9")]
    pub oncfbhhgiaf: u32,
    /// offset: 104
    #[prost(uint32, tag = "12")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Olgpaagddmh {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub item_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bnehekkglac {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub hp: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub avatar_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub ipjcmejipnj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Feogjijfbda {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub avatar_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dhehampojao {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub oolnfhjhaol: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpjnbeffaha {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub dhmncgmnipk: bool,
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub dbgkljohpcb: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub dflhicedean: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "1507")]
    pub buff_list: ::prost::alloc::vec::Vec<Mbfmdbccije>,
    /// offset: 33
    #[prost(bool, tag = "14")]
    pub icfpmicgieh: bool,
    /// offset: 35
    #[prost(bool, tag = "11")]
    pub ikodikhonjp: bool,
    /// offset: 34
    #[prost(bool, tag = "12")]
    pub bbihfbcmipi: bool,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub ooloefgafnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Mbfmdbccije {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub dflhicedean: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub enoapgbnnpo: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fekbenhcbld: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub lmiblnjmfmg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anpgiigegnb {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub feichdgfjcg: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub oncfbhhgiaf: u32,
    /// offset: 45
    #[prost(bool, tag = "11")]
    pub lldbgjbhled: bool,
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub henpfjbfngh: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub mgpibdccjfm: u32,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub has_passed: bool,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub dcaclnejijc: u32,
}
/// Obf: FJJELDIONON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4437)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataCsReq {}
/// Obf: HOADFPPPOBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4469)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub bplhhimkblh: ::prost::alloc::vec::Vec<Anpgiigegnb>,
}
/// Obf: DCBHDDPKJPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4466)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonCsReq {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub mgpibdccjfm: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jeoibpdjdnb>,
}
/// Obf: PODINKMFGOO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4479)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub epbbiobbana: ::core::option::Option<Fcnhfgagcpc>,
}
/// Obf: IECNHFICMEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4445)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dflhicedean: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub mgpibdccjfm: u32,
}
/// Obf: MDCNJLEOMEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4483)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub epbbiobbana: ::core::option::Option<Fcnhfgagcpc>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: JKMAABBEPDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4493)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub display_value: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub mgpibdccjfm: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub dflhicedean: u32,
}
/// Obf: FKEFBGJDPAM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4489)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub epbbiobbana: ::core::option::Option<Fcnhfgagcpc>,
}
/// Obf: ILPDJBHNEGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4476)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub dflhicedean: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub mgpibdccjfm: u32,
}
/// Obf: CENDCIJHLPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4496)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub epbbiobbana: ::core::option::Option<Fcnhfgagcpc>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jeoibpdjdnb {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "6")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: PIDDABCDEBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Jeoibpdjdnb>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub mgpibdccjfm: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dflhicedean: u32,
}
/// Obf: MACLLLHFKDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4434)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: IIBKCONHGHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4480)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuitTreasureDungeonCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub mgpibdccjfm: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub mjblanfcmpg: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4477)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Dmdllhdjake {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Tutorial {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "TutorialStatus", tag = "8")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TutorialGuide {
    /// offset: 24
    #[prost(enumeration = "TutorialGuideType", tag = "7")]
    pub r#type: i32,
    /// offset: 28
    #[prost(enumeration = "TutorialStatus", tag = "15")]
    pub status: i32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub id: u32,
}
/// Obf: NJBPONMNIDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1657)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTutorialCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub tutorial_list: ::prost::alloc::vec::Vec<Tutorial>,
}
/// Obf: PLFMAICALDH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1655)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1675)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub tutorial_guide_list: ::prost::alloc::vec::Vec<TutorialGuide>,
}
/// Obf: MAFKJBNMBGJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1638)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub tutorial_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1662)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub tutorial: ::core::option::Option<Tutorial>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: PGBEIHJNDAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1647)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideCsReq {
    /// offset: 28
    #[prost(enumeration = "TutorialGuideType", tag = "12")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1620)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct UnlockTutorialGuideScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
/// Obf: LPAEAIDNBMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1626)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialCsReq {
    /// offset: 24
    #[prost(enumeration = "TutorialFinishType", tag = "4")]
    pub dclfheahjbh: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub tutorial_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1605)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialScRsp {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub tutorial: ::core::option::Option<Tutorial>,
}
/// Obf: BKPLCDIEHGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1637)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideCsReq {
    /// offset: 28
    #[prost(enumeration = "TutorialGuideType", tag = "14")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1669)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Waypoint {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub is_new: bool,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub kllbegdknjj: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChapterBrief {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_new: bool,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub igfmkhaaaem: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chapter {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub llpogjjpjpp: ::prost::alloc::vec::Vec<Waypoint>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub jfkcammjjgk: ::core::option::Option<ChapterBrief>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetWaypointCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mohofmeimmm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetWaypointScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub hlhmmpmlpla: ::core::option::Option<Chapter>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub cacphhkdkln: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurWaypointCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ldihdjkohab: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(475)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetCurWaypointScRsp {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub cacphhkdkln: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct GetChapterCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(462)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChapterScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub kbmiclegcfa: ::prost::alloc::vec::Vec<ChapterBrief>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub cacphhkdkln: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(447)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Idchmbihafl {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub mohofmeimmm: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ldihdjkohab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Piikcfidhnl {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub hnpechmobmg: u32,
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub mohofmeimmm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(426)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bdnpoaikgmh {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub mohofmeimmm: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub hnpechmobmg: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhmpoegdapk {
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub lhhoiglcpbl: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub lmlnogaegki: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub fkknlhabhnh: ::prost::alloc::vec::Vec<Vector>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apakioeelda {
    /// offset: 40
    #[prost(string, tag = "15")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub lmlnogaegki: bool,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub lhhoiglcpbl: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub ddgokiaefco: ::core::option::Option<Mhmpoegdapk>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub fkknlhabhnh: ::prost::alloc::vec::Vec<Vector>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6550)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fobomaghpbh {
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub kiepdnodkgm: bool,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6549)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmjgccnneha {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6524)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fkmbklbjghn {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6507)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plaonbbdhha {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6539)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Neaddhedein {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acbjdpholio {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6547)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hndnpijddni {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6535)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oohalpclbhb {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6508)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Maooglokfof {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6506)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmaamhbffcj {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6543)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkldclfkkda {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6503)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Podcdndaijl {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub mlgneiahnmi: ::core::option::Option<Vector>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6531)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihkpdfmdane {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6529)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Geabpgcnkjj {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub mlgneiahnmi: ::core::option::Option<Vector>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obgbpjeplpj {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub onegajofpok: ::core::option::Option<Apakioeelda>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6519)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Gpfphfjjand {
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6501)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ncekdggjanl {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6520)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeibdjcjoah {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6538)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bckaohmiego {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GPBILBECBEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7627)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorldUnlockCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub knngjbpjfib: u32,
}
/// Obf: LCFLMAIPKPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7626)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WorldUnlockScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub knngjbpjfib: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpnhbgkcalc {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub gemmammcegm: u32,
    /// offset: 72
    #[prost(uint32, tag = "2")]
    pub authkey_ver: u32,
    /// offset: 100
    #[prost(uint32, tag = "3")]
    pub gdgomdnmokn: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub jdjkganegng: u32,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub cknhdbjcngm: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub mnjajngkmni: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub cnaghhmfmff: u32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub aaoghadkcod: u32,
    /// offset: 64
    #[prost(uint64, tag = "9")]
    pub jeakaohbnpn: u64,
    /// offset: 96
    #[prost(uint32, tag = "10")]
    pub kkfjklpfnfk: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub id: u32,
    /// offset: 84
    #[prost(uint32, tag = "12")]
    pub cfhbahbknpj: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub hfaapianecl: u32,
    /// offset: 24
    #[prost(string, tag = "14")]
    pub poiafpgpnnl: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub iglipopkmee: u32,
    /// offset: 80
    #[prost(uint32, tag = "16")]
    pub agpifhoiohf: u32,
    /// offset: 88
    #[prost(uint64, tag = "17")]
    pub boibdnigfnc: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayerActionType {
    PlayerActionNone = 0,
    PlayerActionRegister = 1,
    PlayerActionLogin = 2,
    PlayerActionLogout = 3,
    PlayerActionAddExp = 4,
    PlayerActionLevelUp = 5,
    PlayerActionAddMaterial = 6,
    PlayerActionSaveStat = 7,
    PlayerActionTravelBrochureInteract = 8,
    PlayerActionRelay = 9,
    PlayerActionRecharge = 101,
    PlayerActionBuyGoods = 102,
    PlayerActionAddCoin = 103,
    PlayerActionMonthCardDailyHcoin = 104,
    PlayerActionMonthCardBuyMcoin = 105,
    PlayerActionRechargeFreeCoin = 106,
    PlayerActionAddMonthCard = 107,
    PlayerActionRechargeGiftPay = 108,
    PlayerActionRechargeGiftFree = 109,
    PlayerActionRechargeBenefit = 110,
    PlayerActionRechargeGiftTakeReward = 111,
    PlayerActionRechargeGiftReach = 112,
    PlayerActionRechargeBenefitReach = 113,
    PlayerActionMonthCardEndMail = 114,
    PlayerActionMissionAccept = 201,
    PlayerActionMissionFinish = 202,
    PlayerActionMissionFail = 203,
    PlayerActionMainMissionAccept = 204,
    PlayerActionSubMissionAccept = 205,
    PlayerActionMainMissionFinish = 206,
    PlayerActionSubMissionFinish = 207,
    PlayerActionDailyTaskFinish = 208,
    PlayerActionDailyTaskTakeReward = 209,
    PlayerActionNpcTalkReward = 210,
    PlayerActionMainMissionRecover = 211,
    PlayerActionMainMissionDisable = 212,
    PlayerActionConsumeItemSubMissionFinish = 213,
    PlayerActionItemMonitorAllSources = 999,
    PlayerActionGm = 1001,
    PlayerActionCustomOp = 1002,
    PlayerActionCheckSum = 1003,
    PlayerActionPlayerLocation = 1004,
    PlayerActionChangeLanguage = 1005,
    PlayerActionClientReport = 1006,
    PlayerActionAceReport = 1007,
    PlayerActionPlayerPowerInfo = 1008,
    PlayerActionDailyRefresh = 1009,
    PlayerActionAvatarValueInfo = 1010,
    PlayerActionMoveCheckFailedReport = 1011,
    PlayerActionBattleFailedReport = 1012,
    PlayerActionSecurityReport = 1013,
    PlayerActionAvatarPromotion = 1101,
    PlayerActionAvatarAdd = 1103,
    PlayerActionAvatarUseExpItem = 1104,
    PlayerActionAvatarLevelUp = 1105,
    PlayerActionSkillTreeUp = 1106,
    PlayerActionAvatarHpChange = 1107,
    PlayerActionAvatarMpChange = 1108,
    PlayerActionAvatarAddExp = 1109,
    PlayerActionAvatarRankUp = 1110,
    PlayerActionAvatarRepeated = 1111,
    PlayerActionMpMaxChange = 1112,
    PlayerActionAvatarTakePromotionReward = 1113,
    PlayerActionAvatarRelicAffixInfo = 1114,
    PlayerActionAvatarMark = 1115,
    PlayerActionAvatarSystemPowerReset = 1116,
    PlayerActionAvatarChangePath = 1119,
    PlayerActionSetGrowthTargetAvatar = 1120,
    PlayerActionDelAvatar = 1121,
    PlayerActionAvatarSkinChange = 1122,
    PlayerActionSetGrowthTargetFunctionConfig = 1123,
    PlayerActionAvatarSkinActivityReissue = 1124,
    PlayerActionSetAvatarEnhancedId = 1125,
    PlayerActionDressPlayerOutfit = 1126,
    PlayerActionStageBegin = 1202,
    PlayerActionStageEnd = 1203,
    PlayerActionCocoonStageBegin = 1205,
    PlayerActionCocoonStageEnd = 1206,
    PlayerActionFarmElementEnd = 1207,
    PlayerActionElementStageEnd = 1208,
    PlayerActionCocoonSweep = 1209,
    PlayerActionFarmElementSweep = 1210,
    PlayerActionRecoverStamina = 1301,
    PlayerActionExchangeStamina = 1302,
    PlayerActionLoginReward = 1303,
    PlayerActionModifyNickname = 1304,
    PlayerActionGetLevelReward = 1305,
    PlayerActionWorldLevelUp = 1306,
    PlayerActionAddStamina = 1307,
    PlayerActionGameplayBirthdayRewardMail = 1308,
    PlayerActionRechargeRebateReward = 1309,
    PlayerActionGameplayBirthdaySet = 1310,
    PlayerActionReserveStaminaExchange = 1311,
    PlayerActionReserveStaminaAdd = 1312,
    PlayerActionReserveStaminaChange = 1313,
    PlayerActionNowStamina = 1314,
    PlayerActionFtcResetNickname = 1315,
    PlayerActionReserveAndFuelExchangeStamina = 1316,
    PlayerActionMail = 1401,
    PlayerActionMailOpByUser = 1402,
    PlayerActionMailOpByMuip = 1403,
    PlayerActionMailOpByGm = 1404,
    PlayerActionMailOpByFull = 1405,
    PlayerActionMailOpByExpire = 1406,
    PlayerActionMailOpByInternal = 1407,
    PlayerActionAddMail = 1408,
    PlayerActionDelMail = 1409,
    PlayerActionTakeAttachment = 1410,
    PlayerActionReadMail = 1411,
    PlayerActionBattleAvatar = 1501,
    PlayerActionBattleMonster = 1502,
    PlayerActionBattleEnd = 1504,
    PlayerActionBattleReplay = 1505,
    PlayerActionBattleAvatarDeath = 1506,
    PlayerActionBattleSwitchPhase = 1507,
    PlayerActionBattleMonsterSkill = 1508,
    PlayerActionBattleRebattle = 1509,
    PlayerActionBattleAvatarServant = 1510,
    PlayerActionMissionReward = 1602,
    PlayerActionQuestAccept = 1603,
    PlayerActionQuestFinish = 1604,
    PlayerActionQuestRemove = 1605,
    PlayerActionQuestReward = 1606,
    PlayerActionQuestAutoClose = 1607,
    PlayerActionQuestExpired = 1608,
    PlayerActionMissionRequired = 1609,
    PlayerActionSubmissionReward = 1610,
    PlayerActionAchievementLevelReward = 1611,
    PlayerActionQuestDelete = 1612,
    PlayerActionSubMissionRewarda = 1613,
    PlayerActionMissionCompensate = 1614,
    PlayerActionMissionRecycle = 1615,
    PlayerActionQuestReset = 1616,
    PlayerActionQuestOptionalReward = 1617,
    PlayerActionMcvChange = 1618,
    PlayerActionQuestReissue = 1619,
    PlayerActionPropInteract = 1704,
    PlayerActionAvatarMazeSkill = 1705,
    PlayerActionEnterMaze = 1706,
    PlayerActionOrdinaryInteract = 1707,
    PlayerActionChestInteract = 1708,
    PlayerActionCheckPointUnlock = 1709,
    PlayerActionCheckPointInteract = 1710,
    PlayerActionCheckPointRevive = 1711,
    PlayerActionCheckPointTransfer = 1712,
    PlayerActionMonsterInteract = 1714,
    PlayerActionNpcInteract = 1716,
    PlayerActionPropHit = 1717,
    PlayerActionPrelogueRevive = 1718,
    PlayerActionPropState = 1719,
    PlayerActionCheckPointRecover = 1720,
    PlayerActionMechanismBar = 1722,
    PlayerActionSubmitOrigamiItem = 1723,
    PlayerActionMazeBuffDropItem = 1724,
    PlayerActionFsvChange = 1725,
    PlayerActionTimelinePropState = 1726,
    PlayerActionGroupPropertyChange = 1727,
    PlayerActionOpenGroupPropertyChest = 1728,
    PlayerActionEquipmentPromotion = 1901,
    PlayerActionAddItem = 1902,
    PlayerActionUseItem = 1904,
    PlayerActionEquipmentRankUp = 1905,
    PlayerActionEquipmentLevelUp = 1906,
    PlayerActionExpUpEquipmentReturn = 1907,
    PlayerActionBagFullRewardMail = 1908,
    PlayerActionEquipmentAdd = 1909,
    PlayerActionEquipmentWear = 1910,
    PlayerActionItemCompose = 1911,
    PlayerActionRelicLevelUp = 1912,
    PlayerActionExpUpRelicReturn = 1913,
    PlayerActionRelicNumChanged = 1914,
    PlayerActionRelicWear = 1915,
    PlayerActionRelicCompose = 1916,
    PlayerActionSellItem = 1917,
    PlayerActionUnlockMusic = 1918,
    PlayerActionExchangeHcoinWithPayMcoin = 1919,
    PlayerActionGetReward = 1920,
    PlayerActionExchangeHcoinWithFreeMcoin = 1921,
    PlayerActionItemComposeFormulaUnlock = 1922,
    PlayerActionExchangeHcoin = 1923,
    PlayerActionCityShopLevelReward = 1924,
    PlayerActionItemRecycle = 1925,
    PlayerActionMuseumFundsConsume = 1926,
    PlayerActionMuseumEventBuyStuff = 1927,
    PlayerActionMuseumMarketBuyStuff = 1928,
    PlayerActionMuseumRandomEvent = 1929,
    PlayerActionMuseumInitialItem = 1930,
    PlayerActionOptionalBoxReward = 1931,
    PlayerActionDestroyItem = 1932,
    PlayerActionTransferExp = 1933,
    PlayerActionOndutyUse = 1934,
    PlayerActionItemMark = 1935,
    PlayerActionRelicDiscard = 1936,
    PlayerActionGeneralVirtualItemChange = 1937,
    PlayerActionRelicLock = 1938,
    PlayerActionRelicFilterPlanSave = 1939,
    PlayerActionRelicFilterPlanDelete = 1940,
    PlayerActionRelicFilterPlanMark = 1941,
    PlayerActionRelicSell = 1942,
    PlayerActionRelicReforge = 1943,
    PlayerActionRelicSmartWearCustomPlan = 1944,
    PlayerActionRecoverRelic = 1945,
    PlayerActionRecoverEquipment = 1946,
    PlayerActionEquipmentSell = 1947,
    PlayerActionRelicSmartWearPinRelic = 1948,
    PlayerActionRelicCocoonSetting = 1949,
    PlayerActionPersonalCardChange = 1950,
    PlayerActionPhoneCaseChange = 1951,
    PlayerActionDeliveryItemReward = 1952,
    PlayerActionItemAutoTransfer = 1953,
    PlayerActionItemAutoTransferInBag = 1954,
    PlayerActionItemAutoTransferOnAdd = 1955,
    PlayerActionAddExtraCoin = 1956,
    PlayerActionVariableDiceExchangePartnerCoin = 1957,
    PlayerActionRelicBox = 1958,
    PlayerActionRelicBoxSettle = 1959,
    PlayerActionRelicBoxRegular = 1960,
    PlayerActionRelicReplace = 1961,
    PlayerActionEquipmentUpCostPileSetting = 1962,
    PlayerActionRelicBoxShow = 1963,
    PlayerActionTutorialGuideFinish = 2001,
    PlayerActionTutorial = 2002,
    PlayerActionTutorialGuide = 2003,
    PlayerActionMonsterDrop = 2101,
    PlayerActionFinishChallenge = 2201,
    PlayerActionChallengeStars = 2202,
    PlayerActionChallengeStart = 2203,
    PlayerActionChallengeEnd = 2204,
    PlayerActionChallengeWin = 2205,
    PlayerActionChallengeFail = 2206,
    PlayerActionChallengeLeave = 2207,
    PlayerActionChallengeSwitch = 2208,
    PlayerActionChallengeBonusReward = 2210,
    PlayerActionChallengeStarsReward = 2211,
    PlayerActionChallengeRestart = 2212,
    PlayerActionChallengeStoryStart = 2213,
    PlayerActionChallengeStoryEnd = 2214,
    PlayerActionChallengeFastPass = 2215,
    PlayerActionChallengeStoryFastPass = 2216,
    PlayerActionChallengeMemoryFastPass = 2217,
    PlayerActionChallengeBattleTarget = 2218,
    PlayerActionChallengeBossEnd = 2219,
    PlayerActionChallengeBossFastPass = 2220,
    PlayerActionChallengeStartPartial = 2221,
    PlayerActionChallengeBossPhaseStart = 2222,
    PlayerActionChallengeBossPhaseEnd = 2223,
    PlayerActionChallengeBossPhaseEndBeforeBattle = 2224,
    PlayerActionChallengeRecommendLineup = 2225,
    PlayerActionChallengeStoryFeverBattleEnd = 2226,
    PlayerActionTeamInfoChange = 2301,
    PlayerActionChangeCurrentAvatar = 2302,
    PlayerActionCreateVirtualTeam = 2303,
    PlayerActionTeamNameEdit = 2304,
    PlayerActionReplaceLineupAvatar = 2305,
    PlayerActionAvatarBuffChange = 2401,
    PlayerActionEnvBuffChange = 2402,
    PlayerActionGameCore = 2403,
    PlayerActionAvatarGlobalBuff = 2404,
    PlayerActionRogueExploreStart = 2501,
    PlayerActionRogueEnterRoom = 2502,
    PlayerActionRogueLeaveRoom = 2503,
    PlayerActionRogueExploreFinish = 2504,
    PlayerActionRogueSelectBuff = 2505,
    PlayerActionRogueRollBuff = 2506,
    PlayerActionRogueRevive = 2507,
    PlayerActionRogueChallengeStart = 2512,
    PlayerActionRogueMiracle = 2514,
    PlayerActionRogueAddBuff = 2515,
    PlayerActionRoguePickAvatar = 2516,
    PlayerActionRogueSeasonChanged = 2522,
    PlayerActionRogueAeonLevelUp = 2524,
    PlayerActionRogueOpenDoor = 2525,
    PlayerActionRogueScoreReward = 2526,
    PlayerActionRogueEnhanceBuff = 2527,
    PlayerActionRogueSelectBonus = 2528,
    PlayerActionRogueAreaFirstReward = 2529,
    PlayerActionRogueEnableTalent = 2530,
    PlayerActionRogueAeonUnlock = 2531,
    PlayerActionRogueAeonAddExp = 2532,
    PlayerActionRogueImmerseLevelUp = 2533,
    PlayerActionRogueSelectMiracle = 2534,
    PlayerActionRogueUnlockArea = 2535,
    PlayerActionRogueExploreScoreChange = 2536,
    PlayerActionRogueUpdateRewardPool = 2537,
    PlayerActionRogueSwapBuff = 2539,
    PlayerActionRogueWeeklyRefresh = 2540,
    PlayerActionRogueExchangeKey = 2541,
    PlayerActionRogueGetObjectReward = 2542,
    PlayerActionRogueAreaMonsterDrop = 2543,
    PlayerActionRogueAddMiracle = 2544,
    PlayerActionRogueSwapMiracle = 2545,
    PlayerActionRogueOpenObjectReward = 2546,
    PlayerActionRogueAeonEffect = 2547,
    PlayerActionRogueReforgeBuff = 2548,
    PlayerActionRogueTradeMiracle = 2549,
    PlayerActionRogueRemoveAvatar = 2550,
    PlayerActionRogueDialogueSelect = 2551,
    PlayerActionRogueSelectAeon = 2552,
    PlayerActionRogueDialogueFinish = 2553,
    PlayerActionRogueHandbookReward = 2554,
    PlayerActionRogueAdventureRoomReward = 2555,
    PlayerActionRogueShopBuy = 2556,
    PlayerActionRogueRepairMiracle = 2557,
    PlayerActionRogueReplaceAllMiracle = 2558,
    PlayerActionRogueMiracleBroken = 2559,
    PlayerActionRogueShopRefresh = 2560,
    PlayerActionRogueLevelMechanism = 2561,
    PlayerActionRogueRemoveMiracle = 2562,
    PlayerActionRogueDropBuff = 2563,
    PlayerActionRogueDestroyMiracle = 2564,
    PlayerActionRogueActivateFormula = 2565,
    PlayerActionRogueDeactivateFormula = 2566,
    PlayerActionRogueRemoveBuff = 2567,
    PlayerActionRogueSelectFormula = 2568,
    PlayerActionRogueDropFormula = 2569,
    PlayerActionRogueRollFormula = 2570,
    PlayerActionRogueReforgeFormula = 2571,
    PlayerActionRogueComposeMiracle = 2572,
    PlayerActionRogueReforgeMiracle = 2573,
    PlayerActionRogueDoGamble = 2574,
    PlayerActionRogueKeywordActivate = 2575,
    PlayerActionRogueKeywordDeactivate = 2576,
    PlayerActionRogueSourceDefault = 2577,
    PlayerActionRoguePlayerSelect = 2578,
    PlayerActionRogueLayerSettlement = 2579,
    PlayerActionRogueFormula = 2580,
    PlayerActionRogueWorkbench = 2581,
    PlayerActionRogueModifier = 2582,
    PlayerActionRogueReforge = 2583,
    PlayerActionRogueTalent = 2584,
    PlayerActionRogueReroll = 2585,
    PlayerActionRogueCoinChange = 2586,
    PlayerActionRogueMagicScepterShop = 2587,
    PlayerActionRogueMagicUnitShop = 2588,
    PlayerActionRogueMagicScepterLevelUp = 2589,
    PlayerActionGacha = 2601,
    PlayerActionAddGachaTicket = 2602,
    PlayerActionGachaExchange = 2603,
    PlayerActionSetGachaDecideItem = 2604,
    PlayerActionEventMissionAccept = 2801,
    PlayerActionEventMissionFinish = 2802,
    PlayerActionEventMissionReward = 2803,
    PlayerActionRaidFinish = 2901,
    PlayerActionRaidBegin = 2902,
    PlayerActionChallengeRaidReward = 2903,
    PlayerActionStartRaid = 2904,
    PlayerActionEndRaid = 2905,
    PlayerActionRaidTargetFinish = 2906,
    PlayerActionArchiveRaid = 2907,
    PlayerActionHeroBaseTypeChange = 3051,
    PlayerActionHeroBaseTypeAddByMission = 3052,
    PlayerActionHeroBaseTypeAddByReq = 3053,
    PlayerActionHeroBaseTypeAdd = 3054,
    PlayerActionDialogueSelect = 3101,
    PlayerActionExpeditionStart = 3151,
    PlayerActionExpeditionFinish = 3152,
    PlayerActionExpeditionReward = 3153,
    PlayerActionActivityExpeditionStart = 3154,
    PlayerActionActivityExpeditionFinish = 3155,
    PlayerActionActivityExpeditionReward = 3156,
    PlayerActionActivityExpeditionBegin = 3157,
    PlayerActionActivityExpeditionEnd = 3158,
    PlayerActionExpeditionSet = 3159,
    PlayerActionExpeditionTakeReward = 3160,
    PlayerActionActivityLoginReward = 3201,
    PlayerActionFriendReport = 3301,
    PlayerActionAssistReward = 3302,
    PlayerActionAssistAvatarRefresh = 3303,
    PlayerActionAssistAvatarBattleStart = 3304,
    PlayerActionAssistAvatarBattleEnd = 3305,
    PlayerActionFriendApply = 3306,
    PlayerActionFriendManage = 3307,
    PlayerActionFriendBlacklist = 3308,
    PlayerActionFriendModifyRemarkName = 3309,
    PlayerActionFriendMark = 3310,
    PlayerActionFriendAssistList = 3311,
    PlayerActionBattlePassLevelReward = 3202,
    PlayerActionBattlePass128TierReward = 3203,
    PlayerActionBattlePassLevelRewardAutoMail = 3204,
    PlayerActionBuyBattlePass = 3205,
    PlayerActionAddBattlePassExp = 3206,
    PlayerActionBattlePassLevelUp = 3207,
    PlayerActionBuyBattlePassLevel = 3208,
    PlayerActionBattlePassEndMail = 3209,
    PlayerActionBattlePass68TierReward = 3210,
    PlayerActionModifySign = 3401,
    PlayerActionDisplayAvatarSet = 3402,
    PlayerActionAssistAvatarSet = 3403,
    PlayerActionAchievementFinish = 3501,
    PlayerActionAchievementReward = 3502,
    PlayerActionAchievementAddExp = 3503,
    PlayerActionAchievementLevelUp = 3504,
    PlayerActionPunkLordReward = 3601,
    PlayerActionPunkLordBossSearch = 3604,
    PlayerActionPunkLordBossShare = 3605,
    PlayerActionStartPunkLordRaid = 3606,
    PlayerActionPunkLordSupportTimes = 3608,
    PlayerActionPunkLordScoreReward = 3609,
    PlayerActionPunkLordListRefresh = 3610,
    PlayerActionPunkLordPowerAttack = 3611,
    PlayerActionPunkLordBattleEnd = 3612,
    PlayerActionPunkLordBossDeath = 3613,
    PlayerActionPunkLordBossScore = 3614,
    PlayerActionDailyActiveLevelReward = 3701,
    PlayerActionDailyActiveAddPoint = 3702,
    PlayerActionDailyActiveDeleteOldQuest = 3703,
    PlayerActionFightActivityBegin = 3791,
    PlayerActionFightActivityEnd = 3792,
    PlayerActionFightActivityReward = 3801,
    PlayerActionActivityEndMail = 3802,
    PlayerActionAppointmentMail = 3803,
    PlayerActionShareReward = 3804,
    PlayerActionActivityTrialReward = 3805,
    PlayerActionActivityTrialStart = 3806,
    PlayerActionPsPreOrderMail1 = 3811,
    PlayerActionPsPreOrderMail2 = 3812,
    PlayerActionPsLoginMail = 3813,
    PlayerActionLoginMail = 3814,
    PlayerActionGooglePoints100Mail = 3821,
    PlayerActionGooglePoints150Mail = 3822,
    PlayerActionTrainVisitorBehaviorFinish = 3901,
    PlayerActionEnterViewTrain = 3902,
    PlayerActionTrainVisitorBehaviorRewardForceSend = 3903,
    PlayerActionTrainVisitorRegisterOpen = 3904,
    PlayerActionTrainVisitorBehaviorRewardForceSendByRegister = 3905,
    PlayerActionTrainVisitorClearLastTrainVisitor = 3906,
    PlayerActionTrainVisitorRefreshTrainVisitor = 3907,
    PlayerActionTrainVisitorRefreshNpc = 3908,
    PlayerActionMessageGroupAccept = 3951,
    PlayerActionMessageSectionAccept = 3952,
    PlayerActionMessageSectionFinish = 3953,
    PlayerActionMessageItemFinish = 3954,
    PlayerActionFinishMessageGroupReward = 3955,
    PlayerActionSubstituteMessageGroupReward = 3956,
    PlayerActionDeleteMessageGroup = 3957,
    PlayerActionDeleteMessageSection = 3958,
    PlayerActionDeleteMessageGroupByConfig = 3959,
    PlayerActionDeleteMessageGroupByActivity = 3960,
    PlayerActionDeleteMessageGroupByMission = 3961,
    PlayerActionTextJoinSave = 4001,
    PlayerActionBoxingClubStart = 4051,
    PlayerActionBoxingClubFinish = 4052,
    PlayerActionBoxingClubPause = 4053,
    PlayerActionBoxingClubStageStart = 4054,
    PlayerActionTalkSend = 4101,
    PlayerActionSelectInclinationText = 4102,
    PlayerActionMuseumSettleTurnOpen = 4201,
    PlayerActionMuseumUpgradeArea = 4202,
    PlayerActionMuseumUpgradeAreaStat = 4203,
    PlayerActionMuseumDispatchRewardRegular = 4204,
    PlayerActionMuseumDispatchRewardDirectional = 4205,
    PlayerActionMuseumPhaseTargetFinished = 4206,
    PlayerActionMuseumGetStuff = 4207,
    PlayerActionMuseumGetExhibit = 4208,
    PlayerActionMuseumTakeCollectMission = 4209,
    PlayerActionMuseumAreaUnlock = 4210,
    PlayerActionMuseumAreaUpgrade = 4211,
    PlayerActionMuseumAreaStatUpgrade = 4212,
    PlayerActionMuseumEnterNextRound = 4213,
    PlayerActionMuseumStartDispatch = 4214,
    PlayerActionMuseumSettleDispatch = 4215,
    PlayerActionMuseumRenewPointChanged = 4216,
    PlayerActionMuseumTargetReward = 4217,
    PlayerActionMuseumPhaseUpgrade = 4218,
    PlayerActionMuseumCollectReward = 4219,
    PlayerActionMuseumTargetStart = 4220,
    PlayerActionMuseumTargetFinish = 4221,
    PlayerActionActivityMonsterResearchConsumeMaterial = 4301,
    PlayerActionActivityMonsterResearchTakeReward = 4302,
    PlayerActionPlayerReturnStart = 4401,
    PlayerActionPlayerReturnSign = 4402,
    PlayerActionPlayerReturnPoint = 4403,
    PlayerActionPlayerReturnCountdown = 4404,
    PlayerActionPlayerReturnFinish = 4405,
    PlayerActionPlayerReturnCompensate = 4406,
    PlayerActionPlayerReturnGetRelic = 4407,
    PlayerActionPlayerReturnBpExpExtra = 4408,
    PlayerActionPlayerReturnHcoinExtra = 4409,
    PlayerActionRogueChallengeActivityStart = 4411,
    PlayerActionRogueChallengeActivityFinish = 4412,
    PlayerActionRogueChallengeActivitySave = 4413,
    PlayerActionAetherDivideUsePassiveSkillItem = 4450,
    PlayerActionAetherDivideClearPassiveSkill = 4451,
    PlayerActionAetherDivideFinishChallenge = 4452,
    PlayerActionAetherDivideOverflowChunkReward = 4453,
    PlayerActionAetherDivideLevelUp = 4454,
    PlayerActionAetherDivideNewReward = 4455,
    PlayerActionAetherDivideMonsterAdd = 4456,
    PlayerActionAetherDivideMonsterLevel = 4457,
    PlayerActionAetherDivideMonsterSkillWear = 4458,
    PlayerActionAetherDivideTeamChange = 4459,
    PlayerActionAetherDivideStageBegin = 4460,
    PlayerActionAetherDivideStageEnd = 4461,
    PlayerActionAetherDivideStageRoll = 4462,
    PlayerActionAlleyEventFinish = 4501,
    PlayerActionAlleyTakeReward = 4502,
    PlayerActionAlleyPrestigeLevelUp = 4503,
    PlayerActionAlleyLogisticsFinish = 4504,
    PlayerActionAlleyPlacingGameFinish = 4505,
    PlayerActionAlleyGuaranteedFunds = 4506,
    PlayerActionAlleyTakeEventReward = 4507,
    PlayerActionAlleySpecialOrderFinish = 4508,
    PlayerActionSensitiveWordShield = 4601,
    PlayerActionSensitiveWordServerInternalError = 4602,
    PlayerActionSensitiveWordPlatformError = 4603,
    PlayerActionTreasureDungeonStart = 4701,
    PlayerActionTreasureDungeonFinish = 4702,
    PlayerActionTreasureDungeonEnterFloor = 4703,
    PlayerActionTreasureDungeonLeaveFloor = 4704,
    PlayerActionTreasureDungeonUseItem = 4705,
    PlayerActionTreasureDungeonAvatarChange = 4706,
    PlayerActionTreasureDungeonBattleStart = 4707,
    PlayerActionTreasureDungeonBattleEnd = 4708,
    PlayerActionTreasureDungeonPickupBuff = 4709,
    PlayerActionChessRogueFirstFinish = 4801,
    PlayerActionChessRogueGiveupDice = 4802,
    PlayerActionChessRogueSubStorySelect = 4803,
    PlayerActionChessRogueActionPoint = 4804,
    PlayerActionChessRogueReviveByProp = 4805,
    PlayerActionChessRogueStartLevel = 4806,
    PlayerActionChessRogueDiceEffect = 4807,
    PlayerActionChessRogueMainStoryFinish = 4808,
    PlayerActionChessRogueAeonTalentEffect = 4809,
    PlayerActionChessRogueModifierOthersEffect = 4810,
    PlayerActionChessRogueAddBuff = 4811,
    PlayerActionChessRogueReforgeBuff = 4812,
    PlayerActionChessRogueBuffLevelUp = 4813,
    PlayerActionChessRogueEnhanceBuff = 4814,
    PlayerActionChessRogueAddMiracle = 4815,
    PlayerActionChessRogueSwapMiracle = 4816,
    PlayerActionChessRogueSelectBonus = 4817,
    PlayerActionChessRogueDialogueFinish = 4818,
    PlayerActionChessRogueSubStoryFinish = 4819,
    PlayerActionChessRogueAdventureRoomFinish = 4820,
    PlayerActionChessRogueFinishLevel = 4821,
    PlayerActionChessRogueStartLayer = 4822,
    PlayerActionChessRogueFinishLayer = 4823,
    PlayerActionChessRogueEnterRoom = 4824,
    PlayerActionChessRogueLeaveRoom = 4825,
    PlayerActionChessRogueRollDice = 4826,
    PlayerActionChessRogueSelectDice = 4827,
    PlayerActionChessRogueUnlockDice = 4828,
    PlayerActionChessRogueBoardEvent = 4829,
    PlayerActionChessRogueDimensionPoint = 4830,
    PlayerActionChessRoguePickAvatar = 4831,
    PlayerActionChessRogueReviveAvatar = 4832,
    PlayerActionChessRogueNousSubStorySelect = 4833,
    PlayerActionChessRogueLevelMechanism = 4844,
    PlayerActionChessRogueNousStartLevel = 4845,
    PlayerActionChessRogueNousFinishLevel = 4846,
    PlayerActionChessRogueNousStartLayer = 4847,
    PlayerActionChessRogueNousFinishLayer = 4848,
    PlayerActionChessRogueNousEnterRoom = 4849,
    PlayerActionChessRogueNousLeaveRoom = 4850,
    PlayerActionChessRogueNousSelectDice = 4851,
    PlayerActionChessRogueNousUnlockDiceBranch = 4852,
    PlayerActionChessRogueNousUnlockDiceSurface = 4853,
    PlayerActionChessRogueNousEditDice = 4854,
    PlayerActionChessRogueNousValueChange = 4855,
    PlayerActionChessRogueNousMainStoryTrigger = 4856,
    PlayerActionChessRogueNousMainStoryFinish = 4857,
    PlayerActionChessRogueNousSubStoryTrigger = 4858,
    PlayerActionChessRogueNousSubStoryFinish = 4859,
    PlayerActionChessRogueNousEnableTalent = 4860,
    PlayerActionChessRogueSelectBuff = 4861,
    PlayerActionChessRogueSelectMiracle = 4862,
    PlayerActionChessRogueRemoveMiracle = 4863,
    PlayerActionChessRogueBoardCell = 4864,
    PlayerActionFantasticStoryBattleBegin = 4901,
    PlayerActionFantasticStoryBattleEnd = 4902,
    PlayerActionRogueEndlessReward = 4950,
    PlayerActionRogueEndlessLevelStart = 4951,
    PlayerActionRogueEndlessStageBegin = 4952,
    PlayerActionRogueEndlessStageEnd = 4953,
    PlayerActionBattleCollegeReward = 5001,
    PlayerActionCommonRogueMiracleForBuffShop = 5051,
    PlayerActionCommonRogueAdventureRoomFinish = 5052,
    PlayerActionCommonRogueBuyBuffShop = 5053,
    PlayerActionCommonRogueBuyBuffShopRefresh = 5054,
    PlayerActionCommonRogueCollectionUnlock = 5055,
    PlayerActionCommonRogueCollectionSet = 5056,
    PlayerActionCommonRogueExhibitionUnlock = 5057,
    PlayerActionCommonRogueExhibitionSet = 5058,
    PlayerActionCommonRogueChestInteract = 5059,
    PlayerActionCommonRogueAdventureRoomWolfgunFinish = 5060,
    PlayerActionHeliobusPostIncomeReward = 5101,
    PlayerActionHeliobusPostFansReward = 5102,
    PlayerActionHeliobusLevelUpgrade = 5103,
    PlayerActionHeliobusPostReplyReward = 5104,
    PlayerActionHeliobusCommentReplyReward = 5105,
    PlayerActionHeliobusChallengeFirstReward = 5106,
    PlayerActionHeliobusFansAdd = 5107,
    PlayerActionHeliobusActionDaySettle = 5108,
    PlayerActionHeliobusSkillUnlock = 5109,
    PlayerActionHeliobusStageBegin = 5110,
    PlayerActionHeliobusStageEnd = 5111,
    PlayerActionHeliobusSnsRead = 5112,
    PlayerActionHeliobusSnsPostUnlock = 5113,
    PlayerActionHeliobusSnsCommentUnlock = 5114,
    PlayerActionHeliobusSnsComment = 5115,
    PlayerActionHeliobusSnsPost = 5116,
    PlayerActionHeliobusSnsLike = 5117,
    PlayerActionHeliobusPhaseUpgrade = 5118,
    PlayerActionPsPointCard30Reward = 5201,
    PlayerActionPsPointCard50Reward = 5202,
    PlayerActionPsPointCard100Reward = 5203,
    PlayerActionPsnPlusGiftReward = 5204,
    PlayerActionAppleGiftCardReward = 5205,
    PlayerActionHeartDialSubmitItem = 5301,
    PlayerActionHeartDialDialoguePerform = 5302,
    PlayerActionHeartDialTraceConsume = 5303,
    PlayerActionHeartDialChangeEmotion = 5304,
    PlayerActionTravelBrochureAddDefaultPaster = 5401,
    PlayerActionSpaceZooBorn = 5501,
    PlayerActionSpaceZooMutate = 5502,
    PlayerActionSpaceZooDelete = 5503,
    PlayerActionSpaceZooExchangeItem = 5504,
    PlayerActionSpaceZooExpPoint = 5505,
    PlayerActionSpaceZooTakeReward = 5506,
    PlayerActionSpaceZooCollection = 5507,
    PlayerActionSpaceZooShow = 5508,
    PlayerActionSpaceZooSpecialData = 5509,
    PlayerActionStrongChallengeBattleBegin = 5701,
    PlayerActionStrongChallengeBattleEnd = 5702,
    PlayerActionRollShopDoGacha = 5751,
    PlayerActionRollShopTakeReward = 5752,
    PlayerActionOfferingSubmitItem = 5801,
    PlayerActionOfferingTakeReward = 5802,
    PlayerActionTravelBrochurePageUnlock = 5851,
    PlayerActionTravelBrochurePageInteractAward = 5852,
    PlayerActionTravelBrochureStickerUnlock = 5853,
    PlayerActionTravelBrochureStickerApply = 5854,
    PlayerActionTravelBrochureStickerRemove = 5855,
    PlayerActionTravelBrochurePageReset = 5856,
    PlayerActionTrackMainMissionId = 5901,
    PlayerActionWolfBroBegin = 5911,
    PlayerActionWolfBroGroupStateChange = 5912,
    PlayerActionWolfBroEnd = 5913,
    PlayerActionWolfBroBulletZero = 5914,
    PlayerActionWolfBroActivateBullet = 5915,
    PlayerActionWolfBroBulletNumChange = 5916,
    PlayerActionWolfBroUseBulletNull = 5917,
    PlayerActionWolfBroUseBulletHitMonster = 5918,
    PlayerActionWolfBroPickUpBullet = 5919,
    PlayerActionWolfBroRestoreArchive = 5920,
    PlayerActionTelevisionActivityBattleBegin = 5921,
    PlayerActionTelevisionActivityBattleEnd = 5922,
    PlayerActionFeverTimeActivityBattleBegin = 5923,
    PlayerActionFeverTimeActivityBattleEnd = 5924,
    PlayerActionGunPlayEnd = 5925,
    PlayerActionActivityStarFightBegin = 5926,
    PlayerActionActivityStarFightEnd = 5927,
    PlayerActionMapRotationEnterRegion = 5931,
    PlayerActionMapRotationLeaveRegion = 5932,
    PlayerActionMapRotationInteractCharger = 5933,
    PlayerActionMapRotationDeployRotater = 5934,
    PlayerActionMapRotationRotateMap = 5935,
    PlayerActionMapRotationAddEnergy = 5936,
    PlayerActionMapRotationSetMaxEnergy = 5937,
    PlayerActionMapRotationRemoveRotater = 5938,
    PlayerActionMapRotationAutoDeployRotater = 5939,
    PlayerActionMapRotationAutoRemoveRotater = 5940,
    PlayerActionDrinkMakerAddTips = 5951,
    PlayerActionDrinkMakerFinishChallenge = 5952,
    PlayerActionDrinkMakerGuestMaxFaithReward = 5953,
    PlayerActionDrinkMakerMakeDrink = 5954,
    PlayerActionDrinkMakerSaveCustomDrink = 5955,
    PlayerActionDrinkMakerEndSequence = 5956,
    PlayerActionDrinkMakerCheersMakeDrink = 5957,
    PlayerActionDrinkMakerCheersNpcDrink = 5958,
    PlayerActionChangeStoryLine = 6001,
    PlayerActionContentPackageStatusChange = 6011,
    PlayerActionContentPackageTrackChange = 6012,
    PlayerActionContentPackageAcceptMainMission = 6013,
    PlayerActionWorldDirectUnlock = 6041,
    PlayerActionMonopolyTurnFinish = 6051,
    PlayerActionMonopolyAssetTurntax = 6052,
    PlayerActionMonopolyAssetBonus = 6053,
    PlayerActionMonopolyEventEffect = 6054,
    PlayerActionMonopolyMiniGameSettle = 6055,
    PlayerActionMonopolyGameRaiseRatio = 6056,
    PlayerActionMonopolyMoveRollDice = 6057,
    PlayerActionMonopolyMove = 6059,
    PlayerActionMonopolyBuyGoods = 6060,
    PlayerActionMonopolyUpgradeAsset = 6061,
    PlayerActionMonopolyEventRerollRandom = 6062,
    PlayerActionMonopolyDailyRefresh = 6063,
    PlayerActionMonopolyGameGuessBuyInformation = 6064,
    PlayerActionMonopolyDailyFirstEnterActivity = 6065,
    PlayerActionMonopolySocialEvent = 6066,
    PlayerActionMonopolyRaffleTicketReward = 6067,
    PlayerActionMonopolyLike = 6068,
    PlayerActionMonopolyPhaseReward = 6069,
    PlayerActionMonopolyMbtiReportReward = 6070,
    PlayerActionMonopolyDailySettle = 6071,
    PlayerActionMonopolyStart = 6072,
    PlayerActionMonopolyGetBuff = 6073,
    PlayerActionMonopolyAssetFundsChange = 6074,
    PlayerActionMonopolyAssetUpgrade = 6075,
    PlayerActionMonopolyDirectCoinGameSettle = 6076,
    PlayerActionMonopolyExtractRaffleTicket = 6077,
    PlayerActionMonopolyMbtiProgressChange = 6078,
    PlayerActionMonopolyQuizGameSettle = 6079,
    PlayerActionMonopolyEventSettle = 6080,
    PlayerActionMonopolyItemChange = 6081,
    PlayerActionMonopolyCellTrigger = 6082,
    PlayerActionMonopolyEventTrigger = 6083,
    PlayerActionMonopolyClickEffect = 6084,
    PlayerActionEvolveBuildLevelFinish = 6101,
    PlayerActionEvolveBuildShopAbilityUp = 6102,
    PlayerActionEvolveBuildShopAbilityDown = 6103,
    PlayerActionEvolveBuildTakeExpReward = 6104,
    PlayerActionEvolveBuildBattleEndAddCoin = 6105,
    PlayerActionEvolveBuildShopAbilityReset = 6106,
    PlayerActionEvolveBuildLevelStart = 6107,
    PlayerActionEvolveBuildLevelEnd = 6108,
    PlayerActionEvolveBuildStageStart = 6109,
    PlayerActionEvolveBuildStageEnd = 6110,
    PlayerActionEvolveBuildLevelLeave = 6111,
    PlayerActionClockParkUnlockScript = 6151,
    PlayerActionClockParkUnlockTalent = 6152,
    PlayerActionClockParkFinishScript = 6153,
    PlayerActionClockParkRoundUpdate = 6154,
    PlayerActionClockParkScriptBegin = 6155,
    PlayerActionRogueTournStartLevel = 6200,
    PlayerActionRogueTournFinishLevel = 6201,
    PlayerActionRogueTournExpReward = 6202,
    PlayerActionRogueTournFinishWeekChallenge = 6203,
    PlayerActionRogueTournPermanentTalentEffect = 6204,
    PlayerActionRogueTournFinishFormulaStory = 6205,
    PlayerActionRogueTournRevive = 6206,
    PlayerActionRogueTournStageBegin = 6207,
    PlayerActionRogueTournStageEnd = 6208,
    PlayerActionRogueTournPermanentEnableTalent = 6209,
    PlayerActionRogueTournPermanentResetTalent = 6210,
    PlayerActionRogueTournCocoonStageBegin = 6211,
    PlayerActionRogueTournCocoonStageEnd = 6212,
    PlayerActionRogueTournExpUpdate = 6213,
    PlayerActionRogueTournEnterRoom = 6214,
    PlayerActionRogueTournLeaveRoom = 6215,
    PlayerActionRogueTournArchiveSave = 6216,
    PlayerActionRogueTournSelectBonus = 6217,
    PlayerActionRogueTournDialogueFinish = 6218,
    PlayerActionRogueTournDoGamble = 6219,
    PlayerActionRogueTournRoomContentGenerate = 6220,
    PlayerActionRogueTournAddMiracle = 6221,
    PlayerActionRogueTournRemoveMiracle = 6222,
    PlayerActionRogueTournSelectMiracle = 6223,
    PlayerActionRogueTournDropMiracle = 6224,
    PlayerActionRogueTournAddBuff = 6225,
    PlayerActionRogueTournSelectBuff = 6226,
    PlayerActionRogueTournBuffLevelUp = 6227,
    PlayerActionRogueTournRemoveBuff = 6228,
    PlayerActionRogueTournAddFormula = 6229,
    PlayerActionRogueTournRemoveFormula = 6230,
    PlayerActionRogueTournSelectFormula = 6231,
    PlayerActionRogueTournActivateFormula = 6232,
    PlayerActionRogueTournAdventureRoomFinish = 6233,
    PlayerActionRogueTournAlterLineup = 6234,
    PlayerActionRogueTournSeasonEnableTalent = 6235,
    PlayerActionRogueTournTitanStartLevel = 6236,
    PlayerActionRogueTournTitanFinishLevel = 6237,
    PlayerActionRogueTournTitanEnterRoom = 6238,
    PlayerActionRogueTournTitanLeaveRoom = 6239,
    PlayerActionRogueTournTitanStageBegin = 6240,
    PlayerActionRogueTournTitanStageEnd = 6241,
    PlayerActionRogueTournTitanArchiveSave = 6243,
    PlayerActionRogueTournTitanAddTitanBless = 6244,
    PlayerActionRogueTournTitanSelectTitanBless = 6245,
    PlayerActionRogueTournDivisionChange = 6246,
    PlayerActionRogueTournSelectReRollMiracle = 6247,
    PlayerActionRogueTournTriggerBattleByShop = 6248,
    PlayerActionRogueTournUseSuperRewardKey = 6249,
    PlayerActionRogueWorkbenchReforgeFormula = 6281,
    PlayerActionRogueWorkbenchReforgeMiracle = 6282,
    PlayerActionRogueWorkbenchComposeMiracle = 6283,
    PlayerActionRogueWorkbenchReforgeBuff = 6284,
    PlayerActionRogueWorkbenchEnhanceBuff = 6285,
    PlayerActionMatchThreePveSettle = 6301,
    PlayerActionMatchThreeSettle = 6302,
    PlayerActionFightMatch3GameStart = 6303,
    PlayerActionFightMatch3GameEnd = 6304,
    PlayerActionFightMatch3TurnEnd = 6305,
    PlayerActionMatchThreeBirdPos = 6306,
    PlayerActionMultiplePlayInvite = 6307,
    PlayerActionMultiplePlayInviteRespond = 6308,
    PlayerActionMultiplePlayLobbyEnter = 6309,
    PlayerActionMultiplePlayLobbyQuit = 6310,
    PlayerActionMultiplePlayLobbyKick = 6311,
    PlayerActionMultiplePlayLobbyMatch = 6312,
    PlayerActionMarbleSettle = 6313,
    PlayerActionMatchThreeSoloSettle = 6314,
    PlayerActionMatchThreeV2BattleitemLevelup = 6315,
    PlayerActionMatchThreeV2PveSettle = 6316,
    PlayerActionMatchThreeV2PvpSettle = 6317,
    PlayerActionMatch3SoloGameStart = 6318,
    PlayerActionMatch3SoloGameEnd = 6319,
    PlayerActionMatch3SoloRoundEnd = 6320,
    PlayerActionMatch3RoyaleSettle = 6321,
    PlayerActionMatch3RoyaleGameStart = 6322,
    PlayerActionMatch3RoyaleGameEnd = 6323,
    PlayerActionMatch3RoyaleRoundEnd = 6324,
    PlayerActionDiceCombatSettle = 6325,
    PlayerActionSwordTrainingLearnSkill = 6351,
    PlayerActionSwordTrainingNormalAction = 6352,
    PlayerActionSwordTrainingStoryEffect = 6353,
    PlayerActionSwordTrainingEndingHint = 6354,
    PlayerActionSwordTrainingActionHint = 6355,
    PlayerActionSwordTrainingRestoreGameByExam = 6356,
    PlayerActionSwordTrainingStoryLineFirstClear = 6357,
    PlayerActionSwordTrainingTakeEndingReward = 6358,
    PlayerActionSwordTrainingStoryLineBegin = 6359,
    PlayerActionSwordTrainingEnterTurn = 6360,
    PlayerActionSwordTrainingPlanAction = 6361,
    PlayerActionSwordTrainingActionPhaseEnd = 6362,
    PlayerActionSwordTrainingStory = 6363,
    PlayerActionSwordTrainingStatusChange = 6364,
    PlayerActionSwordTrainingMoodChange = 6365,
    PlayerActionSwordTrainingBattleBegin = 6366,
    PlayerActionSwordTrainingBattleEnd = 6367,
    PlayerActionSwordTrainingCombatRankChange = 6368,
    PlayerActionSwordTrainingStoryLineEnd = 6369,
    PlayerActionSwordTrainingResumeStoryLine = 6370,
    PlayerActionSwordTrainingGameSuccess = 6371,
    PlayerActionSwordTrainingGameGiveUp = 6372,
    PlayerActionSwordTrainingExam = 6374,
    PlayerActionSwordTrainingDialogue = 6375,
    PlayerActionSwordTrainingSetSkillTrace = 6376,
    PlayerActionFightFestFinishScoreRaceMission = 6401,
    PlayerActionFightFestFinishScoreRacePhase = 6402,
    PlayerActionFightFestRaceStart = 6403,
    PlayerActionFightFestRaceEnd = 6404,
    PlayerActionFightFestChallengeStart = 6405,
    PlayerActionFightFestChallengeEnd = 6406,
    PlayerActionFightFestGetCoachItem = 6407,
    PlayerActionFightFestAcceptScoreRaceMission = 6408,
    PlayerActionPetUse = 6451,
    PlayerActionMusicRhythmPassLevelStar = 6501,
    PlayerActionMusicRhythmLevelBegin = 6502,
    PlayerActionMusicRhythmLevelEnd = 6503,
    PlayerActionTrackPhotoStageBegin = 6551,
    PlayerActionTrackPhotoStageEnd = 6552,
    PlayerActionSummonActivityBattleBegin = 6561,
    PlayerActionSummonActivityBattleEnd = 6562,
    PlayerActionRaidCollectionEnterNextRaid = 6571,
    PlayerActionDifficultyAdjustmentSet = 6572,
    PlayerActionDifficultyAdjustmentUnset = 6573,
    PlayerActionRogueArcadeAdventureRoomStart = 6580,
    PlayerActionRogueArcadeAdventureRoomFinish = 6581,
    PlayerActionRogueMagicStartLevel = 6601,
    PlayerActionRogueMagicFinishLevel = 6602,
    PlayerActionRogueMagicRevive = 6603,
    PlayerActionRogueMagicEnterRoom = 6604,
    PlayerActionRogueMagicLeaveRoom = 6605,
    PlayerActionRogueMagicAddMiracle = 6606,
    PlayerActionRogueMagicRemoveMiracle = 6607,
    PlayerActionRogueMagicStageBegin = 6608,
    PlayerActionRogueMagicStageEnd = 6609,
    PlayerActionRogueMagicEnableTalent = 6610,
    PlayerActionRogueMagicFinishStory = 6611,
    PlayerActionRogueMagicAddScepter = 6612,
    PlayerActionRogueMagicSelectScepter = 6613,
    PlayerActionRogueMagicMountUnit = 6614,
    PlayerActionRogueMagicAutoMountUnit = 6615,
    PlayerActionRogueMagicAddMagicUnit = 6616,
    PlayerActionRogueMagicRemoveMagicUnit = 6617,
    PlayerActionRogueMagicWorkbenchComposeMagicUnit = 6618,
    PlayerActionRogueMagicWorkbenchReforgeMagicUnit = 6619,
    PlayerActionRogueMagicWorkbenchLevelUpScepter = 6620,
    PlayerActionTrainPartyGamePlayStart = 6701,
    PlayerActionTrainPartyPhaseBegin = 6702,
    PlayerActionTrainPartyPhaseEnd = 6703,
    PlayerActionTrainPartyRound = 6704,
    PlayerActionTrainPartyMeetingBegin = 6705,
    PlayerActionTrainPartyMeetingEnd = 6706,
    PlayerActionTrainPartyMeetingPlayCard = 6707,
    PlayerActionTrainPartyMeetingReRoll = 6708,
    PlayerActionTrainPartyBuildAreaUnlock = 6709,
    PlayerActionTrainPartyBuildStep = 6710,
    PlayerActionTrainPartyBuildLevelAward = 6711,
    PlayerActionTrainPartyBuildingDynamicBuff = 6712,
    PlayerActionTrainPartyBuildDiy = 6713,
    PlayerActionSelfRoomBuildDiy = 6714,
    PlayerActionSkipUnlockSelfRoom = 6715,
    PlayerActionSelfRoomBuildDiyMerge = 6716,
    PlayerActionSwitchHandOpPropState = 6801,
    PlayerActionEraFlipperChangeRegionState = 6811,
    PlayerActionEraFlipperChangePropState = 6812,
    PlayerActionActivityBenefitReward = 6820,
    PlayerActionActivityBenefitJoin = 6821,
    PlayerActionActivityBenefitInitialReward = 6822,
    PlayerActionActiveActivityReward = 6831,
    PlayerActionPamSkinChangeSkin = 6851,
    PlayerActionChestFind = 6861,
    PlayerActionReissueMarkChestItemMail = 6862,
    PlayerActionMarblePassMatch = 6871,
    PlayerActionMarbleBuySeal = 6872,
    PlayerActionMarbleFightGameBegin = 6873,
    PlayerActionMarbleFightGameEnd = 6874,
    PlayerActionMarbleFightGameRound = 6875,
    PlayerActionMarbleFightGameTurn = 6876,
    PlayerActionPlanetFesLevelUp = 6901,
    PlayerActionPlanetFesActivityInit = 6902,
    PlayerActionPlanetFesAvatarLevelUp = 6903,
    PlayerActionPlanetFesTakeRegionPhaseReward = 6904,
    PlayerActionPlanetFesAddItem = 6905,
    PlayerActionPlanetFesQuest = 6906,
    PlayerActionPlanetFesBusinessDayFinish = 6907,
    PlayerActionPlanetFesAvatarStarUp = 6908,
    PlayerActionPlanetFesUnlockLand = 6909,
    PlayerActionPlanetFesBusinessEventFinish = 6910,
    PlayerActionPlanetFesActivateCard = 6911,
    PlayerActionPlanetFesSkillLevelUp = 6912,
    PlayerActionPlanetFesGacha = 6913,
    PlayerActionPlanetFesBusinessEventHandle = 6914,
    PlayerActionPlanetFesCardApplyPermission = 6915,
    PlayerActionPlanetFesCardInteract = 6916,
    PlayerActionPlanetFesToSns = 6917,
    PlayerActionPlanetFesSetWorkAvatar = 6918,
    PlayerActionPlanetFesSummary = 6919,
    PlayerActionTarotBookCharacterLevelUp = 6951,
    PlayerActionTarotBookOpenPack = 6952,
    PlayerActionTarotBookUnlockStory = 6953,
    PlayerActionTarotBookUnlockStorySingle = 6954,
    PlayerActionTarotBookFinishStory = 6955,
    PlayerActionTarotBookFinishInteraction = 6956,
    PlayerActionTarotBookChangeEnergy = 6957,
    PlayerActionTarotBookUnlockInteraction = 6958,
    PlayerActionChimeraRoundStart = 6971,
    PlayerActionChimeraRoundWorkStart = 6972,
    PlayerActionChimeraRoundWorkEnd = 6973,
    PlayerActionChimeraEndlessStart = 6974,
    PlayerActionChimeraEndlessEnd = 6975,
    PlayerActionChimeraEndlessWorkStart = 6976,
    PlayerActionChimeraEndlessWorkEnd = 6977,
    PlayerActionChimeraRankChange = 6978,
    PlayerActionChimeraGet = 6979,
    PlayerActionStoryTokenTakeActivityReward = 6991,
    PlayerActionReissueAvatarTokenItem = 6992,
    PlayerActionAvatarDeliverRewardActivityTakeReward = 7001,
    PlayerActionElfRestaurantBuyField = 7011,
    PlayerActionElfRestaurantPlantSeed = 7012,
    PlayerActionElfRestaurantRecycleSeed = 7013,
    PlayerActionElfRestaurantHarvestCrop = 7014,
    PlayerActionElfRestaurantUpgradeEmployeeLevel = 7015,
    PlayerActionElfRestaurantUpgradeFacilityLevel = 7016,
    PlayerActionElfRestaurantUpgradeRecipeLevel = 7017,
    PlayerActionElfRestaurantBuyShopItem = 7018,
    PlayerActionElfRestaurantFinishTradeOrder = 7019,
    PlayerActionElfRestaurantTakeVillagerReward = 7020,
    PlayerActionElfRestaurantSettleRestaurantPlay = 7021,
    PlayerActionElfRestaurantInit = 7022,
    PlayerActionElfRestaurantSettleProgress = 7023,
    PlayerActionElfRestaurantSettleDay = 7024,
    PlayerActionElfRestaurantAddItem = 7025,
    PlayerActionLocalLegendReward = 7031,
    PlayerActionFateLevelStart = 7041,
    PlayerActionFateLevelSettle = 7042,
    PlayerActionFateBattleStart = 7043,
    PlayerActionFateBattleEnd = 7044,
    PlayerActionFateAddHougu = 7045,
    PlayerActionFateSelectHougu = 7046,
    PlayerActionFateSelectReiju = 7047,
    PlayerActionFateRefreshReiju = 7048,
    PlayerActionFateAddCoin = 7049,
    PlayerActionFateBuyBuff = 7050,
    PlayerActionFateSellBuff = 7051,
    PlayerActionFateRefreshShop = 7052,
    PlayerActionFateLockGoods = 7053,
    PlayerActionFateUnlockGoods = 7054,
    PlayerActionFateTakeExpReward = 7055,
    PlayerActionFateAddExp = 7056,
    PlayerActionFateMasterHpChange = 7057,
    PlayerActionParkourStartLevel = 7061,
    PlayerActionParkourEndLevel = 7062,
    PlayerActionBasinChestInteractResult = 7091,
    PlayerActionRogueMiracleSwap = 7092,
    PlayerActionHipplenEndingTakeReward = 7101,
    PlayerActionHipplenGiftDeliverReward = 7102,
    PlayerActionHipplenCycleStart = 7103,
    PlayerActionHipplenCycleFinish = 7104,
    PlayerActionHipplenAgendaPlan = 7105,
    PlayerActionHipplenAgendaSettle = 7106,
    PlayerActionHipplenTrialStart = 7107,
    PlayerActionHipplenTrialFinish = 7108,
    PlayerActionHipplenStatusChange = 7109,
    PlayerActionHipplenOutfitChange = 7110,
    PlayerActionHipplenTraitUnlock = 7111,
    PlayerActionHipplenEndingUnlock = 7112,
    PlayerActionHipplenOutfitUnlock = 7113,
    PlayerActionHipplenGiftUnlock = 7114,
    PlayerActionHipplenIncidentFinish = 7115,
    PlayerActionChallengePeakStart = 7121,
    PlayerActionChallengePeakReward = 7122,
    PlayerActionChallengePeakMobStart = 7123,
    PlayerActionChallengePeakMobSettle = 7124,
    PlayerActionChallengePeakBossStart = 7125,
    PlayerActionChallengePeakBossSettle = 7126,
    PlayerActionChallengePeakFastPass = 7127,
    PlayerActionChallengePeakRecommendLineup = 7128,
    PlayerActionChallengePeakMobBattleEnd = 7129,
    PlayerActionChallengePeakMobRecordClear = 7130,
    PlayerActionCakeRaceLoan = 7141,
    PlayerActionCakeRaceSectionBegin = 7142,
    PlayerActionCakeRaceSectionEnd = 7143,
    PlayerActionCakeRaceRoomSectionSettle = 7144,
    PlayerActionCakeRaceGameSettle = 7145,
    PlayerActionCakeRaceGameBetCat = 7146,
    PlayerActionCakeRaceGameWinCoin = 7147,
    PlayerActionCakeRaceLikeFriendRanking = 7148,
    PlayerActionElationBattleBegin = 7161,
    PlayerActionElationBattleEnd = 7162,
    PlayerActionActivityHotDataChange = 7170,
    PlayerActionChimeraDuelGameSettle = 7181,
    PlayerActionChimeraDuelMasterUnlock = 7182,
    PlayerActionChimeraDuelGameStart = 7183,
    PlayerActionChimeraDuelBattleStart = 7184,
    PlayerActionChimeraDuelBattleEnd = 7185,
    PlayerActionChimeraDuelChimeraBuy = 7186,
    PlayerActionChimeraDuelItemBuy = 7187,
    PlayerActionChimeraDuelShopRefresh = 7188,
    PlayerActionChimeraDuelChimeraEnhance = 7189,
    PlayerActionChimeraDuelChimeraSell = 7190,
    PlayerActionChimeraDuelShopStart = 7191,
    PlayerActionChimeraDuelShopEnd = 7192,
    PlayerActionChimeraDuelFriendPvpLineupSave = 7193,
    PlayerActionChimeraDuelDefendLineupSet = 7194,
    PlayerActionMazePuzzleFinishChenLingGameBoy = 7201,
    PlayerActionMazePuzzleFiveDimMoneyChange = 7202,
    PlayerActionMazePuzzleFinishFiveDimMiniGame = 7203,
    PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode = 7204,
    PlayerActionMazePuzzleEnterFiveDimGame = 7205,
    PlayerActionMazePuzzleLeaveFiveDimGame = 7206,
    PlayerActionMazePuzzleFiveDimGameSkillChange = 7207,
    PlayerActionGridFightGameStart = 7251,
    PlayerActionGridFightGameEnd = 7252,
    PlayerActionGridFightRoundStart = 7253,
    PlayerActionGridFightRoundEnd = 7254,
    PlayerActionGridFightBattleStart = 7255,
    PlayerActionGridFightBattleEnd = 7256,
    PlayerActionGridFightBattleRole = 7257,
    PlayerActionGridFightPortalRefresh = 7258,
    PlayerActionGridFightPortalSelect = 7259,
    PlayerActionGridFightAugmentRefresh = 7260,
    PlayerActionGridFightAugmentSelect = 7261,
    PlayerActionGridFightShopRefresh = 7262,
    PlayerActionGridFightShopBuy = 7263,
    PlayerActionGridFightSupplyRefresh = 7264,
    PlayerActionGridFightSupplySelect = 7265,
    PlayerActionGridFightForgeOpen = 7266,
    PlayerActionGridFightSpecialShopBuy = 7267,
    PlayerActionGridFightGetExp = 7268,
    PlayerActionGridFightGetOrb = 7269,
    PlayerActionGridFightUseOrb = 7270,
    PlayerActionGridFightGetRole = 7271,
    PlayerActionGridFightGetCoin = 7272,
    PlayerActionGridFightGetFreeRefresh = 7273,
    PlayerActionGridFightGetItem = 7274,
    PlayerActionGridFightGetEquip = 7275,
    PlayerActionGridFightDressEquip = 7276,
    PlayerActionGridFightGetHp = 7277,
    PlayerActionGridFightWeeklyScoreChange = 7278,
    PlayerActionGridFightGetWeeklyReward = 7279,
    PlayerActionGridFightSeasonExpChange = 7280,
    PlayerActionGridFightTalentEnable = 7281,
    PlayerActionGridFightTalentReset = 7282,
    PlayerActionGridFightTutorialTaskFinish = 7283,
    PlayerActionGridFightEliteBranchRefresh = 7284,
    PlayerActionGridFightTutorialResume = 7285,
    PlayerActionGridFightGetProjection = 7286,
    PlayerActionGridFightGetPresent = 7287,
    PlayerActionGridFightOpenPresent = 7288,
    PlayerActionGridFightSettleSeasonEnd = 7289,
    PlayerActionGridFightFavoriteArchive = 7290,
    PlayerActionLocalLegendBattleBegin = 7361,
    PlayerActionLocalLegendBattleEnd = 7362,
    PlayerActionDiceCombatBuyShopGood = 7351,
    PlayerActionDiceCombatUpgradeAvatar = 7352,
    PlayerActionDiceCombatFinishPveStage = 7353,
    PlayerActionDiceCombatBegin = 7354,
    PlayerActionDiceCombatTurnEnd = 7355,
    PlayerActionDiceCombatEnd = 7356,
    PlayerActionDiceCombatScoreChange = 7357,
    PlayerActionDiceCombatChangeColorDice = 7358,
    PlayerActionInteractiveTriggerMazeBuffAdd = 7371,
    PlayerActionNewYearBoatTakeReward = 7451,
    PlayerActionNewYearBoatSelectBoat = 7452,
    PlayerActionNewYearBoatPeriodSettle = 7453,
    PlayerActionJukeboxSetting = 7471,
    PlayerActionJukeboxSettingReset = 7472,
    PlayerActionLimaoNewsSubmitIssue = 7486,
    PlayerActionLimaoNewsSubmitPost = 7487,
    PlayerActionLimaoNewsOfficeSurveyStateChange = 7488,
    PlayerActionLimaoNewsTriggerMessage = 7489,
    PlayerActionLimaoNewsFinishMessage = 7490,
    PlayerActionLimaoNewsFinishCondition = 7491,
    PlayerActionLimaoNewsUnlockPost = 7492,
    PlayerActionLimaoNewsReplyComment = 7493,
    PlayerActionLimaoNewsBanPost = 7494,
    PlayerActionLimaoNewsTriggerOfficeEvent = 7495,
    PlayerActionLimaoNewsFinishOfficeEvent = 7496,
    PlayerActionLimaoNewsUpvoteContent = 7497,
}
impl PlayerActionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PlayerActionNone => "PlayerActionType_PlayerActionNone",
            Self::PlayerActionRegister => "PlayerActionType_PlayerActionRegister",
            Self::PlayerActionLogin => "PlayerActionType_PlayerActionLogin",
            Self::PlayerActionLogout => "PlayerActionType_PlayerActionLogout",
            Self::PlayerActionAddExp => "PlayerActionType_PlayerActionAddExp",
            Self::PlayerActionLevelUp => "PlayerActionType_PlayerActionLevelUp",
            Self::PlayerActionAddMaterial => "PlayerActionType_PlayerActionAddMaterial",
            Self::PlayerActionSaveStat => "PlayerActionType_PlayerActionSaveStat",
            Self::PlayerActionTravelBrochureInteract => {
                "PlayerActionType_PlayerActionTravelBrochureInteract"
            }
            Self::PlayerActionRelay => "PlayerActionType_PlayerActionRelay",
            Self::PlayerActionRecharge => "PlayerActionType_PlayerActionRecharge",
            Self::PlayerActionBuyGoods => "PlayerActionType_PlayerActionBuyGoods",
            Self::PlayerActionAddCoin => "PlayerActionType_PlayerActionAddCoin",
            Self::PlayerActionMonthCardDailyHcoin => {
                "PlayerActionType_PlayerActionMonthCardDailyHcoin"
            }
            Self::PlayerActionMonthCardBuyMcoin => {
                "PlayerActionType_PlayerActionMonthCardBuyMcoin"
            }
            Self::PlayerActionRechargeFreeCoin => {
                "PlayerActionType_PlayerActionRechargeFreeCoin"
            }
            Self::PlayerActionAddMonthCard => "PlayerActionType_PlayerActionAddMonthCard",
            Self::PlayerActionRechargeGiftPay => {
                "PlayerActionType_PlayerActionRechargeGiftPay"
            }
            Self::PlayerActionRechargeGiftFree => {
                "PlayerActionType_PlayerActionRechargeGiftFree"
            }
            Self::PlayerActionRechargeBenefit => {
                "PlayerActionType_PlayerActionRechargeBenefit"
            }
            Self::PlayerActionRechargeGiftTakeReward => {
                "PlayerActionType_PlayerActionRechargeGiftTakeReward"
            }
            Self::PlayerActionRechargeGiftReach => {
                "PlayerActionType_PlayerActionRechargeGiftReach"
            }
            Self::PlayerActionRechargeBenefitReach => {
                "PlayerActionType_PlayerActionRechargeBenefitReach"
            }
            Self::PlayerActionMonthCardEndMail => {
                "PlayerActionType_PlayerActionMonthCardEndMail"
            }
            Self::PlayerActionMissionAccept => {
                "PlayerActionType_PlayerActionMissionAccept"
            }
            Self::PlayerActionMissionFinish => {
                "PlayerActionType_PlayerActionMissionFinish"
            }
            Self::PlayerActionMissionFail => "PlayerActionType_PlayerActionMissionFail",
            Self::PlayerActionMainMissionAccept => {
                "PlayerActionType_PlayerActionMainMissionAccept"
            }
            Self::PlayerActionSubMissionAccept => {
                "PlayerActionType_PlayerActionSubMissionAccept"
            }
            Self::PlayerActionMainMissionFinish => {
                "PlayerActionType_PlayerActionMainMissionFinish"
            }
            Self::PlayerActionSubMissionFinish => {
                "PlayerActionType_PlayerActionSubMissionFinish"
            }
            Self::PlayerActionDailyTaskFinish => {
                "PlayerActionType_PlayerActionDailyTaskFinish"
            }
            Self::PlayerActionDailyTaskTakeReward => {
                "PlayerActionType_PlayerActionDailyTaskTakeReward"
            }
            Self::PlayerActionNpcTalkReward => {
                "PlayerActionType_PlayerActionNpcTalkReward"
            }
            Self::PlayerActionMainMissionRecover => {
                "PlayerActionType_PlayerActionMainMissionRecover"
            }
            Self::PlayerActionMainMissionDisable => {
                "PlayerActionType_PlayerActionMainMissionDisable"
            }
            Self::PlayerActionConsumeItemSubMissionFinish => {
                "PlayerActionType_PlayerActionConsumeItemSubMissionFinish"
            }
            Self::PlayerActionItemMonitorAllSources => {
                "PlayerActionType_PlayerActionItemMonitorAllSources"
            }
            Self::PlayerActionGm => "PlayerActionType_PlayerActionGm",
            Self::PlayerActionCustomOp => "PlayerActionType_PlayerActionCustomOp",
            Self::PlayerActionCheckSum => "PlayerActionType_PlayerActionCheckSum",
            Self::PlayerActionPlayerLocation => {
                "PlayerActionType_PlayerActionPlayerLocation"
            }
            Self::PlayerActionChangeLanguage => {
                "PlayerActionType_PlayerActionChangeLanguage"
            }
            Self::PlayerActionClientReport => "PlayerActionType_PlayerActionClientReport",
            Self::PlayerActionAceReport => "PlayerActionType_PlayerActionAceReport",
            Self::PlayerActionPlayerPowerInfo => {
                "PlayerActionType_PlayerActionPlayerPowerInfo"
            }
            Self::PlayerActionDailyRefresh => "PlayerActionType_PlayerActionDailyRefresh",
            Self::PlayerActionAvatarValueInfo => {
                "PlayerActionType_PlayerActionAvatarValueInfo"
            }
            Self::PlayerActionMoveCheckFailedReport => {
                "PlayerActionType_PlayerActionMoveCheckFailedReport"
            }
            Self::PlayerActionBattleFailedReport => {
                "PlayerActionType_PlayerActionBattleFailedReport"
            }
            Self::PlayerActionSecurityReport => {
                "PlayerActionType_PlayerActionSecurityReport"
            }
            Self::PlayerActionAvatarPromotion => {
                "PlayerActionType_PlayerActionAvatarPromotion"
            }
            Self::PlayerActionAvatarAdd => "PlayerActionType_PlayerActionAvatarAdd",
            Self::PlayerActionAvatarUseExpItem => {
                "PlayerActionType_PlayerActionAvatarUseExpItem"
            }
            Self::PlayerActionAvatarLevelUp => {
                "PlayerActionType_PlayerActionAvatarLevelUp"
            }
            Self::PlayerActionSkillTreeUp => "PlayerActionType_PlayerActionSkillTreeUp",
            Self::PlayerActionAvatarHpChange => {
                "PlayerActionType_PlayerActionAvatarHpChange"
            }
            Self::PlayerActionAvatarMpChange => {
                "PlayerActionType_PlayerActionAvatarMpChange"
            }
            Self::PlayerActionAvatarAddExp => "PlayerActionType_PlayerActionAvatarAddExp",
            Self::PlayerActionAvatarRankUp => "PlayerActionType_PlayerActionAvatarRankUp",
            Self::PlayerActionAvatarRepeated => {
                "PlayerActionType_PlayerActionAvatarRepeated"
            }
            Self::PlayerActionMpMaxChange => "PlayerActionType_PlayerActionMpMaxChange",
            Self::PlayerActionAvatarTakePromotionReward => {
                "PlayerActionType_PlayerActionAvatarTakePromotionReward"
            }
            Self::PlayerActionAvatarRelicAffixInfo => {
                "PlayerActionType_PlayerActionAvatarRelicAffixInfo"
            }
            Self::PlayerActionAvatarMark => "PlayerActionType_PlayerActionAvatarMark",
            Self::PlayerActionAvatarSystemPowerReset => {
                "PlayerActionType_PlayerActionAvatarSystemPowerReset"
            }
            Self::PlayerActionAvatarChangePath => {
                "PlayerActionType_PlayerActionAvatarChangePath"
            }
            Self::PlayerActionSetGrowthTargetAvatar => {
                "PlayerActionType_PlayerActionSetGrowthTargetAvatar"
            }
            Self::PlayerActionDelAvatar => "PlayerActionType_PlayerActionDelAvatar",
            Self::PlayerActionAvatarSkinChange => {
                "PlayerActionType_PlayerActionAvatarSkinChange"
            }
            Self::PlayerActionSetGrowthTargetFunctionConfig => {
                "PlayerActionType_PlayerActionSetGrowthTargetFunctionConfig"
            }
            Self::PlayerActionAvatarSkinActivityReissue => {
                "PlayerActionType_PlayerActionAvatarSkinActivityReissue"
            }
            Self::PlayerActionSetAvatarEnhancedId => {
                "PlayerActionType_PlayerActionSetAvatarEnhancedId"
            }
            Self::PlayerActionDressPlayerOutfit => {
                "PlayerActionType_PlayerActionDressPlayerOutfit"
            }
            Self::PlayerActionStageBegin => "PlayerActionType_PlayerActionStageBegin",
            Self::PlayerActionStageEnd => "PlayerActionType_PlayerActionStageEnd",
            Self::PlayerActionCocoonStageBegin => {
                "PlayerActionType_PlayerActionCocoonStageBegin"
            }
            Self::PlayerActionCocoonStageEnd => {
                "PlayerActionType_PlayerActionCocoonStageEnd"
            }
            Self::PlayerActionFarmElementEnd => {
                "PlayerActionType_PlayerActionFarmElementEnd"
            }
            Self::PlayerActionElementStageEnd => {
                "PlayerActionType_PlayerActionElementStageEnd"
            }
            Self::PlayerActionCocoonSweep => "PlayerActionType_PlayerActionCocoonSweep",
            Self::PlayerActionFarmElementSweep => {
                "PlayerActionType_PlayerActionFarmElementSweep"
            }
            Self::PlayerActionRecoverStamina => {
                "PlayerActionType_PlayerActionRecoverStamina"
            }
            Self::PlayerActionExchangeStamina => {
                "PlayerActionType_PlayerActionExchangeStamina"
            }
            Self::PlayerActionLoginReward => "PlayerActionType_PlayerActionLoginReward",
            Self::PlayerActionModifyNickname => {
                "PlayerActionType_PlayerActionModifyNickname"
            }
            Self::PlayerActionGetLevelReward => {
                "PlayerActionType_PlayerActionGetLevelReward"
            }
            Self::PlayerActionWorldLevelUp => "PlayerActionType_PlayerActionWorldLevelUp",
            Self::PlayerActionAddStamina => "PlayerActionType_PlayerActionAddStamina",
            Self::PlayerActionGameplayBirthdayRewardMail => {
                "PlayerActionType_PlayerActionGameplayBirthdayRewardMail"
            }
            Self::PlayerActionRechargeRebateReward => {
                "PlayerActionType_PlayerActionRechargeRebateReward"
            }
            Self::PlayerActionGameplayBirthdaySet => {
                "PlayerActionType_PlayerActionGameplayBirthdaySet"
            }
            Self::PlayerActionReserveStaminaExchange => {
                "PlayerActionType_PlayerActionReserveStaminaExchange"
            }
            Self::PlayerActionReserveStaminaAdd => {
                "PlayerActionType_PlayerActionReserveStaminaAdd"
            }
            Self::PlayerActionReserveStaminaChange => {
                "PlayerActionType_PlayerActionReserveStaminaChange"
            }
            Self::PlayerActionNowStamina => "PlayerActionType_PlayerActionNowStamina",
            Self::PlayerActionFtcResetNickname => {
                "PlayerActionType_PlayerActionFtcResetNickname"
            }
            Self::PlayerActionReserveAndFuelExchangeStamina => {
                "PlayerActionType_PlayerActionReserveAndFuelExchangeStamina"
            }
            Self::PlayerActionMail => "PlayerActionType_PlayerActionMail",
            Self::PlayerActionMailOpByUser => "PlayerActionType_PlayerActionMailOpByUser",
            Self::PlayerActionMailOpByMuip => "PlayerActionType_PlayerActionMailOpByMuip",
            Self::PlayerActionMailOpByGm => "PlayerActionType_PlayerActionMailOpByGm",
            Self::PlayerActionMailOpByFull => "PlayerActionType_PlayerActionMailOpByFull",
            Self::PlayerActionMailOpByExpire => {
                "PlayerActionType_PlayerActionMailOpByExpire"
            }
            Self::PlayerActionMailOpByInternal => {
                "PlayerActionType_PlayerActionMailOpByInternal"
            }
            Self::PlayerActionAddMail => "PlayerActionType_PlayerActionAddMail",
            Self::PlayerActionDelMail => "PlayerActionType_PlayerActionDelMail",
            Self::PlayerActionTakeAttachment => {
                "PlayerActionType_PlayerActionTakeAttachment"
            }
            Self::PlayerActionReadMail => "PlayerActionType_PlayerActionReadMail",
            Self::PlayerActionBattleAvatar => "PlayerActionType_PlayerActionBattleAvatar",
            Self::PlayerActionBattleMonster => {
                "PlayerActionType_PlayerActionBattleMonster"
            }
            Self::PlayerActionBattleEnd => "PlayerActionType_PlayerActionBattleEnd",
            Self::PlayerActionBattleReplay => "PlayerActionType_PlayerActionBattleReplay",
            Self::PlayerActionBattleAvatarDeath => {
                "PlayerActionType_PlayerActionBattleAvatarDeath"
            }
            Self::PlayerActionBattleSwitchPhase => {
                "PlayerActionType_PlayerActionBattleSwitchPhase"
            }
            Self::PlayerActionBattleMonsterSkill => {
                "PlayerActionType_PlayerActionBattleMonsterSkill"
            }
            Self::PlayerActionBattleRebattle => {
                "PlayerActionType_PlayerActionBattleRebattle"
            }
            Self::PlayerActionBattleAvatarServant => {
                "PlayerActionType_PlayerActionBattleAvatarServant"
            }
            Self::PlayerActionMissionReward => {
                "PlayerActionType_PlayerActionMissionReward"
            }
            Self::PlayerActionQuestAccept => "PlayerActionType_PlayerActionQuestAccept",
            Self::PlayerActionQuestFinish => "PlayerActionType_PlayerActionQuestFinish",
            Self::PlayerActionQuestRemove => "PlayerActionType_PlayerActionQuestRemove",
            Self::PlayerActionQuestReward => "PlayerActionType_PlayerActionQuestReward",
            Self::PlayerActionQuestAutoClose => {
                "PlayerActionType_PlayerActionQuestAutoClose"
            }
            Self::PlayerActionQuestExpired => "PlayerActionType_PlayerActionQuestExpired",
            Self::PlayerActionMissionRequired => {
                "PlayerActionType_PlayerActionMissionRequired"
            }
            Self::PlayerActionSubmissionReward => {
                "PlayerActionType_PlayerActionSubmissionReward"
            }
            Self::PlayerActionAchievementLevelReward => {
                "PlayerActionType_PlayerActionAchievementLevelReward"
            }
            Self::PlayerActionQuestDelete => "PlayerActionType_PlayerActionQuestDelete",
            Self::PlayerActionSubMissionRewarda => {
                "PlayerActionType_PlayerActionSubMissionRewarda"
            }
            Self::PlayerActionMissionCompensate => {
                "PlayerActionType_PlayerActionMissionCompensate"
            }
            Self::PlayerActionMissionRecycle => {
                "PlayerActionType_PlayerActionMissionRecycle"
            }
            Self::PlayerActionQuestReset => "PlayerActionType_PlayerActionQuestReset",
            Self::PlayerActionQuestOptionalReward => {
                "PlayerActionType_PlayerActionQuestOptionalReward"
            }
            Self::PlayerActionMcvChange => "PlayerActionType_PlayerActionMcvChange",
            Self::PlayerActionQuestReissue => "PlayerActionType_PlayerActionQuestReissue",
            Self::PlayerActionPropInteract => "PlayerActionType_PlayerActionPropInteract",
            Self::PlayerActionAvatarMazeSkill => {
                "PlayerActionType_PlayerActionAvatarMazeSkill"
            }
            Self::PlayerActionEnterMaze => "PlayerActionType_PlayerActionEnterMaze",
            Self::PlayerActionOrdinaryInteract => {
                "PlayerActionType_PlayerActionOrdinaryInteract"
            }
            Self::PlayerActionChestInteract => {
                "PlayerActionType_PlayerActionChestInteract"
            }
            Self::PlayerActionCheckPointUnlock => {
                "PlayerActionType_PlayerActionCheckPointUnlock"
            }
            Self::PlayerActionCheckPointInteract => {
                "PlayerActionType_PlayerActionCheckPointInteract"
            }
            Self::PlayerActionCheckPointRevive => {
                "PlayerActionType_PlayerActionCheckPointRevive"
            }
            Self::PlayerActionCheckPointTransfer => {
                "PlayerActionType_PlayerActionCheckPointTransfer"
            }
            Self::PlayerActionMonsterInteract => {
                "PlayerActionType_PlayerActionMonsterInteract"
            }
            Self::PlayerActionNpcInteract => "PlayerActionType_PlayerActionNpcInteract",
            Self::PlayerActionPropHit => "PlayerActionType_PlayerActionPropHit",
            Self::PlayerActionPrelogueRevive => {
                "PlayerActionType_PlayerActionPrelogueRevive"
            }
            Self::PlayerActionPropState => "PlayerActionType_PlayerActionPropState",
            Self::PlayerActionCheckPointRecover => {
                "PlayerActionType_PlayerActionCheckPointRecover"
            }
            Self::PlayerActionMechanismBar => "PlayerActionType_PlayerActionMechanismBar",
            Self::PlayerActionSubmitOrigamiItem => {
                "PlayerActionType_PlayerActionSubmitOrigamiItem"
            }
            Self::PlayerActionMazeBuffDropItem => {
                "PlayerActionType_PlayerActionMazeBuffDropItem"
            }
            Self::PlayerActionFsvChange => "PlayerActionType_PlayerActionFsvChange",
            Self::PlayerActionTimelinePropState => {
                "PlayerActionType_PlayerActionTimelinePropState"
            }
            Self::PlayerActionGroupPropertyChange => {
                "PlayerActionType_PlayerActionGroupPropertyChange"
            }
            Self::PlayerActionOpenGroupPropertyChest => {
                "PlayerActionType_PlayerActionOpenGroupPropertyChest"
            }
            Self::PlayerActionEquipmentPromotion => {
                "PlayerActionType_PlayerActionEquipmentPromotion"
            }
            Self::PlayerActionAddItem => "PlayerActionType_PlayerActionAddItem",
            Self::PlayerActionUseItem => "PlayerActionType_PlayerActionUseItem",
            Self::PlayerActionEquipmentRankUp => {
                "PlayerActionType_PlayerActionEquipmentRankUp"
            }
            Self::PlayerActionEquipmentLevelUp => {
                "PlayerActionType_PlayerActionEquipmentLevelUp"
            }
            Self::PlayerActionExpUpEquipmentReturn => {
                "PlayerActionType_PlayerActionExpUpEquipmentReturn"
            }
            Self::PlayerActionBagFullRewardMail => {
                "PlayerActionType_PlayerActionBagFullRewardMail"
            }
            Self::PlayerActionEquipmentAdd => "PlayerActionType_PlayerActionEquipmentAdd",
            Self::PlayerActionEquipmentWear => {
                "PlayerActionType_PlayerActionEquipmentWear"
            }
            Self::PlayerActionItemCompose => "PlayerActionType_PlayerActionItemCompose",
            Self::PlayerActionRelicLevelUp => "PlayerActionType_PlayerActionRelicLevelUp",
            Self::PlayerActionExpUpRelicReturn => {
                "PlayerActionType_PlayerActionExpUpRelicReturn"
            }
            Self::PlayerActionRelicNumChanged => {
                "PlayerActionType_PlayerActionRelicNumChanged"
            }
            Self::PlayerActionRelicWear => "PlayerActionType_PlayerActionRelicWear",
            Self::PlayerActionRelicCompose => "PlayerActionType_PlayerActionRelicCompose",
            Self::PlayerActionSellItem => "PlayerActionType_PlayerActionSellItem",
            Self::PlayerActionUnlockMusic => "PlayerActionType_PlayerActionUnlockMusic",
            Self::PlayerActionExchangeHcoinWithPayMcoin => {
                "PlayerActionType_PlayerActionExchangeHcoinWithPayMcoin"
            }
            Self::PlayerActionGetReward => "PlayerActionType_PlayerActionGetReward",
            Self::PlayerActionExchangeHcoinWithFreeMcoin => {
                "PlayerActionType_PlayerActionExchangeHcoinWithFreeMcoin"
            }
            Self::PlayerActionItemComposeFormulaUnlock => {
                "PlayerActionType_PlayerActionItemComposeFormulaUnlock"
            }
            Self::PlayerActionExchangeHcoin => {
                "PlayerActionType_PlayerActionExchangeHcoin"
            }
            Self::PlayerActionCityShopLevelReward => {
                "PlayerActionType_PlayerActionCityShopLevelReward"
            }
            Self::PlayerActionItemRecycle => "PlayerActionType_PlayerActionItemRecycle",
            Self::PlayerActionMuseumFundsConsume => {
                "PlayerActionType_PlayerActionMuseumFundsConsume"
            }
            Self::PlayerActionMuseumEventBuyStuff => {
                "PlayerActionType_PlayerActionMuseumEventBuyStuff"
            }
            Self::PlayerActionMuseumMarketBuyStuff => {
                "PlayerActionType_PlayerActionMuseumMarketBuyStuff"
            }
            Self::PlayerActionMuseumRandomEvent => {
                "PlayerActionType_PlayerActionMuseumRandomEvent"
            }
            Self::PlayerActionMuseumInitialItem => {
                "PlayerActionType_PlayerActionMuseumInitialItem"
            }
            Self::PlayerActionOptionalBoxReward => {
                "PlayerActionType_PlayerActionOptionalBoxReward"
            }
            Self::PlayerActionDestroyItem => "PlayerActionType_PlayerActionDestroyItem",
            Self::PlayerActionTransferExp => "PlayerActionType_PlayerActionTransferExp",
            Self::PlayerActionOndutyUse => "PlayerActionType_PlayerActionOndutyUse",
            Self::PlayerActionItemMark => "PlayerActionType_PlayerActionItemMark",
            Self::PlayerActionRelicDiscard => "PlayerActionType_PlayerActionRelicDiscard",
            Self::PlayerActionGeneralVirtualItemChange => {
                "PlayerActionType_PlayerActionGeneralVirtualItemChange"
            }
            Self::PlayerActionRelicLock => "PlayerActionType_PlayerActionRelicLock",
            Self::PlayerActionRelicFilterPlanSave => {
                "PlayerActionType_PlayerActionRelicFilterPlanSave"
            }
            Self::PlayerActionRelicFilterPlanDelete => {
                "PlayerActionType_PlayerActionRelicFilterPlanDelete"
            }
            Self::PlayerActionRelicFilterPlanMark => {
                "PlayerActionType_PlayerActionRelicFilterPlanMark"
            }
            Self::PlayerActionRelicSell => "PlayerActionType_PlayerActionRelicSell",
            Self::PlayerActionRelicReforge => "PlayerActionType_PlayerActionRelicReforge",
            Self::PlayerActionRelicSmartWearCustomPlan => {
                "PlayerActionType_PlayerActionRelicSmartWearCustomPlan"
            }
            Self::PlayerActionRecoverRelic => "PlayerActionType_PlayerActionRecoverRelic",
            Self::PlayerActionRecoverEquipment => {
                "PlayerActionType_PlayerActionRecoverEquipment"
            }
            Self::PlayerActionEquipmentSell => {
                "PlayerActionType_PlayerActionEquipmentSell"
            }
            Self::PlayerActionRelicSmartWearPinRelic => {
                "PlayerActionType_PlayerActionRelicSmartWearPinRelic"
            }
            Self::PlayerActionRelicCocoonSetting => {
                "PlayerActionType_PlayerActionRelicCocoonSetting"
            }
            Self::PlayerActionPersonalCardChange => {
                "PlayerActionType_PlayerActionPersonalCardChange"
            }
            Self::PlayerActionPhoneCaseChange => {
                "PlayerActionType_PlayerActionPhoneCaseChange"
            }
            Self::PlayerActionDeliveryItemReward => {
                "PlayerActionType_PlayerActionDeliveryItemReward"
            }
            Self::PlayerActionItemAutoTransfer => {
                "PlayerActionType_PlayerActionItemAutoTransfer"
            }
            Self::PlayerActionItemAutoTransferInBag => {
                "PlayerActionType_PlayerActionItemAutoTransferInBag"
            }
            Self::PlayerActionItemAutoTransferOnAdd => {
                "PlayerActionType_PlayerActionItemAutoTransferOnAdd"
            }
            Self::PlayerActionAddExtraCoin => "PlayerActionType_PlayerActionAddExtraCoin",
            Self::PlayerActionVariableDiceExchangePartnerCoin => {
                "PlayerActionType_PlayerActionVariableDiceExchangePartnerCoin"
            }
            Self::PlayerActionRelicBox => "PlayerActionType_PlayerActionRelicBox",
            Self::PlayerActionRelicBoxSettle => {
                "PlayerActionType_PlayerActionRelicBoxSettle"
            }
            Self::PlayerActionRelicBoxRegular => {
                "PlayerActionType_PlayerActionRelicBoxRegular"
            }
            Self::PlayerActionRelicReplace => "PlayerActionType_PlayerActionRelicReplace",
            Self::PlayerActionEquipmentUpCostPileSetting => {
                "PlayerActionType_PlayerActionEquipmentUpCostPileSetting"
            }
            Self::PlayerActionRelicBoxShow => "PlayerActionType_PlayerActionRelicBoxShow",
            Self::PlayerActionTutorialGuideFinish => {
                "PlayerActionType_PlayerActionTutorialGuideFinish"
            }
            Self::PlayerActionTutorial => "PlayerActionType_PlayerActionTutorial",
            Self::PlayerActionTutorialGuide => {
                "PlayerActionType_PlayerActionTutorialGuide"
            }
            Self::PlayerActionMonsterDrop => "PlayerActionType_PlayerActionMonsterDrop",
            Self::PlayerActionFinishChallenge => {
                "PlayerActionType_PlayerActionFinishChallenge"
            }
            Self::PlayerActionChallengeStars => {
                "PlayerActionType_PlayerActionChallengeStars"
            }
            Self::PlayerActionChallengeStart => {
                "PlayerActionType_PlayerActionChallengeStart"
            }
            Self::PlayerActionChallengeEnd => "PlayerActionType_PlayerActionChallengeEnd",
            Self::PlayerActionChallengeWin => "PlayerActionType_PlayerActionChallengeWin",
            Self::PlayerActionChallengeFail => {
                "PlayerActionType_PlayerActionChallengeFail"
            }
            Self::PlayerActionChallengeLeave => {
                "PlayerActionType_PlayerActionChallengeLeave"
            }
            Self::PlayerActionChallengeSwitch => {
                "PlayerActionType_PlayerActionChallengeSwitch"
            }
            Self::PlayerActionChallengeBonusReward => {
                "PlayerActionType_PlayerActionChallengeBonusReward"
            }
            Self::PlayerActionChallengeStarsReward => {
                "PlayerActionType_PlayerActionChallengeStarsReward"
            }
            Self::PlayerActionChallengeRestart => {
                "PlayerActionType_PlayerActionChallengeRestart"
            }
            Self::PlayerActionChallengeStoryStart => {
                "PlayerActionType_PlayerActionChallengeStoryStart"
            }
            Self::PlayerActionChallengeStoryEnd => {
                "PlayerActionType_PlayerActionChallengeStoryEnd"
            }
            Self::PlayerActionChallengeFastPass => {
                "PlayerActionType_PlayerActionChallengeFastPass"
            }
            Self::PlayerActionChallengeStoryFastPass => {
                "PlayerActionType_PlayerActionChallengeStoryFastPass"
            }
            Self::PlayerActionChallengeMemoryFastPass => {
                "PlayerActionType_PlayerActionChallengeMemoryFastPass"
            }
            Self::PlayerActionChallengeBattleTarget => {
                "PlayerActionType_PlayerActionChallengeBattleTarget"
            }
            Self::PlayerActionChallengeBossEnd => {
                "PlayerActionType_PlayerActionChallengeBossEnd"
            }
            Self::PlayerActionChallengeBossFastPass => {
                "PlayerActionType_PlayerActionChallengeBossFastPass"
            }
            Self::PlayerActionChallengeStartPartial => {
                "PlayerActionType_PlayerActionChallengeStartPartial"
            }
            Self::PlayerActionChallengeBossPhaseStart => {
                "PlayerActionType_PlayerActionChallengeBossPhaseStart"
            }
            Self::PlayerActionChallengeBossPhaseEnd => {
                "PlayerActionType_PlayerActionChallengeBossPhaseEnd"
            }
            Self::PlayerActionChallengeBossPhaseEndBeforeBattle => {
                "PlayerActionType_PlayerActionChallengeBossPhaseEndBeforeBattle"
            }
            Self::PlayerActionChallengeRecommendLineup => {
                "PlayerActionType_PlayerActionChallengeRecommendLineup"
            }
            Self::PlayerActionChallengeStoryFeverBattleEnd => {
                "PlayerActionType_PlayerActionChallengeStoryFeverBattleEnd"
            }
            Self::PlayerActionTeamInfoChange => {
                "PlayerActionType_PlayerActionTeamInfoChange"
            }
            Self::PlayerActionChangeCurrentAvatar => {
                "PlayerActionType_PlayerActionChangeCurrentAvatar"
            }
            Self::PlayerActionCreateVirtualTeam => {
                "PlayerActionType_PlayerActionCreateVirtualTeam"
            }
            Self::PlayerActionTeamNameEdit => "PlayerActionType_PlayerActionTeamNameEdit",
            Self::PlayerActionReplaceLineupAvatar => {
                "PlayerActionType_PlayerActionReplaceLineupAvatar"
            }
            Self::PlayerActionAvatarBuffChange => {
                "PlayerActionType_PlayerActionAvatarBuffChange"
            }
            Self::PlayerActionEnvBuffChange => {
                "PlayerActionType_PlayerActionEnvBuffChange"
            }
            Self::PlayerActionGameCore => "PlayerActionType_PlayerActionGameCore",
            Self::PlayerActionAvatarGlobalBuff => {
                "PlayerActionType_PlayerActionAvatarGlobalBuff"
            }
            Self::PlayerActionRogueExploreStart => {
                "PlayerActionType_PlayerActionRogueExploreStart"
            }
            Self::PlayerActionRogueEnterRoom => {
                "PlayerActionType_PlayerActionRogueEnterRoom"
            }
            Self::PlayerActionRogueLeaveRoom => {
                "PlayerActionType_PlayerActionRogueLeaveRoom"
            }
            Self::PlayerActionRogueExploreFinish => {
                "PlayerActionType_PlayerActionRogueExploreFinish"
            }
            Self::PlayerActionRogueSelectBuff => {
                "PlayerActionType_PlayerActionRogueSelectBuff"
            }
            Self::PlayerActionRogueRollBuff => {
                "PlayerActionType_PlayerActionRogueRollBuff"
            }
            Self::PlayerActionRogueRevive => "PlayerActionType_PlayerActionRogueRevive",
            Self::PlayerActionRogueChallengeStart => {
                "PlayerActionType_PlayerActionRogueChallengeStart"
            }
            Self::PlayerActionRogueMiracle => "PlayerActionType_PlayerActionRogueMiracle",
            Self::PlayerActionRogueAddBuff => "PlayerActionType_PlayerActionRogueAddBuff",
            Self::PlayerActionRoguePickAvatar => {
                "PlayerActionType_PlayerActionRoguePickAvatar"
            }
            Self::PlayerActionRogueSeasonChanged => {
                "PlayerActionType_PlayerActionRogueSeasonChanged"
            }
            Self::PlayerActionRogueAeonLevelUp => {
                "PlayerActionType_PlayerActionRogueAeonLevelUp"
            }
            Self::PlayerActionRogueOpenDoor => {
                "PlayerActionType_PlayerActionRogueOpenDoor"
            }
            Self::PlayerActionRogueScoreReward => {
                "PlayerActionType_PlayerActionRogueScoreReward"
            }
            Self::PlayerActionRogueEnhanceBuff => {
                "PlayerActionType_PlayerActionRogueEnhanceBuff"
            }
            Self::PlayerActionRogueSelectBonus => {
                "PlayerActionType_PlayerActionRogueSelectBonus"
            }
            Self::PlayerActionRogueAreaFirstReward => {
                "PlayerActionType_PlayerActionRogueAreaFirstReward"
            }
            Self::PlayerActionRogueEnableTalent => {
                "PlayerActionType_PlayerActionRogueEnableTalent"
            }
            Self::PlayerActionRogueAeonUnlock => {
                "PlayerActionType_PlayerActionRogueAeonUnlock"
            }
            Self::PlayerActionRogueAeonAddExp => {
                "PlayerActionType_PlayerActionRogueAeonAddExp"
            }
            Self::PlayerActionRogueImmerseLevelUp => {
                "PlayerActionType_PlayerActionRogueImmerseLevelUp"
            }
            Self::PlayerActionRogueSelectMiracle => {
                "PlayerActionType_PlayerActionRogueSelectMiracle"
            }
            Self::PlayerActionRogueUnlockArea => {
                "PlayerActionType_PlayerActionRogueUnlockArea"
            }
            Self::PlayerActionRogueExploreScoreChange => {
                "PlayerActionType_PlayerActionRogueExploreScoreChange"
            }
            Self::PlayerActionRogueUpdateRewardPool => {
                "PlayerActionType_PlayerActionRogueUpdateRewardPool"
            }
            Self::PlayerActionRogueSwapBuff => {
                "PlayerActionType_PlayerActionRogueSwapBuff"
            }
            Self::PlayerActionRogueWeeklyRefresh => {
                "PlayerActionType_PlayerActionRogueWeeklyRefresh"
            }
            Self::PlayerActionRogueExchangeKey => {
                "PlayerActionType_PlayerActionRogueExchangeKey"
            }
            Self::PlayerActionRogueGetObjectReward => {
                "PlayerActionType_PlayerActionRogueGetObjectReward"
            }
            Self::PlayerActionRogueAreaMonsterDrop => {
                "PlayerActionType_PlayerActionRogueAreaMonsterDrop"
            }
            Self::PlayerActionRogueAddMiracle => {
                "PlayerActionType_PlayerActionRogueAddMiracle"
            }
            Self::PlayerActionRogueSwapMiracle => {
                "PlayerActionType_PlayerActionRogueSwapMiracle"
            }
            Self::PlayerActionRogueOpenObjectReward => {
                "PlayerActionType_PlayerActionRogueOpenObjectReward"
            }
            Self::PlayerActionRogueAeonEffect => {
                "PlayerActionType_PlayerActionRogueAeonEffect"
            }
            Self::PlayerActionRogueReforgeBuff => {
                "PlayerActionType_PlayerActionRogueReforgeBuff"
            }
            Self::PlayerActionRogueTradeMiracle => {
                "PlayerActionType_PlayerActionRogueTradeMiracle"
            }
            Self::PlayerActionRogueRemoveAvatar => {
                "PlayerActionType_PlayerActionRogueRemoveAvatar"
            }
            Self::PlayerActionRogueDialogueSelect => {
                "PlayerActionType_PlayerActionRogueDialogueSelect"
            }
            Self::PlayerActionRogueSelectAeon => {
                "PlayerActionType_PlayerActionRogueSelectAeon"
            }
            Self::PlayerActionRogueDialogueFinish => {
                "PlayerActionType_PlayerActionRogueDialogueFinish"
            }
            Self::PlayerActionRogueHandbookReward => {
                "PlayerActionType_PlayerActionRogueHandbookReward"
            }
            Self::PlayerActionRogueAdventureRoomReward => {
                "PlayerActionType_PlayerActionRogueAdventureRoomReward"
            }
            Self::PlayerActionRogueShopBuy => "PlayerActionType_PlayerActionRogueShopBuy",
            Self::PlayerActionRogueRepairMiracle => {
                "PlayerActionType_PlayerActionRogueRepairMiracle"
            }
            Self::PlayerActionRogueReplaceAllMiracle => {
                "PlayerActionType_PlayerActionRogueReplaceAllMiracle"
            }
            Self::PlayerActionRogueMiracleBroken => {
                "PlayerActionType_PlayerActionRogueMiracleBroken"
            }
            Self::PlayerActionRogueShopRefresh => {
                "PlayerActionType_PlayerActionRogueShopRefresh"
            }
            Self::PlayerActionRogueLevelMechanism => {
                "PlayerActionType_PlayerActionRogueLevelMechanism"
            }
            Self::PlayerActionRogueRemoveMiracle => {
                "PlayerActionType_PlayerActionRogueRemoveMiracle"
            }
            Self::PlayerActionRogueDropBuff => {
                "PlayerActionType_PlayerActionRogueDropBuff"
            }
            Self::PlayerActionRogueDestroyMiracle => {
                "PlayerActionType_PlayerActionRogueDestroyMiracle"
            }
            Self::PlayerActionRogueActivateFormula => {
                "PlayerActionType_PlayerActionRogueActivateFormula"
            }
            Self::PlayerActionRogueDeactivateFormula => {
                "PlayerActionType_PlayerActionRogueDeactivateFormula"
            }
            Self::PlayerActionRogueRemoveBuff => {
                "PlayerActionType_PlayerActionRogueRemoveBuff"
            }
            Self::PlayerActionRogueSelectFormula => {
                "PlayerActionType_PlayerActionRogueSelectFormula"
            }
            Self::PlayerActionRogueDropFormula => {
                "PlayerActionType_PlayerActionRogueDropFormula"
            }
            Self::PlayerActionRogueRollFormula => {
                "PlayerActionType_PlayerActionRogueRollFormula"
            }
            Self::PlayerActionRogueReforgeFormula => {
                "PlayerActionType_PlayerActionRogueReforgeFormula"
            }
            Self::PlayerActionRogueComposeMiracle => {
                "PlayerActionType_PlayerActionRogueComposeMiracle"
            }
            Self::PlayerActionRogueReforgeMiracle => {
                "PlayerActionType_PlayerActionRogueReforgeMiracle"
            }
            Self::PlayerActionRogueDoGamble => {
                "PlayerActionType_PlayerActionRogueDoGamble"
            }
            Self::PlayerActionRogueKeywordActivate => {
                "PlayerActionType_PlayerActionRogueKeywordActivate"
            }
            Self::PlayerActionRogueKeywordDeactivate => {
                "PlayerActionType_PlayerActionRogueKeywordDeactivate"
            }
            Self::PlayerActionRogueSourceDefault => {
                "PlayerActionType_PlayerActionRogueSourceDefault"
            }
            Self::PlayerActionRoguePlayerSelect => {
                "PlayerActionType_PlayerActionRoguePlayerSelect"
            }
            Self::PlayerActionRogueLayerSettlement => {
                "PlayerActionType_PlayerActionRogueLayerSettlement"
            }
            Self::PlayerActionRogueFormula => "PlayerActionType_PlayerActionRogueFormula",
            Self::PlayerActionRogueWorkbench => {
                "PlayerActionType_PlayerActionRogueWorkbench"
            }
            Self::PlayerActionRogueModifier => {
                "PlayerActionType_PlayerActionRogueModifier"
            }
            Self::PlayerActionRogueReforge => "PlayerActionType_PlayerActionRogueReforge",
            Self::PlayerActionRogueTalent => "PlayerActionType_PlayerActionRogueTalent",
            Self::PlayerActionRogueReroll => "PlayerActionType_PlayerActionRogueReroll",
            Self::PlayerActionRogueCoinChange => {
                "PlayerActionType_PlayerActionRogueCoinChange"
            }
            Self::PlayerActionRogueMagicScepterShop => {
                "PlayerActionType_PlayerActionRogueMagicScepterShop"
            }
            Self::PlayerActionRogueMagicUnitShop => {
                "PlayerActionType_PlayerActionRogueMagicUnitShop"
            }
            Self::PlayerActionRogueMagicScepterLevelUp => {
                "PlayerActionType_PlayerActionRogueMagicScepterLevelUp"
            }
            Self::PlayerActionGacha => "PlayerActionType_PlayerActionGacha",
            Self::PlayerActionAddGachaTicket => {
                "PlayerActionType_PlayerActionAddGachaTicket"
            }
            Self::PlayerActionGachaExchange => {
                "PlayerActionType_PlayerActionGachaExchange"
            }
            Self::PlayerActionSetGachaDecideItem => {
                "PlayerActionType_PlayerActionSetGachaDecideItem"
            }
            Self::PlayerActionEventMissionAccept => {
                "PlayerActionType_PlayerActionEventMissionAccept"
            }
            Self::PlayerActionEventMissionFinish => {
                "PlayerActionType_PlayerActionEventMissionFinish"
            }
            Self::PlayerActionEventMissionReward => {
                "PlayerActionType_PlayerActionEventMissionReward"
            }
            Self::PlayerActionRaidFinish => "PlayerActionType_PlayerActionRaidFinish",
            Self::PlayerActionRaidBegin => "PlayerActionType_PlayerActionRaidBegin",
            Self::PlayerActionChallengeRaidReward => {
                "PlayerActionType_PlayerActionChallengeRaidReward"
            }
            Self::PlayerActionStartRaid => "PlayerActionType_PlayerActionStartRaid",
            Self::PlayerActionEndRaid => "PlayerActionType_PlayerActionEndRaid",
            Self::PlayerActionRaidTargetFinish => {
                "PlayerActionType_PlayerActionRaidTargetFinish"
            }
            Self::PlayerActionArchiveRaid => "PlayerActionType_PlayerActionArchiveRaid",
            Self::PlayerActionHeroBaseTypeChange => {
                "PlayerActionType_PlayerActionHeroBaseTypeChange"
            }
            Self::PlayerActionHeroBaseTypeAddByMission => {
                "PlayerActionType_PlayerActionHeroBaseTypeAddByMission"
            }
            Self::PlayerActionHeroBaseTypeAddByReq => {
                "PlayerActionType_PlayerActionHeroBaseTypeAddByReq"
            }
            Self::PlayerActionHeroBaseTypeAdd => {
                "PlayerActionType_PlayerActionHeroBaseTypeAdd"
            }
            Self::PlayerActionDialogueSelect => {
                "PlayerActionType_PlayerActionDialogueSelect"
            }
            Self::PlayerActionExpeditionStart => {
                "PlayerActionType_PlayerActionExpeditionStart"
            }
            Self::PlayerActionExpeditionFinish => {
                "PlayerActionType_PlayerActionExpeditionFinish"
            }
            Self::PlayerActionExpeditionReward => {
                "PlayerActionType_PlayerActionExpeditionReward"
            }
            Self::PlayerActionActivityExpeditionStart => {
                "PlayerActionType_PlayerActionActivityExpeditionStart"
            }
            Self::PlayerActionActivityExpeditionFinish => {
                "PlayerActionType_PlayerActionActivityExpeditionFinish"
            }
            Self::PlayerActionActivityExpeditionReward => {
                "PlayerActionType_PlayerActionActivityExpeditionReward"
            }
            Self::PlayerActionActivityExpeditionBegin => {
                "PlayerActionType_PlayerActionActivityExpeditionBegin"
            }
            Self::PlayerActionActivityExpeditionEnd => {
                "PlayerActionType_PlayerActionActivityExpeditionEnd"
            }
            Self::PlayerActionExpeditionSet => {
                "PlayerActionType_PlayerActionExpeditionSet"
            }
            Self::PlayerActionExpeditionTakeReward => {
                "PlayerActionType_PlayerActionExpeditionTakeReward"
            }
            Self::PlayerActionActivityLoginReward => {
                "PlayerActionType_PlayerActionActivityLoginReward"
            }
            Self::PlayerActionFriendReport => "PlayerActionType_PlayerActionFriendReport",
            Self::PlayerActionAssistReward => "PlayerActionType_PlayerActionAssistReward",
            Self::PlayerActionAssistAvatarRefresh => {
                "PlayerActionType_PlayerActionAssistAvatarRefresh"
            }
            Self::PlayerActionAssistAvatarBattleStart => {
                "PlayerActionType_PlayerActionAssistAvatarBattleStart"
            }
            Self::PlayerActionAssistAvatarBattleEnd => {
                "PlayerActionType_PlayerActionAssistAvatarBattleEnd"
            }
            Self::PlayerActionFriendApply => "PlayerActionType_PlayerActionFriendApply",
            Self::PlayerActionFriendManage => "PlayerActionType_PlayerActionFriendManage",
            Self::PlayerActionFriendBlacklist => {
                "PlayerActionType_PlayerActionFriendBlacklist"
            }
            Self::PlayerActionFriendModifyRemarkName => {
                "PlayerActionType_PlayerActionFriendModifyRemarkName"
            }
            Self::PlayerActionFriendMark => "PlayerActionType_PlayerActionFriendMark",
            Self::PlayerActionFriendAssistList => {
                "PlayerActionType_PlayerActionFriendAssistList"
            }
            Self::PlayerActionBattlePassLevelReward => {
                "PlayerActionType_PlayerActionBattlePassLevelReward"
            }
            Self::PlayerActionBattlePass128TierReward => {
                "PlayerActionType_PlayerActionBattlePass128TierReward"
            }
            Self::PlayerActionBattlePassLevelRewardAutoMail => {
                "PlayerActionType_PlayerActionBattlePassLevelRewardAutoMail"
            }
            Self::PlayerActionBuyBattlePass => {
                "PlayerActionType_PlayerActionBuyBattlePass"
            }
            Self::PlayerActionAddBattlePassExp => {
                "PlayerActionType_PlayerActionAddBattlePassExp"
            }
            Self::PlayerActionBattlePassLevelUp => {
                "PlayerActionType_PlayerActionBattlePassLevelUp"
            }
            Self::PlayerActionBuyBattlePassLevel => {
                "PlayerActionType_PlayerActionBuyBattlePassLevel"
            }
            Self::PlayerActionBattlePassEndMail => {
                "PlayerActionType_PlayerActionBattlePassEndMail"
            }
            Self::PlayerActionBattlePass68TierReward => {
                "PlayerActionType_PlayerActionBattlePass68TierReward"
            }
            Self::PlayerActionModifySign => "PlayerActionType_PlayerActionModifySign",
            Self::PlayerActionDisplayAvatarSet => {
                "PlayerActionType_PlayerActionDisplayAvatarSet"
            }
            Self::PlayerActionAssistAvatarSet => {
                "PlayerActionType_PlayerActionAssistAvatarSet"
            }
            Self::PlayerActionAchievementFinish => {
                "PlayerActionType_PlayerActionAchievementFinish"
            }
            Self::PlayerActionAchievementReward => {
                "PlayerActionType_PlayerActionAchievementReward"
            }
            Self::PlayerActionAchievementAddExp => {
                "PlayerActionType_PlayerActionAchievementAddExp"
            }
            Self::PlayerActionAchievementLevelUp => {
                "PlayerActionType_PlayerActionAchievementLevelUp"
            }
            Self::PlayerActionPunkLordReward => {
                "PlayerActionType_PlayerActionPunkLordReward"
            }
            Self::PlayerActionPunkLordBossSearch => {
                "PlayerActionType_PlayerActionPunkLordBossSearch"
            }
            Self::PlayerActionPunkLordBossShare => {
                "PlayerActionType_PlayerActionPunkLordBossShare"
            }
            Self::PlayerActionStartPunkLordRaid => {
                "PlayerActionType_PlayerActionStartPunkLordRaid"
            }
            Self::PlayerActionPunkLordSupportTimes => {
                "PlayerActionType_PlayerActionPunkLordSupportTimes"
            }
            Self::PlayerActionPunkLordScoreReward => {
                "PlayerActionType_PlayerActionPunkLordScoreReward"
            }
            Self::PlayerActionPunkLordListRefresh => {
                "PlayerActionType_PlayerActionPunkLordListRefresh"
            }
            Self::PlayerActionPunkLordPowerAttack => {
                "PlayerActionType_PlayerActionPunkLordPowerAttack"
            }
            Self::PlayerActionPunkLordBattleEnd => {
                "PlayerActionType_PlayerActionPunkLordBattleEnd"
            }
            Self::PlayerActionPunkLordBossDeath => {
                "PlayerActionType_PlayerActionPunkLordBossDeath"
            }
            Self::PlayerActionPunkLordBossScore => {
                "PlayerActionType_PlayerActionPunkLordBossScore"
            }
            Self::PlayerActionDailyActiveLevelReward => {
                "PlayerActionType_PlayerActionDailyActiveLevelReward"
            }
            Self::PlayerActionDailyActiveAddPoint => {
                "PlayerActionType_PlayerActionDailyActiveAddPoint"
            }
            Self::PlayerActionDailyActiveDeleteOldQuest => {
                "PlayerActionType_PlayerActionDailyActiveDeleteOldQuest"
            }
            Self::PlayerActionFightActivityBegin => {
                "PlayerActionType_PlayerActionFightActivityBegin"
            }
            Self::PlayerActionFightActivityEnd => {
                "PlayerActionType_PlayerActionFightActivityEnd"
            }
            Self::PlayerActionFightActivityReward => {
                "PlayerActionType_PlayerActionFightActivityReward"
            }
            Self::PlayerActionActivityEndMail => {
                "PlayerActionType_PlayerActionActivityEndMail"
            }
            Self::PlayerActionAppointmentMail => {
                "PlayerActionType_PlayerActionAppointmentMail"
            }
            Self::PlayerActionShareReward => "PlayerActionType_PlayerActionShareReward",
            Self::PlayerActionActivityTrialReward => {
                "PlayerActionType_PlayerActionActivityTrialReward"
            }
            Self::PlayerActionActivityTrialStart => {
                "PlayerActionType_PlayerActionActivityTrialStart"
            }
            Self::PlayerActionPsPreOrderMail1 => {
                "PlayerActionType_PlayerActionPsPreOrderMail1"
            }
            Self::PlayerActionPsPreOrderMail2 => {
                "PlayerActionType_PlayerActionPsPreOrderMail2"
            }
            Self::PlayerActionPsLoginMail => "PlayerActionType_PlayerActionPsLoginMail",
            Self::PlayerActionLoginMail => "PlayerActionType_PlayerActionLoginMail",
            Self::PlayerActionGooglePoints100Mail => {
                "PlayerActionType_PlayerActionGooglePoints100Mail"
            }
            Self::PlayerActionGooglePoints150Mail => {
                "PlayerActionType_PlayerActionGooglePoints150Mail"
            }
            Self::PlayerActionTrainVisitorBehaviorFinish => {
                "PlayerActionType_PlayerActionTrainVisitorBehaviorFinish"
            }
            Self::PlayerActionEnterViewTrain => {
                "PlayerActionType_PlayerActionEnterViewTrain"
            }
            Self::PlayerActionTrainVisitorBehaviorRewardForceSend => {
                "PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSend"
            }
            Self::PlayerActionTrainVisitorRegisterOpen => {
                "PlayerActionType_PlayerActionTrainVisitorRegisterOpen"
            }
            Self::PlayerActionTrainVisitorBehaviorRewardForceSendByRegister => {
                "PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSendByRegister"
            }
            Self::PlayerActionTrainVisitorClearLastTrainVisitor => {
                "PlayerActionType_PlayerActionTrainVisitorClearLastTrainVisitor"
            }
            Self::PlayerActionTrainVisitorRefreshTrainVisitor => {
                "PlayerActionType_PlayerActionTrainVisitorRefreshTrainVisitor"
            }
            Self::PlayerActionTrainVisitorRefreshNpc => {
                "PlayerActionType_PlayerActionTrainVisitorRefreshNpc"
            }
            Self::PlayerActionMessageGroupAccept => {
                "PlayerActionType_PlayerActionMessageGroupAccept"
            }
            Self::PlayerActionMessageSectionAccept => {
                "PlayerActionType_PlayerActionMessageSectionAccept"
            }
            Self::PlayerActionMessageSectionFinish => {
                "PlayerActionType_PlayerActionMessageSectionFinish"
            }
            Self::PlayerActionMessageItemFinish => {
                "PlayerActionType_PlayerActionMessageItemFinish"
            }
            Self::PlayerActionFinishMessageGroupReward => {
                "PlayerActionType_PlayerActionFinishMessageGroupReward"
            }
            Self::PlayerActionSubstituteMessageGroupReward => {
                "PlayerActionType_PlayerActionSubstituteMessageGroupReward"
            }
            Self::PlayerActionDeleteMessageGroup => {
                "PlayerActionType_PlayerActionDeleteMessageGroup"
            }
            Self::PlayerActionDeleteMessageSection => {
                "PlayerActionType_PlayerActionDeleteMessageSection"
            }
            Self::PlayerActionDeleteMessageGroupByConfig => {
                "PlayerActionType_PlayerActionDeleteMessageGroupByConfig"
            }
            Self::PlayerActionDeleteMessageGroupByActivity => {
                "PlayerActionType_PlayerActionDeleteMessageGroupByActivity"
            }
            Self::PlayerActionDeleteMessageGroupByMission => {
                "PlayerActionType_PlayerActionDeleteMessageGroupByMission"
            }
            Self::PlayerActionTextJoinSave => "PlayerActionType_PlayerActionTextJoinSave",
            Self::PlayerActionBoxingClubStart => {
                "PlayerActionType_PlayerActionBoxingClubStart"
            }
            Self::PlayerActionBoxingClubFinish => {
                "PlayerActionType_PlayerActionBoxingClubFinish"
            }
            Self::PlayerActionBoxingClubPause => {
                "PlayerActionType_PlayerActionBoxingClubPause"
            }
            Self::PlayerActionBoxingClubStageStart => {
                "PlayerActionType_PlayerActionBoxingClubStageStart"
            }
            Self::PlayerActionTalkSend => "PlayerActionType_PlayerActionTalkSend",
            Self::PlayerActionSelectInclinationText => {
                "PlayerActionType_PlayerActionSelectInclinationText"
            }
            Self::PlayerActionMuseumSettleTurnOpen => {
                "PlayerActionType_PlayerActionMuseumSettleTurnOpen"
            }
            Self::PlayerActionMuseumUpgradeArea => {
                "PlayerActionType_PlayerActionMuseumUpgradeArea"
            }
            Self::PlayerActionMuseumUpgradeAreaStat => {
                "PlayerActionType_PlayerActionMuseumUpgradeAreaStat"
            }
            Self::PlayerActionMuseumDispatchRewardRegular => {
                "PlayerActionType_PlayerActionMuseumDispatchRewardRegular"
            }
            Self::PlayerActionMuseumDispatchRewardDirectional => {
                "PlayerActionType_PlayerActionMuseumDispatchRewardDirectional"
            }
            Self::PlayerActionMuseumPhaseTargetFinished => {
                "PlayerActionType_PlayerActionMuseumPhaseTargetFinished"
            }
            Self::PlayerActionMuseumGetStuff => {
                "PlayerActionType_PlayerActionMuseumGetStuff"
            }
            Self::PlayerActionMuseumGetExhibit => {
                "PlayerActionType_PlayerActionMuseumGetExhibit"
            }
            Self::PlayerActionMuseumTakeCollectMission => {
                "PlayerActionType_PlayerActionMuseumTakeCollectMission"
            }
            Self::PlayerActionMuseumAreaUnlock => {
                "PlayerActionType_PlayerActionMuseumAreaUnlock"
            }
            Self::PlayerActionMuseumAreaUpgrade => {
                "PlayerActionType_PlayerActionMuseumAreaUpgrade"
            }
            Self::PlayerActionMuseumAreaStatUpgrade => {
                "PlayerActionType_PlayerActionMuseumAreaStatUpgrade"
            }
            Self::PlayerActionMuseumEnterNextRound => {
                "PlayerActionType_PlayerActionMuseumEnterNextRound"
            }
            Self::PlayerActionMuseumStartDispatch => {
                "PlayerActionType_PlayerActionMuseumStartDispatch"
            }
            Self::PlayerActionMuseumSettleDispatch => {
                "PlayerActionType_PlayerActionMuseumSettleDispatch"
            }
            Self::PlayerActionMuseumRenewPointChanged => {
                "PlayerActionType_PlayerActionMuseumRenewPointChanged"
            }
            Self::PlayerActionMuseumTargetReward => {
                "PlayerActionType_PlayerActionMuseumTargetReward"
            }
            Self::PlayerActionMuseumPhaseUpgrade => {
                "PlayerActionType_PlayerActionMuseumPhaseUpgrade"
            }
            Self::PlayerActionMuseumCollectReward => {
                "PlayerActionType_PlayerActionMuseumCollectReward"
            }
            Self::PlayerActionMuseumTargetStart => {
                "PlayerActionType_PlayerActionMuseumTargetStart"
            }
            Self::PlayerActionMuseumTargetFinish => {
                "PlayerActionType_PlayerActionMuseumTargetFinish"
            }
            Self::PlayerActionActivityMonsterResearchConsumeMaterial => {
                "PlayerActionType_PlayerActionActivityMonsterResearchConsumeMaterial"
            }
            Self::PlayerActionActivityMonsterResearchTakeReward => {
                "PlayerActionType_PlayerActionActivityMonsterResearchTakeReward"
            }
            Self::PlayerActionPlayerReturnStart => {
                "PlayerActionType_PlayerActionPlayerReturnStart"
            }
            Self::PlayerActionPlayerReturnSign => {
                "PlayerActionType_PlayerActionPlayerReturnSign"
            }
            Self::PlayerActionPlayerReturnPoint => {
                "PlayerActionType_PlayerActionPlayerReturnPoint"
            }
            Self::PlayerActionPlayerReturnCountdown => {
                "PlayerActionType_PlayerActionPlayerReturnCountdown"
            }
            Self::PlayerActionPlayerReturnFinish => {
                "PlayerActionType_PlayerActionPlayerReturnFinish"
            }
            Self::PlayerActionPlayerReturnCompensate => {
                "PlayerActionType_PlayerActionPlayerReturnCompensate"
            }
            Self::PlayerActionPlayerReturnGetRelic => {
                "PlayerActionType_PlayerActionPlayerReturnGetRelic"
            }
            Self::PlayerActionPlayerReturnBpExpExtra => {
                "PlayerActionType_PlayerActionPlayerReturnBpExpExtra"
            }
            Self::PlayerActionPlayerReturnHcoinExtra => {
                "PlayerActionType_PlayerActionPlayerReturnHcoinExtra"
            }
            Self::PlayerActionRogueChallengeActivityStart => {
                "PlayerActionType_PlayerActionRogueChallengeActivityStart"
            }
            Self::PlayerActionRogueChallengeActivityFinish => {
                "PlayerActionType_PlayerActionRogueChallengeActivityFinish"
            }
            Self::PlayerActionRogueChallengeActivitySave => {
                "PlayerActionType_PlayerActionRogueChallengeActivitySave"
            }
            Self::PlayerActionAetherDivideUsePassiveSkillItem => {
                "PlayerActionType_PlayerActionAetherDivideUsePassiveSkillItem"
            }
            Self::PlayerActionAetherDivideClearPassiveSkill => {
                "PlayerActionType_PlayerActionAetherDivideClearPassiveSkill"
            }
            Self::PlayerActionAetherDivideFinishChallenge => {
                "PlayerActionType_PlayerActionAetherDivideFinishChallenge"
            }
            Self::PlayerActionAetherDivideOverflowChunkReward => {
                "PlayerActionType_PlayerActionAetherDivideOverflowChunkReward"
            }
            Self::PlayerActionAetherDivideLevelUp => {
                "PlayerActionType_PlayerActionAetherDivideLevelUp"
            }
            Self::PlayerActionAetherDivideNewReward => {
                "PlayerActionType_PlayerActionAetherDivideNewReward"
            }
            Self::PlayerActionAetherDivideMonsterAdd => {
                "PlayerActionType_PlayerActionAetherDivideMonsterAdd"
            }
            Self::PlayerActionAetherDivideMonsterLevel => {
                "PlayerActionType_PlayerActionAetherDivideMonsterLevel"
            }
            Self::PlayerActionAetherDivideMonsterSkillWear => {
                "PlayerActionType_PlayerActionAetherDivideMonsterSkillWear"
            }
            Self::PlayerActionAetherDivideTeamChange => {
                "PlayerActionType_PlayerActionAetherDivideTeamChange"
            }
            Self::PlayerActionAetherDivideStageBegin => {
                "PlayerActionType_PlayerActionAetherDivideStageBegin"
            }
            Self::PlayerActionAetherDivideStageEnd => {
                "PlayerActionType_PlayerActionAetherDivideStageEnd"
            }
            Self::PlayerActionAetherDivideStageRoll => {
                "PlayerActionType_PlayerActionAetherDivideStageRoll"
            }
            Self::PlayerActionAlleyEventFinish => {
                "PlayerActionType_PlayerActionAlleyEventFinish"
            }
            Self::PlayerActionAlleyTakeReward => {
                "PlayerActionType_PlayerActionAlleyTakeReward"
            }
            Self::PlayerActionAlleyPrestigeLevelUp => {
                "PlayerActionType_PlayerActionAlleyPrestigeLevelUp"
            }
            Self::PlayerActionAlleyLogisticsFinish => {
                "PlayerActionType_PlayerActionAlleyLogisticsFinish"
            }
            Self::PlayerActionAlleyPlacingGameFinish => {
                "PlayerActionType_PlayerActionAlleyPlacingGameFinish"
            }
            Self::PlayerActionAlleyGuaranteedFunds => {
                "PlayerActionType_PlayerActionAlleyGuaranteedFunds"
            }
            Self::PlayerActionAlleyTakeEventReward => {
                "PlayerActionType_PlayerActionAlleyTakeEventReward"
            }
            Self::PlayerActionAlleySpecialOrderFinish => {
                "PlayerActionType_PlayerActionAlleySpecialOrderFinish"
            }
            Self::PlayerActionSensitiveWordShield => {
                "PlayerActionType_PlayerActionSensitiveWordShield"
            }
            Self::PlayerActionSensitiveWordServerInternalError => {
                "PlayerActionType_PlayerActionSensitiveWordServerInternalError"
            }
            Self::PlayerActionSensitiveWordPlatformError => {
                "PlayerActionType_PlayerActionSensitiveWordPlatformError"
            }
            Self::PlayerActionTreasureDungeonStart => {
                "PlayerActionType_PlayerActionTreasureDungeonStart"
            }
            Self::PlayerActionTreasureDungeonFinish => {
                "PlayerActionType_PlayerActionTreasureDungeonFinish"
            }
            Self::PlayerActionTreasureDungeonEnterFloor => {
                "PlayerActionType_PlayerActionTreasureDungeonEnterFloor"
            }
            Self::PlayerActionTreasureDungeonLeaveFloor => {
                "PlayerActionType_PlayerActionTreasureDungeonLeaveFloor"
            }
            Self::PlayerActionTreasureDungeonUseItem => {
                "PlayerActionType_PlayerActionTreasureDungeonUseItem"
            }
            Self::PlayerActionTreasureDungeonAvatarChange => {
                "PlayerActionType_PlayerActionTreasureDungeonAvatarChange"
            }
            Self::PlayerActionTreasureDungeonBattleStart => {
                "PlayerActionType_PlayerActionTreasureDungeonBattleStart"
            }
            Self::PlayerActionTreasureDungeonBattleEnd => {
                "PlayerActionType_PlayerActionTreasureDungeonBattleEnd"
            }
            Self::PlayerActionTreasureDungeonPickupBuff => {
                "PlayerActionType_PlayerActionTreasureDungeonPickupBuff"
            }
            Self::PlayerActionChessRogueFirstFinish => {
                "PlayerActionType_PlayerActionChessRogueFirstFinish"
            }
            Self::PlayerActionChessRogueGiveupDice => {
                "PlayerActionType_PlayerActionChessRogueGiveupDice"
            }
            Self::PlayerActionChessRogueSubStorySelect => {
                "PlayerActionType_PlayerActionChessRogueSubStorySelect"
            }
            Self::PlayerActionChessRogueActionPoint => {
                "PlayerActionType_PlayerActionChessRogueActionPoint"
            }
            Self::PlayerActionChessRogueReviveByProp => {
                "PlayerActionType_PlayerActionChessRogueReviveByProp"
            }
            Self::PlayerActionChessRogueStartLevel => {
                "PlayerActionType_PlayerActionChessRogueStartLevel"
            }
            Self::PlayerActionChessRogueDiceEffect => {
                "PlayerActionType_PlayerActionChessRogueDiceEffect"
            }
            Self::PlayerActionChessRogueMainStoryFinish => {
                "PlayerActionType_PlayerActionChessRogueMainStoryFinish"
            }
            Self::PlayerActionChessRogueAeonTalentEffect => {
                "PlayerActionType_PlayerActionChessRogueAeonTalentEffect"
            }
            Self::PlayerActionChessRogueModifierOthersEffect => {
                "PlayerActionType_PlayerActionChessRogueModifierOthersEffect"
            }
            Self::PlayerActionChessRogueAddBuff => {
                "PlayerActionType_PlayerActionChessRogueAddBuff"
            }
            Self::PlayerActionChessRogueReforgeBuff => {
                "PlayerActionType_PlayerActionChessRogueReforgeBuff"
            }
            Self::PlayerActionChessRogueBuffLevelUp => {
                "PlayerActionType_PlayerActionChessRogueBuffLevelUp"
            }
            Self::PlayerActionChessRogueEnhanceBuff => {
                "PlayerActionType_PlayerActionChessRogueEnhanceBuff"
            }
            Self::PlayerActionChessRogueAddMiracle => {
                "PlayerActionType_PlayerActionChessRogueAddMiracle"
            }
            Self::PlayerActionChessRogueSwapMiracle => {
                "PlayerActionType_PlayerActionChessRogueSwapMiracle"
            }
            Self::PlayerActionChessRogueSelectBonus => {
                "PlayerActionType_PlayerActionChessRogueSelectBonus"
            }
            Self::PlayerActionChessRogueDialogueFinish => {
                "PlayerActionType_PlayerActionChessRogueDialogueFinish"
            }
            Self::PlayerActionChessRogueSubStoryFinish => {
                "PlayerActionType_PlayerActionChessRogueSubStoryFinish"
            }
            Self::PlayerActionChessRogueAdventureRoomFinish => {
                "PlayerActionType_PlayerActionChessRogueAdventureRoomFinish"
            }
            Self::PlayerActionChessRogueFinishLevel => {
                "PlayerActionType_PlayerActionChessRogueFinishLevel"
            }
            Self::PlayerActionChessRogueStartLayer => {
                "PlayerActionType_PlayerActionChessRogueStartLayer"
            }
            Self::PlayerActionChessRogueFinishLayer => {
                "PlayerActionType_PlayerActionChessRogueFinishLayer"
            }
            Self::PlayerActionChessRogueEnterRoom => {
                "PlayerActionType_PlayerActionChessRogueEnterRoom"
            }
            Self::PlayerActionChessRogueLeaveRoom => {
                "PlayerActionType_PlayerActionChessRogueLeaveRoom"
            }
            Self::PlayerActionChessRogueRollDice => {
                "PlayerActionType_PlayerActionChessRogueRollDice"
            }
            Self::PlayerActionChessRogueSelectDice => {
                "PlayerActionType_PlayerActionChessRogueSelectDice"
            }
            Self::PlayerActionChessRogueUnlockDice => {
                "PlayerActionType_PlayerActionChessRogueUnlockDice"
            }
            Self::PlayerActionChessRogueBoardEvent => {
                "PlayerActionType_PlayerActionChessRogueBoardEvent"
            }
            Self::PlayerActionChessRogueDimensionPoint => {
                "PlayerActionType_PlayerActionChessRogueDimensionPoint"
            }
            Self::PlayerActionChessRoguePickAvatar => {
                "PlayerActionType_PlayerActionChessRoguePickAvatar"
            }
            Self::PlayerActionChessRogueReviveAvatar => {
                "PlayerActionType_PlayerActionChessRogueReviveAvatar"
            }
            Self::PlayerActionChessRogueNousSubStorySelect => {
                "PlayerActionType_PlayerActionChessRogueNousSubStorySelect"
            }
            Self::PlayerActionChessRogueLevelMechanism => {
                "PlayerActionType_PlayerActionChessRogueLevelMechanism"
            }
            Self::PlayerActionChessRogueNousStartLevel => {
                "PlayerActionType_PlayerActionChessRogueNousStartLevel"
            }
            Self::PlayerActionChessRogueNousFinishLevel => {
                "PlayerActionType_PlayerActionChessRogueNousFinishLevel"
            }
            Self::PlayerActionChessRogueNousStartLayer => {
                "PlayerActionType_PlayerActionChessRogueNousStartLayer"
            }
            Self::PlayerActionChessRogueNousFinishLayer => {
                "PlayerActionType_PlayerActionChessRogueNousFinishLayer"
            }
            Self::PlayerActionChessRogueNousEnterRoom => {
                "PlayerActionType_PlayerActionChessRogueNousEnterRoom"
            }
            Self::PlayerActionChessRogueNousLeaveRoom => {
                "PlayerActionType_PlayerActionChessRogueNousLeaveRoom"
            }
            Self::PlayerActionChessRogueNousSelectDice => {
                "PlayerActionType_PlayerActionChessRogueNousSelectDice"
            }
            Self::PlayerActionChessRogueNousUnlockDiceBranch => {
                "PlayerActionType_PlayerActionChessRogueNousUnlockDiceBranch"
            }
            Self::PlayerActionChessRogueNousUnlockDiceSurface => {
                "PlayerActionType_PlayerActionChessRogueNousUnlockDiceSurface"
            }
            Self::PlayerActionChessRogueNousEditDice => {
                "PlayerActionType_PlayerActionChessRogueNousEditDice"
            }
            Self::PlayerActionChessRogueNousValueChange => {
                "PlayerActionType_PlayerActionChessRogueNousValueChange"
            }
            Self::PlayerActionChessRogueNousMainStoryTrigger => {
                "PlayerActionType_PlayerActionChessRogueNousMainStoryTrigger"
            }
            Self::PlayerActionChessRogueNousMainStoryFinish => {
                "PlayerActionType_PlayerActionChessRogueNousMainStoryFinish"
            }
            Self::PlayerActionChessRogueNousSubStoryTrigger => {
                "PlayerActionType_PlayerActionChessRogueNousSubStoryTrigger"
            }
            Self::PlayerActionChessRogueNousSubStoryFinish => {
                "PlayerActionType_PlayerActionChessRogueNousSubStoryFinish"
            }
            Self::PlayerActionChessRogueNousEnableTalent => {
                "PlayerActionType_PlayerActionChessRogueNousEnableTalent"
            }
            Self::PlayerActionChessRogueSelectBuff => {
                "PlayerActionType_PlayerActionChessRogueSelectBuff"
            }
            Self::PlayerActionChessRogueSelectMiracle => {
                "PlayerActionType_PlayerActionChessRogueSelectMiracle"
            }
            Self::PlayerActionChessRogueRemoveMiracle => {
                "PlayerActionType_PlayerActionChessRogueRemoveMiracle"
            }
            Self::PlayerActionChessRogueBoardCell => {
                "PlayerActionType_PlayerActionChessRogueBoardCell"
            }
            Self::PlayerActionFantasticStoryBattleBegin => {
                "PlayerActionType_PlayerActionFantasticStoryBattleBegin"
            }
            Self::PlayerActionFantasticStoryBattleEnd => {
                "PlayerActionType_PlayerActionFantasticStoryBattleEnd"
            }
            Self::PlayerActionRogueEndlessReward => {
                "PlayerActionType_PlayerActionRogueEndlessReward"
            }
            Self::PlayerActionRogueEndlessLevelStart => {
                "PlayerActionType_PlayerActionRogueEndlessLevelStart"
            }
            Self::PlayerActionRogueEndlessStageBegin => {
                "PlayerActionType_PlayerActionRogueEndlessStageBegin"
            }
            Self::PlayerActionRogueEndlessStageEnd => {
                "PlayerActionType_PlayerActionRogueEndlessStageEnd"
            }
            Self::PlayerActionBattleCollegeReward => {
                "PlayerActionType_PlayerActionBattleCollegeReward"
            }
            Self::PlayerActionCommonRogueMiracleForBuffShop => {
                "PlayerActionType_PlayerActionCommonRogueMiracleForBuffShop"
            }
            Self::PlayerActionCommonRogueAdventureRoomFinish => {
                "PlayerActionType_PlayerActionCommonRogueAdventureRoomFinish"
            }
            Self::PlayerActionCommonRogueBuyBuffShop => {
                "PlayerActionType_PlayerActionCommonRogueBuyBuffShop"
            }
            Self::PlayerActionCommonRogueBuyBuffShopRefresh => {
                "PlayerActionType_PlayerActionCommonRogueBuyBuffShopRefresh"
            }
            Self::PlayerActionCommonRogueCollectionUnlock => {
                "PlayerActionType_PlayerActionCommonRogueCollectionUnlock"
            }
            Self::PlayerActionCommonRogueCollectionSet => {
                "PlayerActionType_PlayerActionCommonRogueCollectionSet"
            }
            Self::PlayerActionCommonRogueExhibitionUnlock => {
                "PlayerActionType_PlayerActionCommonRogueExhibitionUnlock"
            }
            Self::PlayerActionCommonRogueExhibitionSet => {
                "PlayerActionType_PlayerActionCommonRogueExhibitionSet"
            }
            Self::PlayerActionCommonRogueChestInteract => {
                "PlayerActionType_PlayerActionCommonRogueChestInteract"
            }
            Self::PlayerActionCommonRogueAdventureRoomWolfgunFinish => {
                "PlayerActionType_PlayerActionCommonRogueAdventureRoomWolfgunFinish"
            }
            Self::PlayerActionHeliobusPostIncomeReward => {
                "PlayerActionType_PlayerActionHeliobusPostIncomeReward"
            }
            Self::PlayerActionHeliobusPostFansReward => {
                "PlayerActionType_PlayerActionHeliobusPostFansReward"
            }
            Self::PlayerActionHeliobusLevelUpgrade => {
                "PlayerActionType_PlayerActionHeliobusLevelUpgrade"
            }
            Self::PlayerActionHeliobusPostReplyReward => {
                "PlayerActionType_PlayerActionHeliobusPostReplyReward"
            }
            Self::PlayerActionHeliobusCommentReplyReward => {
                "PlayerActionType_PlayerActionHeliobusCommentReplyReward"
            }
            Self::PlayerActionHeliobusChallengeFirstReward => {
                "PlayerActionType_PlayerActionHeliobusChallengeFirstReward"
            }
            Self::PlayerActionHeliobusFansAdd => {
                "PlayerActionType_PlayerActionHeliobusFansAdd"
            }
            Self::PlayerActionHeliobusActionDaySettle => {
                "PlayerActionType_PlayerActionHeliobusActionDaySettle"
            }
            Self::PlayerActionHeliobusSkillUnlock => {
                "PlayerActionType_PlayerActionHeliobusSkillUnlock"
            }
            Self::PlayerActionHeliobusStageBegin => {
                "PlayerActionType_PlayerActionHeliobusStageBegin"
            }
            Self::PlayerActionHeliobusStageEnd => {
                "PlayerActionType_PlayerActionHeliobusStageEnd"
            }
            Self::PlayerActionHeliobusSnsRead => {
                "PlayerActionType_PlayerActionHeliobusSnsRead"
            }
            Self::PlayerActionHeliobusSnsPostUnlock => {
                "PlayerActionType_PlayerActionHeliobusSnsPostUnlock"
            }
            Self::PlayerActionHeliobusSnsCommentUnlock => {
                "PlayerActionType_PlayerActionHeliobusSnsCommentUnlock"
            }
            Self::PlayerActionHeliobusSnsComment => {
                "PlayerActionType_PlayerActionHeliobusSnsComment"
            }
            Self::PlayerActionHeliobusSnsPost => {
                "PlayerActionType_PlayerActionHeliobusSnsPost"
            }
            Self::PlayerActionHeliobusSnsLike => {
                "PlayerActionType_PlayerActionHeliobusSnsLike"
            }
            Self::PlayerActionHeliobusPhaseUpgrade => {
                "PlayerActionType_PlayerActionHeliobusPhaseUpgrade"
            }
            Self::PlayerActionPsPointCard30Reward => {
                "PlayerActionType_PlayerActionPsPointCard30Reward"
            }
            Self::PlayerActionPsPointCard50Reward => {
                "PlayerActionType_PlayerActionPsPointCard50Reward"
            }
            Self::PlayerActionPsPointCard100Reward => {
                "PlayerActionType_PlayerActionPsPointCard100Reward"
            }
            Self::PlayerActionPsnPlusGiftReward => {
                "PlayerActionType_PlayerActionPsnPlusGiftReward"
            }
            Self::PlayerActionAppleGiftCardReward => {
                "PlayerActionType_PlayerActionAppleGiftCardReward"
            }
            Self::PlayerActionHeartDialSubmitItem => {
                "PlayerActionType_PlayerActionHeartDialSubmitItem"
            }
            Self::PlayerActionHeartDialDialoguePerform => {
                "PlayerActionType_PlayerActionHeartDialDialoguePerform"
            }
            Self::PlayerActionHeartDialTraceConsume => {
                "PlayerActionType_PlayerActionHeartDialTraceConsume"
            }
            Self::PlayerActionHeartDialChangeEmotion => {
                "PlayerActionType_PlayerActionHeartDialChangeEmotion"
            }
            Self::PlayerActionTravelBrochureAddDefaultPaster => {
                "PlayerActionType_PlayerActionTravelBrochureAddDefaultPaster"
            }
            Self::PlayerActionSpaceZooBorn => "PlayerActionType_PlayerActionSpaceZooBorn",
            Self::PlayerActionSpaceZooMutate => {
                "PlayerActionType_PlayerActionSpaceZooMutate"
            }
            Self::PlayerActionSpaceZooDelete => {
                "PlayerActionType_PlayerActionSpaceZooDelete"
            }
            Self::PlayerActionSpaceZooExchangeItem => {
                "PlayerActionType_PlayerActionSpaceZooExchangeItem"
            }
            Self::PlayerActionSpaceZooExpPoint => {
                "PlayerActionType_PlayerActionSpaceZooExpPoint"
            }
            Self::PlayerActionSpaceZooTakeReward => {
                "PlayerActionType_PlayerActionSpaceZooTakeReward"
            }
            Self::PlayerActionSpaceZooCollection => {
                "PlayerActionType_PlayerActionSpaceZooCollection"
            }
            Self::PlayerActionSpaceZooShow => "PlayerActionType_PlayerActionSpaceZooShow",
            Self::PlayerActionSpaceZooSpecialData => {
                "PlayerActionType_PlayerActionSpaceZooSpecialData"
            }
            Self::PlayerActionStrongChallengeBattleBegin => {
                "PlayerActionType_PlayerActionStrongChallengeBattleBegin"
            }
            Self::PlayerActionStrongChallengeBattleEnd => {
                "PlayerActionType_PlayerActionStrongChallengeBattleEnd"
            }
            Self::PlayerActionRollShopDoGacha => {
                "PlayerActionType_PlayerActionRollShopDoGacha"
            }
            Self::PlayerActionRollShopTakeReward => {
                "PlayerActionType_PlayerActionRollShopTakeReward"
            }
            Self::PlayerActionOfferingSubmitItem => {
                "PlayerActionType_PlayerActionOfferingSubmitItem"
            }
            Self::PlayerActionOfferingTakeReward => {
                "PlayerActionType_PlayerActionOfferingTakeReward"
            }
            Self::PlayerActionTravelBrochurePageUnlock => {
                "PlayerActionType_PlayerActionTravelBrochurePageUnlock"
            }
            Self::PlayerActionTravelBrochurePageInteractAward => {
                "PlayerActionType_PlayerActionTravelBrochurePageInteractAward"
            }
            Self::PlayerActionTravelBrochureStickerUnlock => {
                "PlayerActionType_PlayerActionTravelBrochureStickerUnlock"
            }
            Self::PlayerActionTravelBrochureStickerApply => {
                "PlayerActionType_PlayerActionTravelBrochureStickerApply"
            }
            Self::PlayerActionTravelBrochureStickerRemove => {
                "PlayerActionType_PlayerActionTravelBrochureStickerRemove"
            }
            Self::PlayerActionTravelBrochurePageReset => {
                "PlayerActionType_PlayerActionTravelBrochurePageReset"
            }
            Self::PlayerActionTrackMainMissionId => {
                "PlayerActionType_PlayerActionTrackMainMissionId"
            }
            Self::PlayerActionWolfBroBegin => "PlayerActionType_PlayerActionWolfBroBegin",
            Self::PlayerActionWolfBroGroupStateChange => {
                "PlayerActionType_PlayerActionWolfBroGroupStateChange"
            }
            Self::PlayerActionWolfBroEnd => "PlayerActionType_PlayerActionWolfBroEnd",
            Self::PlayerActionWolfBroBulletZero => {
                "PlayerActionType_PlayerActionWolfBroBulletZero"
            }
            Self::PlayerActionWolfBroActivateBullet => {
                "PlayerActionType_PlayerActionWolfBroActivateBullet"
            }
            Self::PlayerActionWolfBroBulletNumChange => {
                "PlayerActionType_PlayerActionWolfBroBulletNumChange"
            }
            Self::PlayerActionWolfBroUseBulletNull => {
                "PlayerActionType_PlayerActionWolfBroUseBulletNull"
            }
            Self::PlayerActionWolfBroUseBulletHitMonster => {
                "PlayerActionType_PlayerActionWolfBroUseBulletHitMonster"
            }
            Self::PlayerActionWolfBroPickUpBullet => {
                "PlayerActionType_PlayerActionWolfBroPickUpBullet"
            }
            Self::PlayerActionWolfBroRestoreArchive => {
                "PlayerActionType_PlayerActionWolfBroRestoreArchive"
            }
            Self::PlayerActionTelevisionActivityBattleBegin => {
                "PlayerActionType_PlayerActionTelevisionActivityBattleBegin"
            }
            Self::PlayerActionTelevisionActivityBattleEnd => {
                "PlayerActionType_PlayerActionTelevisionActivityBattleEnd"
            }
            Self::PlayerActionFeverTimeActivityBattleBegin => {
                "PlayerActionType_PlayerActionFeverTimeActivityBattleBegin"
            }
            Self::PlayerActionFeverTimeActivityBattleEnd => {
                "PlayerActionType_PlayerActionFeverTimeActivityBattleEnd"
            }
            Self::PlayerActionGunPlayEnd => "PlayerActionType_PlayerActionGunPlayEnd",
            Self::PlayerActionActivityStarFightBegin => {
                "PlayerActionType_PlayerActionActivityStarFightBegin"
            }
            Self::PlayerActionActivityStarFightEnd => {
                "PlayerActionType_PlayerActionActivityStarFightEnd"
            }
            Self::PlayerActionMapRotationEnterRegion => {
                "PlayerActionType_PlayerActionMapRotationEnterRegion"
            }
            Self::PlayerActionMapRotationLeaveRegion => {
                "PlayerActionType_PlayerActionMapRotationLeaveRegion"
            }
            Self::PlayerActionMapRotationInteractCharger => {
                "PlayerActionType_PlayerActionMapRotationInteractCharger"
            }
            Self::PlayerActionMapRotationDeployRotater => {
                "PlayerActionType_PlayerActionMapRotationDeployRotater"
            }
            Self::PlayerActionMapRotationRotateMap => {
                "PlayerActionType_PlayerActionMapRotationRotateMap"
            }
            Self::PlayerActionMapRotationAddEnergy => {
                "PlayerActionType_PlayerActionMapRotationAddEnergy"
            }
            Self::PlayerActionMapRotationSetMaxEnergy => {
                "PlayerActionType_PlayerActionMapRotationSetMaxEnergy"
            }
            Self::PlayerActionMapRotationRemoveRotater => {
                "PlayerActionType_PlayerActionMapRotationRemoveRotater"
            }
            Self::PlayerActionMapRotationAutoDeployRotater => {
                "PlayerActionType_PlayerActionMapRotationAutoDeployRotater"
            }
            Self::PlayerActionMapRotationAutoRemoveRotater => {
                "PlayerActionType_PlayerActionMapRotationAutoRemoveRotater"
            }
            Self::PlayerActionDrinkMakerAddTips => {
                "PlayerActionType_PlayerActionDrinkMakerAddTips"
            }
            Self::PlayerActionDrinkMakerFinishChallenge => {
                "PlayerActionType_PlayerActionDrinkMakerFinishChallenge"
            }
            Self::PlayerActionDrinkMakerGuestMaxFaithReward => {
                "PlayerActionType_PlayerActionDrinkMakerGuestMaxFaithReward"
            }
            Self::PlayerActionDrinkMakerMakeDrink => {
                "PlayerActionType_PlayerActionDrinkMakerMakeDrink"
            }
            Self::PlayerActionDrinkMakerSaveCustomDrink => {
                "PlayerActionType_PlayerActionDrinkMakerSaveCustomDrink"
            }
            Self::PlayerActionDrinkMakerEndSequence => {
                "PlayerActionType_PlayerActionDrinkMakerEndSequence"
            }
            Self::PlayerActionDrinkMakerCheersMakeDrink => {
                "PlayerActionType_PlayerActionDrinkMakerCheersMakeDrink"
            }
            Self::PlayerActionDrinkMakerCheersNpcDrink => {
                "PlayerActionType_PlayerActionDrinkMakerCheersNpcDrink"
            }
            Self::PlayerActionChangeStoryLine => {
                "PlayerActionType_PlayerActionChangeStoryLine"
            }
            Self::PlayerActionContentPackageStatusChange => {
                "PlayerActionType_PlayerActionContentPackageStatusChange"
            }
            Self::PlayerActionContentPackageTrackChange => {
                "PlayerActionType_PlayerActionContentPackageTrackChange"
            }
            Self::PlayerActionContentPackageAcceptMainMission => {
                "PlayerActionType_PlayerActionContentPackageAcceptMainMission"
            }
            Self::PlayerActionWorldDirectUnlock => {
                "PlayerActionType_PlayerActionWorldDirectUnlock"
            }
            Self::PlayerActionMonopolyTurnFinish => {
                "PlayerActionType_PlayerActionMonopolyTurnFinish"
            }
            Self::PlayerActionMonopolyAssetTurntax => {
                "PlayerActionType_PlayerActionMonopolyAssetTurntax"
            }
            Self::PlayerActionMonopolyAssetBonus => {
                "PlayerActionType_PlayerActionMonopolyAssetBonus"
            }
            Self::PlayerActionMonopolyEventEffect => {
                "PlayerActionType_PlayerActionMonopolyEventEffect"
            }
            Self::PlayerActionMonopolyMiniGameSettle => {
                "PlayerActionType_PlayerActionMonopolyMiniGameSettle"
            }
            Self::PlayerActionMonopolyGameRaiseRatio => {
                "PlayerActionType_PlayerActionMonopolyGameRaiseRatio"
            }
            Self::PlayerActionMonopolyMoveRollDice => {
                "PlayerActionType_PlayerActionMonopolyMoveRollDice"
            }
            Self::PlayerActionMonopolyMove => "PlayerActionType_PlayerActionMonopolyMove",
            Self::PlayerActionMonopolyBuyGoods => {
                "PlayerActionType_PlayerActionMonopolyBuyGoods"
            }
            Self::PlayerActionMonopolyUpgradeAsset => {
                "PlayerActionType_PlayerActionMonopolyUpgradeAsset"
            }
            Self::PlayerActionMonopolyEventRerollRandom => {
                "PlayerActionType_PlayerActionMonopolyEventRerollRandom"
            }
            Self::PlayerActionMonopolyDailyRefresh => {
                "PlayerActionType_PlayerActionMonopolyDailyRefresh"
            }
            Self::PlayerActionMonopolyGameGuessBuyInformation => {
                "PlayerActionType_PlayerActionMonopolyGameGuessBuyInformation"
            }
            Self::PlayerActionMonopolyDailyFirstEnterActivity => {
                "PlayerActionType_PlayerActionMonopolyDailyFirstEnterActivity"
            }
            Self::PlayerActionMonopolySocialEvent => {
                "PlayerActionType_PlayerActionMonopolySocialEvent"
            }
            Self::PlayerActionMonopolyRaffleTicketReward => {
                "PlayerActionType_PlayerActionMonopolyRaffleTicketReward"
            }
            Self::PlayerActionMonopolyLike => "PlayerActionType_PlayerActionMonopolyLike",
            Self::PlayerActionMonopolyPhaseReward => {
                "PlayerActionType_PlayerActionMonopolyPhaseReward"
            }
            Self::PlayerActionMonopolyMbtiReportReward => {
                "PlayerActionType_PlayerActionMonopolyMbtiReportReward"
            }
            Self::PlayerActionMonopolyDailySettle => {
                "PlayerActionType_PlayerActionMonopolyDailySettle"
            }
            Self::PlayerActionMonopolyStart => {
                "PlayerActionType_PlayerActionMonopolyStart"
            }
            Self::PlayerActionMonopolyGetBuff => {
                "PlayerActionType_PlayerActionMonopolyGetBuff"
            }
            Self::PlayerActionMonopolyAssetFundsChange => {
                "PlayerActionType_PlayerActionMonopolyAssetFundsChange"
            }
            Self::PlayerActionMonopolyAssetUpgrade => {
                "PlayerActionType_PlayerActionMonopolyAssetUpgrade"
            }
            Self::PlayerActionMonopolyDirectCoinGameSettle => {
                "PlayerActionType_PlayerActionMonopolyDirectCoinGameSettle"
            }
            Self::PlayerActionMonopolyExtractRaffleTicket => {
                "PlayerActionType_PlayerActionMonopolyExtractRaffleTicket"
            }
            Self::PlayerActionMonopolyMbtiProgressChange => {
                "PlayerActionType_PlayerActionMonopolyMbtiProgressChange"
            }
            Self::PlayerActionMonopolyQuizGameSettle => {
                "PlayerActionType_PlayerActionMonopolyQuizGameSettle"
            }
            Self::PlayerActionMonopolyEventSettle => {
                "PlayerActionType_PlayerActionMonopolyEventSettle"
            }
            Self::PlayerActionMonopolyItemChange => {
                "PlayerActionType_PlayerActionMonopolyItemChange"
            }
            Self::PlayerActionMonopolyCellTrigger => {
                "PlayerActionType_PlayerActionMonopolyCellTrigger"
            }
            Self::PlayerActionMonopolyEventTrigger => {
                "PlayerActionType_PlayerActionMonopolyEventTrigger"
            }
            Self::PlayerActionMonopolyClickEffect => {
                "PlayerActionType_PlayerActionMonopolyClickEffect"
            }
            Self::PlayerActionEvolveBuildLevelFinish => {
                "PlayerActionType_PlayerActionEvolveBuildLevelFinish"
            }
            Self::PlayerActionEvolveBuildShopAbilityUp => {
                "PlayerActionType_PlayerActionEvolveBuildShopAbilityUp"
            }
            Self::PlayerActionEvolveBuildShopAbilityDown => {
                "PlayerActionType_PlayerActionEvolveBuildShopAbilityDown"
            }
            Self::PlayerActionEvolveBuildTakeExpReward => {
                "PlayerActionType_PlayerActionEvolveBuildTakeExpReward"
            }
            Self::PlayerActionEvolveBuildBattleEndAddCoin => {
                "PlayerActionType_PlayerActionEvolveBuildBattleEndAddCoin"
            }
            Self::PlayerActionEvolveBuildShopAbilityReset => {
                "PlayerActionType_PlayerActionEvolveBuildShopAbilityReset"
            }
            Self::PlayerActionEvolveBuildLevelStart => {
                "PlayerActionType_PlayerActionEvolveBuildLevelStart"
            }
            Self::PlayerActionEvolveBuildLevelEnd => {
                "PlayerActionType_PlayerActionEvolveBuildLevelEnd"
            }
            Self::PlayerActionEvolveBuildStageStart => {
                "PlayerActionType_PlayerActionEvolveBuildStageStart"
            }
            Self::PlayerActionEvolveBuildStageEnd => {
                "PlayerActionType_PlayerActionEvolveBuildStageEnd"
            }
            Self::PlayerActionEvolveBuildLevelLeave => {
                "PlayerActionType_PlayerActionEvolveBuildLevelLeave"
            }
            Self::PlayerActionClockParkUnlockScript => {
                "PlayerActionType_PlayerActionClockParkUnlockScript"
            }
            Self::PlayerActionClockParkUnlockTalent => {
                "PlayerActionType_PlayerActionClockParkUnlockTalent"
            }
            Self::PlayerActionClockParkFinishScript => {
                "PlayerActionType_PlayerActionClockParkFinishScript"
            }
            Self::PlayerActionClockParkRoundUpdate => {
                "PlayerActionType_PlayerActionClockParkRoundUpdate"
            }
            Self::PlayerActionClockParkScriptBegin => {
                "PlayerActionType_PlayerActionClockParkScriptBegin"
            }
            Self::PlayerActionRogueTournStartLevel => {
                "PlayerActionType_PlayerActionRogueTournStartLevel"
            }
            Self::PlayerActionRogueTournFinishLevel => {
                "PlayerActionType_PlayerActionRogueTournFinishLevel"
            }
            Self::PlayerActionRogueTournExpReward => {
                "PlayerActionType_PlayerActionRogueTournExpReward"
            }
            Self::PlayerActionRogueTournFinishWeekChallenge => {
                "PlayerActionType_PlayerActionRogueTournFinishWeekChallenge"
            }
            Self::PlayerActionRogueTournPermanentTalentEffect => {
                "PlayerActionType_PlayerActionRogueTournPermanentTalentEffect"
            }
            Self::PlayerActionRogueTournFinishFormulaStory => {
                "PlayerActionType_PlayerActionRogueTournFinishFormulaStory"
            }
            Self::PlayerActionRogueTournRevive => {
                "PlayerActionType_PlayerActionRogueTournRevive"
            }
            Self::PlayerActionRogueTournStageBegin => {
                "PlayerActionType_PlayerActionRogueTournStageBegin"
            }
            Self::PlayerActionRogueTournStageEnd => {
                "PlayerActionType_PlayerActionRogueTournStageEnd"
            }
            Self::PlayerActionRogueTournPermanentEnableTalent => {
                "PlayerActionType_PlayerActionRogueTournPermanentEnableTalent"
            }
            Self::PlayerActionRogueTournPermanentResetTalent => {
                "PlayerActionType_PlayerActionRogueTournPermanentResetTalent"
            }
            Self::PlayerActionRogueTournCocoonStageBegin => {
                "PlayerActionType_PlayerActionRogueTournCocoonStageBegin"
            }
            Self::PlayerActionRogueTournCocoonStageEnd => {
                "PlayerActionType_PlayerActionRogueTournCocoonStageEnd"
            }
            Self::PlayerActionRogueTournExpUpdate => {
                "PlayerActionType_PlayerActionRogueTournExpUpdate"
            }
            Self::PlayerActionRogueTournEnterRoom => {
                "PlayerActionType_PlayerActionRogueTournEnterRoom"
            }
            Self::PlayerActionRogueTournLeaveRoom => {
                "PlayerActionType_PlayerActionRogueTournLeaveRoom"
            }
            Self::PlayerActionRogueTournArchiveSave => {
                "PlayerActionType_PlayerActionRogueTournArchiveSave"
            }
            Self::PlayerActionRogueTournSelectBonus => {
                "PlayerActionType_PlayerActionRogueTournSelectBonus"
            }
            Self::PlayerActionRogueTournDialogueFinish => {
                "PlayerActionType_PlayerActionRogueTournDialogueFinish"
            }
            Self::PlayerActionRogueTournDoGamble => {
                "PlayerActionType_PlayerActionRogueTournDoGamble"
            }
            Self::PlayerActionRogueTournRoomContentGenerate => {
                "PlayerActionType_PlayerActionRogueTournRoomContentGenerate"
            }
            Self::PlayerActionRogueTournAddMiracle => {
                "PlayerActionType_PlayerActionRogueTournAddMiracle"
            }
            Self::PlayerActionRogueTournRemoveMiracle => {
                "PlayerActionType_PlayerActionRogueTournRemoveMiracle"
            }
            Self::PlayerActionRogueTournSelectMiracle => {
                "PlayerActionType_PlayerActionRogueTournSelectMiracle"
            }
            Self::PlayerActionRogueTournDropMiracle => {
                "PlayerActionType_PlayerActionRogueTournDropMiracle"
            }
            Self::PlayerActionRogueTournAddBuff => {
                "PlayerActionType_PlayerActionRogueTournAddBuff"
            }
            Self::PlayerActionRogueTournSelectBuff => {
                "PlayerActionType_PlayerActionRogueTournSelectBuff"
            }
            Self::PlayerActionRogueTournBuffLevelUp => {
                "PlayerActionType_PlayerActionRogueTournBuffLevelUp"
            }
            Self::PlayerActionRogueTournRemoveBuff => {
                "PlayerActionType_PlayerActionRogueTournRemoveBuff"
            }
            Self::PlayerActionRogueTournAddFormula => {
                "PlayerActionType_PlayerActionRogueTournAddFormula"
            }
            Self::PlayerActionRogueTournRemoveFormula => {
                "PlayerActionType_PlayerActionRogueTournRemoveFormula"
            }
            Self::PlayerActionRogueTournSelectFormula => {
                "PlayerActionType_PlayerActionRogueTournSelectFormula"
            }
            Self::PlayerActionRogueTournActivateFormula => {
                "PlayerActionType_PlayerActionRogueTournActivateFormula"
            }
            Self::PlayerActionRogueTournAdventureRoomFinish => {
                "PlayerActionType_PlayerActionRogueTournAdventureRoomFinish"
            }
            Self::PlayerActionRogueTournAlterLineup => {
                "PlayerActionType_PlayerActionRogueTournAlterLineup"
            }
            Self::PlayerActionRogueTournSeasonEnableTalent => {
                "PlayerActionType_PlayerActionRogueTournSeasonEnableTalent"
            }
            Self::PlayerActionRogueTournTitanStartLevel => {
                "PlayerActionType_PlayerActionRogueTournTitanStartLevel"
            }
            Self::PlayerActionRogueTournTitanFinishLevel => {
                "PlayerActionType_PlayerActionRogueTournTitanFinishLevel"
            }
            Self::PlayerActionRogueTournTitanEnterRoom => {
                "PlayerActionType_PlayerActionRogueTournTitanEnterRoom"
            }
            Self::PlayerActionRogueTournTitanLeaveRoom => {
                "PlayerActionType_PlayerActionRogueTournTitanLeaveRoom"
            }
            Self::PlayerActionRogueTournTitanStageBegin => {
                "PlayerActionType_PlayerActionRogueTournTitanStageBegin"
            }
            Self::PlayerActionRogueTournTitanStageEnd => {
                "PlayerActionType_PlayerActionRogueTournTitanStageEnd"
            }
            Self::PlayerActionRogueTournTitanArchiveSave => {
                "PlayerActionType_PlayerActionRogueTournTitanArchiveSave"
            }
            Self::PlayerActionRogueTournTitanAddTitanBless => {
                "PlayerActionType_PlayerActionRogueTournTitanAddTitanBless"
            }
            Self::PlayerActionRogueTournTitanSelectTitanBless => {
                "PlayerActionType_PlayerActionRogueTournTitanSelectTitanBless"
            }
            Self::PlayerActionRogueTournDivisionChange => {
                "PlayerActionType_PlayerActionRogueTournDivisionChange"
            }
            Self::PlayerActionRogueTournSelectReRollMiracle => {
                "PlayerActionType_PlayerActionRogueTournSelectReRollMiracle"
            }
            Self::PlayerActionRogueTournTriggerBattleByShop => {
                "PlayerActionType_PlayerActionRogueTournTriggerBattleByShop"
            }
            Self::PlayerActionRogueTournUseSuperRewardKey => {
                "PlayerActionType_PlayerActionRogueTournUseSuperRewardKey"
            }
            Self::PlayerActionRogueWorkbenchReforgeFormula => {
                "PlayerActionType_PlayerActionRogueWorkbenchReforgeFormula"
            }
            Self::PlayerActionRogueWorkbenchReforgeMiracle => {
                "PlayerActionType_PlayerActionRogueWorkbenchReforgeMiracle"
            }
            Self::PlayerActionRogueWorkbenchComposeMiracle => {
                "PlayerActionType_PlayerActionRogueWorkbenchComposeMiracle"
            }
            Self::PlayerActionRogueWorkbenchReforgeBuff => {
                "PlayerActionType_PlayerActionRogueWorkbenchReforgeBuff"
            }
            Self::PlayerActionRogueWorkbenchEnhanceBuff => {
                "PlayerActionType_PlayerActionRogueWorkbenchEnhanceBuff"
            }
            Self::PlayerActionMatchThreePveSettle => {
                "PlayerActionType_PlayerActionMatchThreePveSettle"
            }
            Self::PlayerActionMatchThreeSettle => {
                "PlayerActionType_PlayerActionMatchThreeSettle"
            }
            Self::PlayerActionFightMatch3GameStart => {
                "PlayerActionType_PlayerActionFightMatch3GameStart"
            }
            Self::PlayerActionFightMatch3GameEnd => {
                "PlayerActionType_PlayerActionFightMatch3GameEnd"
            }
            Self::PlayerActionFightMatch3TurnEnd => {
                "PlayerActionType_PlayerActionFightMatch3TurnEnd"
            }
            Self::PlayerActionMatchThreeBirdPos => {
                "PlayerActionType_PlayerActionMatchThreeBirdPos"
            }
            Self::PlayerActionMultiplePlayInvite => {
                "PlayerActionType_PlayerActionMultiplePlayInvite"
            }
            Self::PlayerActionMultiplePlayInviteRespond => {
                "PlayerActionType_PlayerActionMultiplePlayInviteRespond"
            }
            Self::PlayerActionMultiplePlayLobbyEnter => {
                "PlayerActionType_PlayerActionMultiplePlayLobbyEnter"
            }
            Self::PlayerActionMultiplePlayLobbyQuit => {
                "PlayerActionType_PlayerActionMultiplePlayLobbyQuit"
            }
            Self::PlayerActionMultiplePlayLobbyKick => {
                "PlayerActionType_PlayerActionMultiplePlayLobbyKick"
            }
            Self::PlayerActionMultiplePlayLobbyMatch => {
                "PlayerActionType_PlayerActionMultiplePlayLobbyMatch"
            }
            Self::PlayerActionMarbleSettle => "PlayerActionType_PlayerActionMarbleSettle",
            Self::PlayerActionMatchThreeSoloSettle => {
                "PlayerActionType_PlayerActionMatchThreeSoloSettle"
            }
            Self::PlayerActionMatchThreeV2BattleitemLevelup => {
                "PlayerActionType_PlayerActionMatchThreeV2BattleitemLevelup"
            }
            Self::PlayerActionMatchThreeV2PveSettle => {
                "PlayerActionType_PlayerActionMatchThreeV2PveSettle"
            }
            Self::PlayerActionMatchThreeV2PvpSettle => {
                "PlayerActionType_PlayerActionMatchThreeV2PvpSettle"
            }
            Self::PlayerActionMatch3SoloGameStart => {
                "PlayerActionType_PlayerActionMatch3SoloGameStart"
            }
            Self::PlayerActionMatch3SoloGameEnd => {
                "PlayerActionType_PlayerActionMatch3SoloGameEnd"
            }
            Self::PlayerActionMatch3SoloRoundEnd => {
                "PlayerActionType_PlayerActionMatch3SoloRoundEnd"
            }
            Self::PlayerActionMatch3RoyaleSettle => {
                "PlayerActionType_PlayerActionMatch3RoyaleSettle"
            }
            Self::PlayerActionMatch3RoyaleGameStart => {
                "PlayerActionType_PlayerActionMatch3RoyaleGameStart"
            }
            Self::PlayerActionMatch3RoyaleGameEnd => {
                "PlayerActionType_PlayerActionMatch3RoyaleGameEnd"
            }
            Self::PlayerActionMatch3RoyaleRoundEnd => {
                "PlayerActionType_PlayerActionMatch3RoyaleRoundEnd"
            }
            Self::PlayerActionDiceCombatSettle => {
                "PlayerActionType_PlayerActionDiceCombatSettle"
            }
            Self::PlayerActionSwordTrainingLearnSkill => {
                "PlayerActionType_PlayerActionSwordTrainingLearnSkill"
            }
            Self::PlayerActionSwordTrainingNormalAction => {
                "PlayerActionType_PlayerActionSwordTrainingNormalAction"
            }
            Self::PlayerActionSwordTrainingStoryEffect => {
                "PlayerActionType_PlayerActionSwordTrainingStoryEffect"
            }
            Self::PlayerActionSwordTrainingEndingHint => {
                "PlayerActionType_PlayerActionSwordTrainingEndingHint"
            }
            Self::PlayerActionSwordTrainingActionHint => {
                "PlayerActionType_PlayerActionSwordTrainingActionHint"
            }
            Self::PlayerActionSwordTrainingRestoreGameByExam => {
                "PlayerActionType_PlayerActionSwordTrainingRestoreGameByExam"
            }
            Self::PlayerActionSwordTrainingStoryLineFirstClear => {
                "PlayerActionType_PlayerActionSwordTrainingStoryLineFirstClear"
            }
            Self::PlayerActionSwordTrainingTakeEndingReward => {
                "PlayerActionType_PlayerActionSwordTrainingTakeEndingReward"
            }
            Self::PlayerActionSwordTrainingStoryLineBegin => {
                "PlayerActionType_PlayerActionSwordTrainingStoryLineBegin"
            }
            Self::PlayerActionSwordTrainingEnterTurn => {
                "PlayerActionType_PlayerActionSwordTrainingEnterTurn"
            }
            Self::PlayerActionSwordTrainingPlanAction => {
                "PlayerActionType_PlayerActionSwordTrainingPlanAction"
            }
            Self::PlayerActionSwordTrainingActionPhaseEnd => {
                "PlayerActionType_PlayerActionSwordTrainingActionPhaseEnd"
            }
            Self::PlayerActionSwordTrainingStory => {
                "PlayerActionType_PlayerActionSwordTrainingStory"
            }
            Self::PlayerActionSwordTrainingStatusChange => {
                "PlayerActionType_PlayerActionSwordTrainingStatusChange"
            }
            Self::PlayerActionSwordTrainingMoodChange => {
                "PlayerActionType_PlayerActionSwordTrainingMoodChange"
            }
            Self::PlayerActionSwordTrainingBattleBegin => {
                "PlayerActionType_PlayerActionSwordTrainingBattleBegin"
            }
            Self::PlayerActionSwordTrainingBattleEnd => {
                "PlayerActionType_PlayerActionSwordTrainingBattleEnd"
            }
            Self::PlayerActionSwordTrainingCombatRankChange => {
                "PlayerActionType_PlayerActionSwordTrainingCombatRankChange"
            }
            Self::PlayerActionSwordTrainingStoryLineEnd => {
                "PlayerActionType_PlayerActionSwordTrainingStoryLineEnd"
            }
            Self::PlayerActionSwordTrainingResumeStoryLine => {
                "PlayerActionType_PlayerActionSwordTrainingResumeStoryLine"
            }
            Self::PlayerActionSwordTrainingGameSuccess => {
                "PlayerActionType_PlayerActionSwordTrainingGameSuccess"
            }
            Self::PlayerActionSwordTrainingGameGiveUp => {
                "PlayerActionType_PlayerActionSwordTrainingGameGiveUp"
            }
            Self::PlayerActionSwordTrainingExam => {
                "PlayerActionType_PlayerActionSwordTrainingExam"
            }
            Self::PlayerActionSwordTrainingDialogue => {
                "PlayerActionType_PlayerActionSwordTrainingDialogue"
            }
            Self::PlayerActionSwordTrainingSetSkillTrace => {
                "PlayerActionType_PlayerActionSwordTrainingSetSkillTrace"
            }
            Self::PlayerActionFightFestFinishScoreRaceMission => {
                "PlayerActionType_PlayerActionFightFestFinishScoreRaceMission"
            }
            Self::PlayerActionFightFestFinishScoreRacePhase => {
                "PlayerActionType_PlayerActionFightFestFinishScoreRacePhase"
            }
            Self::PlayerActionFightFestRaceStart => {
                "PlayerActionType_PlayerActionFightFestRaceStart"
            }
            Self::PlayerActionFightFestRaceEnd => {
                "PlayerActionType_PlayerActionFightFestRaceEnd"
            }
            Self::PlayerActionFightFestChallengeStart => {
                "PlayerActionType_PlayerActionFightFestChallengeStart"
            }
            Self::PlayerActionFightFestChallengeEnd => {
                "PlayerActionType_PlayerActionFightFestChallengeEnd"
            }
            Self::PlayerActionFightFestGetCoachItem => {
                "PlayerActionType_PlayerActionFightFestGetCoachItem"
            }
            Self::PlayerActionFightFestAcceptScoreRaceMission => {
                "PlayerActionType_PlayerActionFightFestAcceptScoreRaceMission"
            }
            Self::PlayerActionPetUse => "PlayerActionType_PlayerActionPetUse",
            Self::PlayerActionMusicRhythmPassLevelStar => {
                "PlayerActionType_PlayerActionMusicRhythmPassLevelStar"
            }
            Self::PlayerActionMusicRhythmLevelBegin => {
                "PlayerActionType_PlayerActionMusicRhythmLevelBegin"
            }
            Self::PlayerActionMusicRhythmLevelEnd => {
                "PlayerActionType_PlayerActionMusicRhythmLevelEnd"
            }
            Self::PlayerActionTrackPhotoStageBegin => {
                "PlayerActionType_PlayerActionTrackPhotoStageBegin"
            }
            Self::PlayerActionTrackPhotoStageEnd => {
                "PlayerActionType_PlayerActionTrackPhotoStageEnd"
            }
            Self::PlayerActionSummonActivityBattleBegin => {
                "PlayerActionType_PlayerActionSummonActivityBattleBegin"
            }
            Self::PlayerActionSummonActivityBattleEnd => {
                "PlayerActionType_PlayerActionSummonActivityBattleEnd"
            }
            Self::PlayerActionRaidCollectionEnterNextRaid => {
                "PlayerActionType_PlayerActionRaidCollectionEnterNextRaid"
            }
            Self::PlayerActionDifficultyAdjustmentSet => {
                "PlayerActionType_PlayerActionDifficultyAdjustmentSet"
            }
            Self::PlayerActionDifficultyAdjustmentUnset => {
                "PlayerActionType_PlayerActionDifficultyAdjustmentUnset"
            }
            Self::PlayerActionRogueArcadeAdventureRoomStart => {
                "PlayerActionType_PlayerActionRogueArcadeAdventureRoomStart"
            }
            Self::PlayerActionRogueArcadeAdventureRoomFinish => {
                "PlayerActionType_PlayerActionRogueArcadeAdventureRoomFinish"
            }
            Self::PlayerActionRogueMagicStartLevel => {
                "PlayerActionType_PlayerActionRogueMagicStartLevel"
            }
            Self::PlayerActionRogueMagicFinishLevel => {
                "PlayerActionType_PlayerActionRogueMagicFinishLevel"
            }
            Self::PlayerActionRogueMagicRevive => {
                "PlayerActionType_PlayerActionRogueMagicRevive"
            }
            Self::PlayerActionRogueMagicEnterRoom => {
                "PlayerActionType_PlayerActionRogueMagicEnterRoom"
            }
            Self::PlayerActionRogueMagicLeaveRoom => {
                "PlayerActionType_PlayerActionRogueMagicLeaveRoom"
            }
            Self::PlayerActionRogueMagicAddMiracle => {
                "PlayerActionType_PlayerActionRogueMagicAddMiracle"
            }
            Self::PlayerActionRogueMagicRemoveMiracle => {
                "PlayerActionType_PlayerActionRogueMagicRemoveMiracle"
            }
            Self::PlayerActionRogueMagicStageBegin => {
                "PlayerActionType_PlayerActionRogueMagicStageBegin"
            }
            Self::PlayerActionRogueMagicStageEnd => {
                "PlayerActionType_PlayerActionRogueMagicStageEnd"
            }
            Self::PlayerActionRogueMagicEnableTalent => {
                "PlayerActionType_PlayerActionRogueMagicEnableTalent"
            }
            Self::PlayerActionRogueMagicFinishStory => {
                "PlayerActionType_PlayerActionRogueMagicFinishStory"
            }
            Self::PlayerActionRogueMagicAddScepter => {
                "PlayerActionType_PlayerActionRogueMagicAddScepter"
            }
            Self::PlayerActionRogueMagicSelectScepter => {
                "PlayerActionType_PlayerActionRogueMagicSelectScepter"
            }
            Self::PlayerActionRogueMagicMountUnit => {
                "PlayerActionType_PlayerActionRogueMagicMountUnit"
            }
            Self::PlayerActionRogueMagicAutoMountUnit => {
                "PlayerActionType_PlayerActionRogueMagicAutoMountUnit"
            }
            Self::PlayerActionRogueMagicAddMagicUnit => {
                "PlayerActionType_PlayerActionRogueMagicAddMagicUnit"
            }
            Self::PlayerActionRogueMagicRemoveMagicUnit => {
                "PlayerActionType_PlayerActionRogueMagicRemoveMagicUnit"
            }
            Self::PlayerActionRogueMagicWorkbenchComposeMagicUnit => {
                "PlayerActionType_PlayerActionRogueMagicWorkbenchComposeMagicUnit"
            }
            Self::PlayerActionRogueMagicWorkbenchReforgeMagicUnit => {
                "PlayerActionType_PlayerActionRogueMagicWorkbenchReforgeMagicUnit"
            }
            Self::PlayerActionRogueMagicWorkbenchLevelUpScepter => {
                "PlayerActionType_PlayerActionRogueMagicWorkbenchLevelUpScepter"
            }
            Self::PlayerActionTrainPartyGamePlayStart => {
                "PlayerActionType_PlayerActionTrainPartyGamePlayStart"
            }
            Self::PlayerActionTrainPartyPhaseBegin => {
                "PlayerActionType_PlayerActionTrainPartyPhaseBegin"
            }
            Self::PlayerActionTrainPartyPhaseEnd => {
                "PlayerActionType_PlayerActionTrainPartyPhaseEnd"
            }
            Self::PlayerActionTrainPartyRound => {
                "PlayerActionType_PlayerActionTrainPartyRound"
            }
            Self::PlayerActionTrainPartyMeetingBegin => {
                "PlayerActionType_PlayerActionTrainPartyMeetingBegin"
            }
            Self::PlayerActionTrainPartyMeetingEnd => {
                "PlayerActionType_PlayerActionTrainPartyMeetingEnd"
            }
            Self::PlayerActionTrainPartyMeetingPlayCard => {
                "PlayerActionType_PlayerActionTrainPartyMeetingPlayCard"
            }
            Self::PlayerActionTrainPartyMeetingReRoll => {
                "PlayerActionType_PlayerActionTrainPartyMeetingReRoll"
            }
            Self::PlayerActionTrainPartyBuildAreaUnlock => {
                "PlayerActionType_PlayerActionTrainPartyBuildAreaUnlock"
            }
            Self::PlayerActionTrainPartyBuildStep => {
                "PlayerActionType_PlayerActionTrainPartyBuildStep"
            }
            Self::PlayerActionTrainPartyBuildLevelAward => {
                "PlayerActionType_PlayerActionTrainPartyBuildLevelAward"
            }
            Self::PlayerActionTrainPartyBuildingDynamicBuff => {
                "PlayerActionType_PlayerActionTrainPartyBuildingDynamicBuff"
            }
            Self::PlayerActionTrainPartyBuildDiy => {
                "PlayerActionType_PlayerActionTrainPartyBuildDiy"
            }
            Self::PlayerActionSelfRoomBuildDiy => {
                "PlayerActionType_PlayerActionSelfRoomBuildDiy"
            }
            Self::PlayerActionSkipUnlockSelfRoom => {
                "PlayerActionType_PlayerActionSkipUnlockSelfRoom"
            }
            Self::PlayerActionSelfRoomBuildDiyMerge => {
                "PlayerActionType_PlayerActionSelfRoomBuildDiyMerge"
            }
            Self::PlayerActionSwitchHandOpPropState => {
                "PlayerActionType_PlayerActionSwitchHandOpPropState"
            }
            Self::PlayerActionEraFlipperChangeRegionState => {
                "PlayerActionType_PlayerActionEraFlipperChangeRegionState"
            }
            Self::PlayerActionEraFlipperChangePropState => {
                "PlayerActionType_PlayerActionEraFlipperChangePropState"
            }
            Self::PlayerActionActivityBenefitReward => {
                "PlayerActionType_PlayerActionActivityBenefitReward"
            }
            Self::PlayerActionActivityBenefitJoin => {
                "PlayerActionType_PlayerActionActivityBenefitJoin"
            }
            Self::PlayerActionActivityBenefitInitialReward => {
                "PlayerActionType_PlayerActionActivityBenefitInitialReward"
            }
            Self::PlayerActionActiveActivityReward => {
                "PlayerActionType_PlayerActionActiveActivityReward"
            }
            Self::PlayerActionPamSkinChangeSkin => {
                "PlayerActionType_PlayerActionPamSkinChangeSkin"
            }
            Self::PlayerActionChestFind => "PlayerActionType_PlayerActionChestFind",
            Self::PlayerActionReissueMarkChestItemMail => {
                "PlayerActionType_PlayerActionReissueMarkChestItemMail"
            }
            Self::PlayerActionMarblePassMatch => {
                "PlayerActionType_PlayerActionMarblePassMatch"
            }
            Self::PlayerActionMarbleBuySeal => {
                "PlayerActionType_PlayerActionMarbleBuySeal"
            }
            Self::PlayerActionMarbleFightGameBegin => {
                "PlayerActionType_PlayerActionMarbleFightGameBegin"
            }
            Self::PlayerActionMarbleFightGameEnd => {
                "PlayerActionType_PlayerActionMarbleFightGameEnd"
            }
            Self::PlayerActionMarbleFightGameRound => {
                "PlayerActionType_PlayerActionMarbleFightGameRound"
            }
            Self::PlayerActionMarbleFightGameTurn => {
                "PlayerActionType_PlayerActionMarbleFightGameTurn"
            }
            Self::PlayerActionPlanetFesLevelUp => {
                "PlayerActionType_PlayerActionPlanetFesLevelUp"
            }
            Self::PlayerActionPlanetFesActivityInit => {
                "PlayerActionType_PlayerActionPlanetFesActivityInit"
            }
            Self::PlayerActionPlanetFesAvatarLevelUp => {
                "PlayerActionType_PlayerActionPlanetFesAvatarLevelUp"
            }
            Self::PlayerActionPlanetFesTakeRegionPhaseReward => {
                "PlayerActionType_PlayerActionPlanetFesTakeRegionPhaseReward"
            }
            Self::PlayerActionPlanetFesAddItem => {
                "PlayerActionType_PlayerActionPlanetFesAddItem"
            }
            Self::PlayerActionPlanetFesQuest => {
                "PlayerActionType_PlayerActionPlanetFesQuest"
            }
            Self::PlayerActionPlanetFesBusinessDayFinish => {
                "PlayerActionType_PlayerActionPlanetFesBusinessDayFinish"
            }
            Self::PlayerActionPlanetFesAvatarStarUp => {
                "PlayerActionType_PlayerActionPlanetFesAvatarStarUp"
            }
            Self::PlayerActionPlanetFesUnlockLand => {
                "PlayerActionType_PlayerActionPlanetFesUnlockLand"
            }
            Self::PlayerActionPlanetFesBusinessEventFinish => {
                "PlayerActionType_PlayerActionPlanetFesBusinessEventFinish"
            }
            Self::PlayerActionPlanetFesActivateCard => {
                "PlayerActionType_PlayerActionPlanetFesActivateCard"
            }
            Self::PlayerActionPlanetFesSkillLevelUp => {
                "PlayerActionType_PlayerActionPlanetFesSkillLevelUp"
            }
            Self::PlayerActionPlanetFesGacha => {
                "PlayerActionType_PlayerActionPlanetFesGacha"
            }
            Self::PlayerActionPlanetFesBusinessEventHandle => {
                "PlayerActionType_PlayerActionPlanetFesBusinessEventHandle"
            }
            Self::PlayerActionPlanetFesCardApplyPermission => {
                "PlayerActionType_PlayerActionPlanetFesCardApplyPermission"
            }
            Self::PlayerActionPlanetFesCardInteract => {
                "PlayerActionType_PlayerActionPlanetFesCardInteract"
            }
            Self::PlayerActionPlanetFesToSns => {
                "PlayerActionType_PlayerActionPlanetFesToSns"
            }
            Self::PlayerActionPlanetFesSetWorkAvatar => {
                "PlayerActionType_PlayerActionPlanetFesSetWorkAvatar"
            }
            Self::PlayerActionPlanetFesSummary => {
                "PlayerActionType_PlayerActionPlanetFesSummary"
            }
            Self::PlayerActionTarotBookCharacterLevelUp => {
                "PlayerActionType_PlayerActionTarotBookCharacterLevelUp"
            }
            Self::PlayerActionTarotBookOpenPack => {
                "PlayerActionType_PlayerActionTarotBookOpenPack"
            }
            Self::PlayerActionTarotBookUnlockStory => {
                "PlayerActionType_PlayerActionTarotBookUnlockStory"
            }
            Self::PlayerActionTarotBookUnlockStorySingle => {
                "PlayerActionType_PlayerActionTarotBookUnlockStorySingle"
            }
            Self::PlayerActionTarotBookFinishStory => {
                "PlayerActionType_PlayerActionTarotBookFinishStory"
            }
            Self::PlayerActionTarotBookFinishInteraction => {
                "PlayerActionType_PlayerActionTarotBookFinishInteraction"
            }
            Self::PlayerActionTarotBookChangeEnergy => {
                "PlayerActionType_PlayerActionTarotBookChangeEnergy"
            }
            Self::PlayerActionTarotBookUnlockInteraction => {
                "PlayerActionType_PlayerActionTarotBookUnlockInteraction"
            }
            Self::PlayerActionChimeraRoundStart => {
                "PlayerActionType_PlayerActionChimeraRoundStart"
            }
            Self::PlayerActionChimeraRoundWorkStart => {
                "PlayerActionType_PlayerActionChimeraRoundWorkStart"
            }
            Self::PlayerActionChimeraRoundWorkEnd => {
                "PlayerActionType_PlayerActionChimeraRoundWorkEnd"
            }
            Self::PlayerActionChimeraEndlessStart => {
                "PlayerActionType_PlayerActionChimeraEndlessStart"
            }
            Self::PlayerActionChimeraEndlessEnd => {
                "PlayerActionType_PlayerActionChimeraEndlessEnd"
            }
            Self::PlayerActionChimeraEndlessWorkStart => {
                "PlayerActionType_PlayerActionChimeraEndlessWorkStart"
            }
            Self::PlayerActionChimeraEndlessWorkEnd => {
                "PlayerActionType_PlayerActionChimeraEndlessWorkEnd"
            }
            Self::PlayerActionChimeraRankChange => {
                "PlayerActionType_PlayerActionChimeraRankChange"
            }
            Self::PlayerActionChimeraGet => "PlayerActionType_PlayerActionChimeraGet",
            Self::PlayerActionStoryTokenTakeActivityReward => {
                "PlayerActionType_PlayerActionStoryTokenTakeActivityReward"
            }
            Self::PlayerActionReissueAvatarTokenItem => {
                "PlayerActionType_PlayerActionReissueAvatarTokenItem"
            }
            Self::PlayerActionAvatarDeliverRewardActivityTakeReward => {
                "PlayerActionType_PlayerActionAvatarDeliverRewardActivityTakeReward"
            }
            Self::PlayerActionElfRestaurantBuyField => {
                "PlayerActionType_PlayerActionElfRestaurantBuyField"
            }
            Self::PlayerActionElfRestaurantPlantSeed => {
                "PlayerActionType_PlayerActionElfRestaurantPlantSeed"
            }
            Self::PlayerActionElfRestaurantRecycleSeed => {
                "PlayerActionType_PlayerActionElfRestaurantRecycleSeed"
            }
            Self::PlayerActionElfRestaurantHarvestCrop => {
                "PlayerActionType_PlayerActionElfRestaurantHarvestCrop"
            }
            Self::PlayerActionElfRestaurantUpgradeEmployeeLevel => {
                "PlayerActionType_PlayerActionElfRestaurantUpgradeEmployeeLevel"
            }
            Self::PlayerActionElfRestaurantUpgradeFacilityLevel => {
                "PlayerActionType_PlayerActionElfRestaurantUpgradeFacilityLevel"
            }
            Self::PlayerActionElfRestaurantUpgradeRecipeLevel => {
                "PlayerActionType_PlayerActionElfRestaurantUpgradeRecipeLevel"
            }
            Self::PlayerActionElfRestaurantBuyShopItem => {
                "PlayerActionType_PlayerActionElfRestaurantBuyShopItem"
            }
            Self::PlayerActionElfRestaurantFinishTradeOrder => {
                "PlayerActionType_PlayerActionElfRestaurantFinishTradeOrder"
            }
            Self::PlayerActionElfRestaurantTakeVillagerReward => {
                "PlayerActionType_PlayerActionElfRestaurantTakeVillagerReward"
            }
            Self::PlayerActionElfRestaurantSettleRestaurantPlay => {
                "PlayerActionType_PlayerActionElfRestaurantSettleRestaurantPlay"
            }
            Self::PlayerActionElfRestaurantInit => {
                "PlayerActionType_PlayerActionElfRestaurantInit"
            }
            Self::PlayerActionElfRestaurantSettleProgress => {
                "PlayerActionType_PlayerActionElfRestaurantSettleProgress"
            }
            Self::PlayerActionElfRestaurantSettleDay => {
                "PlayerActionType_PlayerActionElfRestaurantSettleDay"
            }
            Self::PlayerActionElfRestaurantAddItem => {
                "PlayerActionType_PlayerActionElfRestaurantAddItem"
            }
            Self::PlayerActionLocalLegendReward => {
                "PlayerActionType_PlayerActionLocalLegendReward"
            }
            Self::PlayerActionFateLevelStart => {
                "PlayerActionType_PlayerActionFateLevelStart"
            }
            Self::PlayerActionFateLevelSettle => {
                "PlayerActionType_PlayerActionFateLevelSettle"
            }
            Self::PlayerActionFateBattleStart => {
                "PlayerActionType_PlayerActionFateBattleStart"
            }
            Self::PlayerActionFateBattleEnd => {
                "PlayerActionType_PlayerActionFateBattleEnd"
            }
            Self::PlayerActionFateAddHougu => "PlayerActionType_PlayerActionFateAddHougu",
            Self::PlayerActionFateSelectHougu => {
                "PlayerActionType_PlayerActionFateSelectHougu"
            }
            Self::PlayerActionFateSelectReiju => {
                "PlayerActionType_PlayerActionFateSelectReiju"
            }
            Self::PlayerActionFateRefreshReiju => {
                "PlayerActionType_PlayerActionFateRefreshReiju"
            }
            Self::PlayerActionFateAddCoin => "PlayerActionType_PlayerActionFateAddCoin",
            Self::PlayerActionFateBuyBuff => "PlayerActionType_PlayerActionFateBuyBuff",
            Self::PlayerActionFateSellBuff => "PlayerActionType_PlayerActionFateSellBuff",
            Self::PlayerActionFateRefreshShop => {
                "PlayerActionType_PlayerActionFateRefreshShop"
            }
            Self::PlayerActionFateLockGoods => {
                "PlayerActionType_PlayerActionFateLockGoods"
            }
            Self::PlayerActionFateUnlockGoods => {
                "PlayerActionType_PlayerActionFateUnlockGoods"
            }
            Self::PlayerActionFateTakeExpReward => {
                "PlayerActionType_PlayerActionFateTakeExpReward"
            }
            Self::PlayerActionFateAddExp => "PlayerActionType_PlayerActionFateAddExp",
            Self::PlayerActionFateMasterHpChange => {
                "PlayerActionType_PlayerActionFateMasterHpChange"
            }
            Self::PlayerActionParkourStartLevel => {
                "PlayerActionType_PlayerActionParkourStartLevel"
            }
            Self::PlayerActionParkourEndLevel => {
                "PlayerActionType_PlayerActionParkourEndLevel"
            }
            Self::PlayerActionBasinChestInteractResult => {
                "PlayerActionType_PlayerActionBasinChestInteractResult"
            }
            Self::PlayerActionRogueMiracleSwap => {
                "PlayerActionType_PlayerActionRogueMiracleSwap"
            }
            Self::PlayerActionHipplenEndingTakeReward => {
                "PlayerActionType_PlayerActionHipplenEndingTakeReward"
            }
            Self::PlayerActionHipplenGiftDeliverReward => {
                "PlayerActionType_PlayerActionHipplenGiftDeliverReward"
            }
            Self::PlayerActionHipplenCycleStart => {
                "PlayerActionType_PlayerActionHipplenCycleStart"
            }
            Self::PlayerActionHipplenCycleFinish => {
                "PlayerActionType_PlayerActionHipplenCycleFinish"
            }
            Self::PlayerActionHipplenAgendaPlan => {
                "PlayerActionType_PlayerActionHipplenAgendaPlan"
            }
            Self::PlayerActionHipplenAgendaSettle => {
                "PlayerActionType_PlayerActionHipplenAgendaSettle"
            }
            Self::PlayerActionHipplenTrialStart => {
                "PlayerActionType_PlayerActionHipplenTrialStart"
            }
            Self::PlayerActionHipplenTrialFinish => {
                "PlayerActionType_PlayerActionHipplenTrialFinish"
            }
            Self::PlayerActionHipplenStatusChange => {
                "PlayerActionType_PlayerActionHipplenStatusChange"
            }
            Self::PlayerActionHipplenOutfitChange => {
                "PlayerActionType_PlayerActionHipplenOutfitChange"
            }
            Self::PlayerActionHipplenTraitUnlock => {
                "PlayerActionType_PlayerActionHipplenTraitUnlock"
            }
            Self::PlayerActionHipplenEndingUnlock => {
                "PlayerActionType_PlayerActionHipplenEndingUnlock"
            }
            Self::PlayerActionHipplenOutfitUnlock => {
                "PlayerActionType_PlayerActionHipplenOutfitUnlock"
            }
            Self::PlayerActionHipplenGiftUnlock => {
                "PlayerActionType_PlayerActionHipplenGiftUnlock"
            }
            Self::PlayerActionHipplenIncidentFinish => {
                "PlayerActionType_PlayerActionHipplenIncidentFinish"
            }
            Self::PlayerActionChallengePeakStart => {
                "PlayerActionType_PlayerActionChallengePeakStart"
            }
            Self::PlayerActionChallengePeakReward => {
                "PlayerActionType_PlayerActionChallengePeakReward"
            }
            Self::PlayerActionChallengePeakMobStart => {
                "PlayerActionType_PlayerActionChallengePeakMobStart"
            }
            Self::PlayerActionChallengePeakMobSettle => {
                "PlayerActionType_PlayerActionChallengePeakMobSettle"
            }
            Self::PlayerActionChallengePeakBossStart => {
                "PlayerActionType_PlayerActionChallengePeakBossStart"
            }
            Self::PlayerActionChallengePeakBossSettle => {
                "PlayerActionType_PlayerActionChallengePeakBossSettle"
            }
            Self::PlayerActionChallengePeakFastPass => {
                "PlayerActionType_PlayerActionChallengePeakFastPass"
            }
            Self::PlayerActionChallengePeakRecommendLineup => {
                "PlayerActionType_PlayerActionChallengePeakRecommendLineup"
            }
            Self::PlayerActionChallengePeakMobBattleEnd => {
                "PlayerActionType_PlayerActionChallengePeakMobBattleEnd"
            }
            Self::PlayerActionChallengePeakMobRecordClear => {
                "PlayerActionType_PlayerActionChallengePeakMobRecordClear"
            }
            Self::PlayerActionCakeRaceLoan => "PlayerActionType_PlayerActionCakeRaceLoan",
            Self::PlayerActionCakeRaceSectionBegin => {
                "PlayerActionType_PlayerActionCakeRaceSectionBegin"
            }
            Self::PlayerActionCakeRaceSectionEnd => {
                "PlayerActionType_PlayerActionCakeRaceSectionEnd"
            }
            Self::PlayerActionCakeRaceRoomSectionSettle => {
                "PlayerActionType_PlayerActionCakeRaceRoomSectionSettle"
            }
            Self::PlayerActionCakeRaceGameSettle => {
                "PlayerActionType_PlayerActionCakeRaceGameSettle"
            }
            Self::PlayerActionCakeRaceGameBetCat => {
                "PlayerActionType_PlayerActionCakeRaceGameBetCat"
            }
            Self::PlayerActionCakeRaceGameWinCoin => {
                "PlayerActionType_PlayerActionCakeRaceGameWinCoin"
            }
            Self::PlayerActionCakeRaceLikeFriendRanking => {
                "PlayerActionType_PlayerActionCakeRaceLikeFriendRanking"
            }
            Self::PlayerActionElationBattleBegin => {
                "PlayerActionType_PlayerActionElationBattleBegin"
            }
            Self::PlayerActionElationBattleEnd => {
                "PlayerActionType_PlayerActionElationBattleEnd"
            }
            Self::PlayerActionActivityHotDataChange => {
                "PlayerActionType_PlayerActionActivityHotDataChange"
            }
            Self::PlayerActionChimeraDuelGameSettle => {
                "PlayerActionType_PlayerActionChimeraDuelGameSettle"
            }
            Self::PlayerActionChimeraDuelMasterUnlock => {
                "PlayerActionType_PlayerActionChimeraDuelMasterUnlock"
            }
            Self::PlayerActionChimeraDuelGameStart => {
                "PlayerActionType_PlayerActionChimeraDuelGameStart"
            }
            Self::PlayerActionChimeraDuelBattleStart => {
                "PlayerActionType_PlayerActionChimeraDuelBattleStart"
            }
            Self::PlayerActionChimeraDuelBattleEnd => {
                "PlayerActionType_PlayerActionChimeraDuelBattleEnd"
            }
            Self::PlayerActionChimeraDuelChimeraBuy => {
                "PlayerActionType_PlayerActionChimeraDuelChimeraBuy"
            }
            Self::PlayerActionChimeraDuelItemBuy => {
                "PlayerActionType_PlayerActionChimeraDuelItemBuy"
            }
            Self::PlayerActionChimeraDuelShopRefresh => {
                "PlayerActionType_PlayerActionChimeraDuelShopRefresh"
            }
            Self::PlayerActionChimeraDuelChimeraEnhance => {
                "PlayerActionType_PlayerActionChimeraDuelChimeraEnhance"
            }
            Self::PlayerActionChimeraDuelChimeraSell => {
                "PlayerActionType_PlayerActionChimeraDuelChimeraSell"
            }
            Self::PlayerActionChimeraDuelShopStart => {
                "PlayerActionType_PlayerActionChimeraDuelShopStart"
            }
            Self::PlayerActionChimeraDuelShopEnd => {
                "PlayerActionType_PlayerActionChimeraDuelShopEnd"
            }
            Self::PlayerActionChimeraDuelFriendPvpLineupSave => {
                "PlayerActionType_PlayerActionChimeraDuelFriendPvpLineupSave"
            }
            Self::PlayerActionChimeraDuelDefendLineupSet => {
                "PlayerActionType_PlayerActionChimeraDuelDefendLineupSet"
            }
            Self::PlayerActionMazePuzzleFinishChenLingGameBoy => {
                "PlayerActionType_PlayerActionMazePuzzleFinishChenLingGameBoy"
            }
            Self::PlayerActionMazePuzzleFiveDimMoneyChange => {
                "PlayerActionType_PlayerActionMazePuzzleFiveDimMoneyChange"
            }
            Self::PlayerActionMazePuzzleFinishFiveDimMiniGame => {
                "PlayerActionType_PlayerActionMazePuzzleFinishFiveDimMiniGame"
            }
            Self::PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode => {
                "PlayerActionType_PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode"
            }
            Self::PlayerActionMazePuzzleEnterFiveDimGame => {
                "PlayerActionType_PlayerActionMazePuzzleEnterFiveDimGame"
            }
            Self::PlayerActionMazePuzzleLeaveFiveDimGame => {
                "PlayerActionType_PlayerActionMazePuzzleLeaveFiveDimGame"
            }
            Self::PlayerActionMazePuzzleFiveDimGameSkillChange => {
                "PlayerActionType_PlayerActionMazePuzzleFiveDimGameSkillChange"
            }
            Self::PlayerActionGridFightGameStart => {
                "PlayerActionType_PlayerActionGridFightGameStart"
            }
            Self::PlayerActionGridFightGameEnd => {
                "PlayerActionType_PlayerActionGridFightGameEnd"
            }
            Self::PlayerActionGridFightRoundStart => {
                "PlayerActionType_PlayerActionGridFightRoundStart"
            }
            Self::PlayerActionGridFightRoundEnd => {
                "PlayerActionType_PlayerActionGridFightRoundEnd"
            }
            Self::PlayerActionGridFightBattleStart => {
                "PlayerActionType_PlayerActionGridFightBattleStart"
            }
            Self::PlayerActionGridFightBattleEnd => {
                "PlayerActionType_PlayerActionGridFightBattleEnd"
            }
            Self::PlayerActionGridFightBattleRole => {
                "PlayerActionType_PlayerActionGridFightBattleRole"
            }
            Self::PlayerActionGridFightPortalRefresh => {
                "PlayerActionType_PlayerActionGridFightPortalRefresh"
            }
            Self::PlayerActionGridFightPortalSelect => {
                "PlayerActionType_PlayerActionGridFightPortalSelect"
            }
            Self::PlayerActionGridFightAugmentRefresh => {
                "PlayerActionType_PlayerActionGridFightAugmentRefresh"
            }
            Self::PlayerActionGridFightAugmentSelect => {
                "PlayerActionType_PlayerActionGridFightAugmentSelect"
            }
            Self::PlayerActionGridFightShopRefresh => {
                "PlayerActionType_PlayerActionGridFightShopRefresh"
            }
            Self::PlayerActionGridFightShopBuy => {
                "PlayerActionType_PlayerActionGridFightShopBuy"
            }
            Self::PlayerActionGridFightSupplyRefresh => {
                "PlayerActionType_PlayerActionGridFightSupplyRefresh"
            }
            Self::PlayerActionGridFightSupplySelect => {
                "PlayerActionType_PlayerActionGridFightSupplySelect"
            }
            Self::PlayerActionGridFightForgeOpen => {
                "PlayerActionType_PlayerActionGridFightForgeOpen"
            }
            Self::PlayerActionGridFightSpecialShopBuy => {
                "PlayerActionType_PlayerActionGridFightSpecialShopBuy"
            }
            Self::PlayerActionGridFightGetExp => {
                "PlayerActionType_PlayerActionGridFightGetExp"
            }
            Self::PlayerActionGridFightGetOrb => {
                "PlayerActionType_PlayerActionGridFightGetOrb"
            }
            Self::PlayerActionGridFightUseOrb => {
                "PlayerActionType_PlayerActionGridFightUseOrb"
            }
            Self::PlayerActionGridFightGetRole => {
                "PlayerActionType_PlayerActionGridFightGetRole"
            }
            Self::PlayerActionGridFightGetCoin => {
                "PlayerActionType_PlayerActionGridFightGetCoin"
            }
            Self::PlayerActionGridFightGetFreeRefresh => {
                "PlayerActionType_PlayerActionGridFightGetFreeRefresh"
            }
            Self::PlayerActionGridFightGetItem => {
                "PlayerActionType_PlayerActionGridFightGetItem"
            }
            Self::PlayerActionGridFightGetEquip => {
                "PlayerActionType_PlayerActionGridFightGetEquip"
            }
            Self::PlayerActionGridFightDressEquip => {
                "PlayerActionType_PlayerActionGridFightDressEquip"
            }
            Self::PlayerActionGridFightGetHp => {
                "PlayerActionType_PlayerActionGridFightGetHp"
            }
            Self::PlayerActionGridFightWeeklyScoreChange => {
                "PlayerActionType_PlayerActionGridFightWeeklyScoreChange"
            }
            Self::PlayerActionGridFightGetWeeklyReward => {
                "PlayerActionType_PlayerActionGridFightGetWeeklyReward"
            }
            Self::PlayerActionGridFightSeasonExpChange => {
                "PlayerActionType_PlayerActionGridFightSeasonExpChange"
            }
            Self::PlayerActionGridFightTalentEnable => {
                "PlayerActionType_PlayerActionGridFightTalentEnable"
            }
            Self::PlayerActionGridFightTalentReset => {
                "PlayerActionType_PlayerActionGridFightTalentReset"
            }
            Self::PlayerActionGridFightTutorialTaskFinish => {
                "PlayerActionType_PlayerActionGridFightTutorialTaskFinish"
            }
            Self::PlayerActionGridFightEliteBranchRefresh => {
                "PlayerActionType_PlayerActionGridFightEliteBranchRefresh"
            }
            Self::PlayerActionGridFightTutorialResume => {
                "PlayerActionType_PlayerActionGridFightTutorialResume"
            }
            Self::PlayerActionGridFightGetProjection => {
                "PlayerActionType_PlayerActionGridFightGetProjection"
            }
            Self::PlayerActionGridFightGetPresent => {
                "PlayerActionType_PlayerActionGridFightGetPresent"
            }
            Self::PlayerActionGridFightOpenPresent => {
                "PlayerActionType_PlayerActionGridFightOpenPresent"
            }
            Self::PlayerActionGridFightSettleSeasonEnd => {
                "PlayerActionType_PlayerActionGridFightSettleSeasonEnd"
            }
            Self::PlayerActionGridFightFavoriteArchive => {
                "PlayerActionType_PlayerActionGridFightFavoriteArchive"
            }
            Self::PlayerActionLocalLegendBattleBegin => {
                "PlayerActionType_PlayerActionLocalLegendBattleBegin"
            }
            Self::PlayerActionLocalLegendBattleEnd => {
                "PlayerActionType_PlayerActionLocalLegendBattleEnd"
            }
            Self::PlayerActionDiceCombatBuyShopGood => {
                "PlayerActionType_PlayerActionDiceCombatBuyShopGood"
            }
            Self::PlayerActionDiceCombatUpgradeAvatar => {
                "PlayerActionType_PlayerActionDiceCombatUpgradeAvatar"
            }
            Self::PlayerActionDiceCombatFinishPveStage => {
                "PlayerActionType_PlayerActionDiceCombatFinishPveStage"
            }
            Self::PlayerActionDiceCombatBegin => {
                "PlayerActionType_PlayerActionDiceCombatBegin"
            }
            Self::PlayerActionDiceCombatTurnEnd => {
                "PlayerActionType_PlayerActionDiceCombatTurnEnd"
            }
            Self::PlayerActionDiceCombatEnd => {
                "PlayerActionType_PlayerActionDiceCombatEnd"
            }
            Self::PlayerActionDiceCombatScoreChange => {
                "PlayerActionType_PlayerActionDiceCombatScoreChange"
            }
            Self::PlayerActionDiceCombatChangeColorDice => {
                "PlayerActionType_PlayerActionDiceCombatChangeColorDice"
            }
            Self::PlayerActionInteractiveTriggerMazeBuffAdd => {
                "PlayerActionType_PlayerActionInteractiveTriggerMazeBuffAdd"
            }
            Self::PlayerActionNewYearBoatTakeReward => {
                "PlayerActionType_PlayerActionNewYearBoatTakeReward"
            }
            Self::PlayerActionNewYearBoatSelectBoat => {
                "PlayerActionType_PlayerActionNewYearBoatSelectBoat"
            }
            Self::PlayerActionNewYearBoatPeriodSettle => {
                "PlayerActionType_PlayerActionNewYearBoatPeriodSettle"
            }
            Self::PlayerActionJukeboxSetting => {
                "PlayerActionType_PlayerActionJukeboxSetting"
            }
            Self::PlayerActionJukeboxSettingReset => {
                "PlayerActionType_PlayerActionJukeboxSettingReset"
            }
            Self::PlayerActionLimaoNewsSubmitIssue => {
                "PlayerActionType_PlayerActionLimaoNewsSubmitIssue"
            }
            Self::PlayerActionLimaoNewsSubmitPost => {
                "PlayerActionType_PlayerActionLimaoNewsSubmitPost"
            }
            Self::PlayerActionLimaoNewsOfficeSurveyStateChange => {
                "PlayerActionType_PlayerActionLimaoNewsOfficeSurveyStateChange"
            }
            Self::PlayerActionLimaoNewsTriggerMessage => {
                "PlayerActionType_PlayerActionLimaoNewsTriggerMessage"
            }
            Self::PlayerActionLimaoNewsFinishMessage => {
                "PlayerActionType_PlayerActionLimaoNewsFinishMessage"
            }
            Self::PlayerActionLimaoNewsFinishCondition => {
                "PlayerActionType_PlayerActionLimaoNewsFinishCondition"
            }
            Self::PlayerActionLimaoNewsUnlockPost => {
                "PlayerActionType_PlayerActionLimaoNewsUnlockPost"
            }
            Self::PlayerActionLimaoNewsReplyComment => {
                "PlayerActionType_PlayerActionLimaoNewsReplyComment"
            }
            Self::PlayerActionLimaoNewsBanPost => {
                "PlayerActionType_PlayerActionLimaoNewsBanPost"
            }
            Self::PlayerActionLimaoNewsTriggerOfficeEvent => {
                "PlayerActionType_PlayerActionLimaoNewsTriggerOfficeEvent"
            }
            Self::PlayerActionLimaoNewsFinishOfficeEvent => {
                "PlayerActionType_PlayerActionLimaoNewsFinishOfficeEvent"
            }
            Self::PlayerActionLimaoNewsUpvoteContent => {
                "PlayerActionType_PlayerActionLimaoNewsUpvoteContent"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PlayerActionType_PlayerActionNone" => Some(Self::PlayerActionNone),
            "PlayerActionType_PlayerActionRegister" => Some(Self::PlayerActionRegister),
            "PlayerActionType_PlayerActionLogin" => Some(Self::PlayerActionLogin),
            "PlayerActionType_PlayerActionLogout" => Some(Self::PlayerActionLogout),
            "PlayerActionType_PlayerActionAddExp" => Some(Self::PlayerActionAddExp),
            "PlayerActionType_PlayerActionLevelUp" => Some(Self::PlayerActionLevelUp),
            "PlayerActionType_PlayerActionAddMaterial" => {
                Some(Self::PlayerActionAddMaterial)
            }
            "PlayerActionType_PlayerActionSaveStat" => Some(Self::PlayerActionSaveStat),
            "PlayerActionType_PlayerActionTravelBrochureInteract" => {
                Some(Self::PlayerActionTravelBrochureInteract)
            }
            "PlayerActionType_PlayerActionRelay" => Some(Self::PlayerActionRelay),
            "PlayerActionType_PlayerActionRecharge" => Some(Self::PlayerActionRecharge),
            "PlayerActionType_PlayerActionBuyGoods" => Some(Self::PlayerActionBuyGoods),
            "PlayerActionType_PlayerActionAddCoin" => Some(Self::PlayerActionAddCoin),
            "PlayerActionType_PlayerActionMonthCardDailyHcoin" => {
                Some(Self::PlayerActionMonthCardDailyHcoin)
            }
            "PlayerActionType_PlayerActionMonthCardBuyMcoin" => {
                Some(Self::PlayerActionMonthCardBuyMcoin)
            }
            "PlayerActionType_PlayerActionRechargeFreeCoin" => {
                Some(Self::PlayerActionRechargeFreeCoin)
            }
            "PlayerActionType_PlayerActionAddMonthCard" => {
                Some(Self::PlayerActionAddMonthCard)
            }
            "PlayerActionType_PlayerActionRechargeGiftPay" => {
                Some(Self::PlayerActionRechargeGiftPay)
            }
            "PlayerActionType_PlayerActionRechargeGiftFree" => {
                Some(Self::PlayerActionRechargeGiftFree)
            }
            "PlayerActionType_PlayerActionRechargeBenefit" => {
                Some(Self::PlayerActionRechargeBenefit)
            }
            "PlayerActionType_PlayerActionRechargeGiftTakeReward" => {
                Some(Self::PlayerActionRechargeGiftTakeReward)
            }
            "PlayerActionType_PlayerActionRechargeGiftReach" => {
                Some(Self::PlayerActionRechargeGiftReach)
            }
            "PlayerActionType_PlayerActionRechargeBenefitReach" => {
                Some(Self::PlayerActionRechargeBenefitReach)
            }
            "PlayerActionType_PlayerActionMonthCardEndMail" => {
                Some(Self::PlayerActionMonthCardEndMail)
            }
            "PlayerActionType_PlayerActionMissionAccept" => {
                Some(Self::PlayerActionMissionAccept)
            }
            "PlayerActionType_PlayerActionMissionFinish" => {
                Some(Self::PlayerActionMissionFinish)
            }
            "PlayerActionType_PlayerActionMissionFail" => {
                Some(Self::PlayerActionMissionFail)
            }
            "PlayerActionType_PlayerActionMainMissionAccept" => {
                Some(Self::PlayerActionMainMissionAccept)
            }
            "PlayerActionType_PlayerActionSubMissionAccept" => {
                Some(Self::PlayerActionSubMissionAccept)
            }
            "PlayerActionType_PlayerActionMainMissionFinish" => {
                Some(Self::PlayerActionMainMissionFinish)
            }
            "PlayerActionType_PlayerActionSubMissionFinish" => {
                Some(Self::PlayerActionSubMissionFinish)
            }
            "PlayerActionType_PlayerActionDailyTaskFinish" => {
                Some(Self::PlayerActionDailyTaskFinish)
            }
            "PlayerActionType_PlayerActionDailyTaskTakeReward" => {
                Some(Self::PlayerActionDailyTaskTakeReward)
            }
            "PlayerActionType_PlayerActionNpcTalkReward" => {
                Some(Self::PlayerActionNpcTalkReward)
            }
            "PlayerActionType_PlayerActionMainMissionRecover" => {
                Some(Self::PlayerActionMainMissionRecover)
            }
            "PlayerActionType_PlayerActionMainMissionDisable" => {
                Some(Self::PlayerActionMainMissionDisable)
            }
            "PlayerActionType_PlayerActionConsumeItemSubMissionFinish" => {
                Some(Self::PlayerActionConsumeItemSubMissionFinish)
            }
            "PlayerActionType_PlayerActionItemMonitorAllSources" => {
                Some(Self::PlayerActionItemMonitorAllSources)
            }
            "PlayerActionType_PlayerActionGm" => Some(Self::PlayerActionGm),
            "PlayerActionType_PlayerActionCustomOp" => Some(Self::PlayerActionCustomOp),
            "PlayerActionType_PlayerActionCheckSum" => Some(Self::PlayerActionCheckSum),
            "PlayerActionType_PlayerActionPlayerLocation" => {
                Some(Self::PlayerActionPlayerLocation)
            }
            "PlayerActionType_PlayerActionChangeLanguage" => {
                Some(Self::PlayerActionChangeLanguage)
            }
            "PlayerActionType_PlayerActionClientReport" => {
                Some(Self::PlayerActionClientReport)
            }
            "PlayerActionType_PlayerActionAceReport" => Some(Self::PlayerActionAceReport),
            "PlayerActionType_PlayerActionPlayerPowerInfo" => {
                Some(Self::PlayerActionPlayerPowerInfo)
            }
            "PlayerActionType_PlayerActionDailyRefresh" => {
                Some(Self::PlayerActionDailyRefresh)
            }
            "PlayerActionType_PlayerActionAvatarValueInfo" => {
                Some(Self::PlayerActionAvatarValueInfo)
            }
            "PlayerActionType_PlayerActionMoveCheckFailedReport" => {
                Some(Self::PlayerActionMoveCheckFailedReport)
            }
            "PlayerActionType_PlayerActionBattleFailedReport" => {
                Some(Self::PlayerActionBattleFailedReport)
            }
            "PlayerActionType_PlayerActionSecurityReport" => {
                Some(Self::PlayerActionSecurityReport)
            }
            "PlayerActionType_PlayerActionAvatarPromotion" => {
                Some(Self::PlayerActionAvatarPromotion)
            }
            "PlayerActionType_PlayerActionAvatarAdd" => Some(Self::PlayerActionAvatarAdd),
            "PlayerActionType_PlayerActionAvatarUseExpItem" => {
                Some(Self::PlayerActionAvatarUseExpItem)
            }
            "PlayerActionType_PlayerActionAvatarLevelUp" => {
                Some(Self::PlayerActionAvatarLevelUp)
            }
            "PlayerActionType_PlayerActionSkillTreeUp" => {
                Some(Self::PlayerActionSkillTreeUp)
            }
            "PlayerActionType_PlayerActionAvatarHpChange" => {
                Some(Self::PlayerActionAvatarHpChange)
            }
            "PlayerActionType_PlayerActionAvatarMpChange" => {
                Some(Self::PlayerActionAvatarMpChange)
            }
            "PlayerActionType_PlayerActionAvatarAddExp" => {
                Some(Self::PlayerActionAvatarAddExp)
            }
            "PlayerActionType_PlayerActionAvatarRankUp" => {
                Some(Self::PlayerActionAvatarRankUp)
            }
            "PlayerActionType_PlayerActionAvatarRepeated" => {
                Some(Self::PlayerActionAvatarRepeated)
            }
            "PlayerActionType_PlayerActionMpMaxChange" => {
                Some(Self::PlayerActionMpMaxChange)
            }
            "PlayerActionType_PlayerActionAvatarTakePromotionReward" => {
                Some(Self::PlayerActionAvatarTakePromotionReward)
            }
            "PlayerActionType_PlayerActionAvatarRelicAffixInfo" => {
                Some(Self::PlayerActionAvatarRelicAffixInfo)
            }
            "PlayerActionType_PlayerActionAvatarMark" => {
                Some(Self::PlayerActionAvatarMark)
            }
            "PlayerActionType_PlayerActionAvatarSystemPowerReset" => {
                Some(Self::PlayerActionAvatarSystemPowerReset)
            }
            "PlayerActionType_PlayerActionAvatarChangePath" => {
                Some(Self::PlayerActionAvatarChangePath)
            }
            "PlayerActionType_PlayerActionSetGrowthTargetAvatar" => {
                Some(Self::PlayerActionSetGrowthTargetAvatar)
            }
            "PlayerActionType_PlayerActionDelAvatar" => Some(Self::PlayerActionDelAvatar),
            "PlayerActionType_PlayerActionAvatarSkinChange" => {
                Some(Self::PlayerActionAvatarSkinChange)
            }
            "PlayerActionType_PlayerActionSetGrowthTargetFunctionConfig" => {
                Some(Self::PlayerActionSetGrowthTargetFunctionConfig)
            }
            "PlayerActionType_PlayerActionAvatarSkinActivityReissue" => {
                Some(Self::PlayerActionAvatarSkinActivityReissue)
            }
            "PlayerActionType_PlayerActionSetAvatarEnhancedId" => {
                Some(Self::PlayerActionSetAvatarEnhancedId)
            }
            "PlayerActionType_PlayerActionDressPlayerOutfit" => {
                Some(Self::PlayerActionDressPlayerOutfit)
            }
            "PlayerActionType_PlayerActionStageBegin" => {
                Some(Self::PlayerActionStageBegin)
            }
            "PlayerActionType_PlayerActionStageEnd" => Some(Self::PlayerActionStageEnd),
            "PlayerActionType_PlayerActionCocoonStageBegin" => {
                Some(Self::PlayerActionCocoonStageBegin)
            }
            "PlayerActionType_PlayerActionCocoonStageEnd" => {
                Some(Self::PlayerActionCocoonStageEnd)
            }
            "PlayerActionType_PlayerActionFarmElementEnd" => {
                Some(Self::PlayerActionFarmElementEnd)
            }
            "PlayerActionType_PlayerActionElementStageEnd" => {
                Some(Self::PlayerActionElementStageEnd)
            }
            "PlayerActionType_PlayerActionCocoonSweep" => {
                Some(Self::PlayerActionCocoonSweep)
            }
            "PlayerActionType_PlayerActionFarmElementSweep" => {
                Some(Self::PlayerActionFarmElementSweep)
            }
            "PlayerActionType_PlayerActionRecoverStamina" => {
                Some(Self::PlayerActionRecoverStamina)
            }
            "PlayerActionType_PlayerActionExchangeStamina" => {
                Some(Self::PlayerActionExchangeStamina)
            }
            "PlayerActionType_PlayerActionLoginReward" => {
                Some(Self::PlayerActionLoginReward)
            }
            "PlayerActionType_PlayerActionModifyNickname" => {
                Some(Self::PlayerActionModifyNickname)
            }
            "PlayerActionType_PlayerActionGetLevelReward" => {
                Some(Self::PlayerActionGetLevelReward)
            }
            "PlayerActionType_PlayerActionWorldLevelUp" => {
                Some(Self::PlayerActionWorldLevelUp)
            }
            "PlayerActionType_PlayerActionAddStamina" => {
                Some(Self::PlayerActionAddStamina)
            }
            "PlayerActionType_PlayerActionGameplayBirthdayRewardMail" => {
                Some(Self::PlayerActionGameplayBirthdayRewardMail)
            }
            "PlayerActionType_PlayerActionRechargeRebateReward" => {
                Some(Self::PlayerActionRechargeRebateReward)
            }
            "PlayerActionType_PlayerActionGameplayBirthdaySet" => {
                Some(Self::PlayerActionGameplayBirthdaySet)
            }
            "PlayerActionType_PlayerActionReserveStaminaExchange" => {
                Some(Self::PlayerActionReserveStaminaExchange)
            }
            "PlayerActionType_PlayerActionReserveStaminaAdd" => {
                Some(Self::PlayerActionReserveStaminaAdd)
            }
            "PlayerActionType_PlayerActionReserveStaminaChange" => {
                Some(Self::PlayerActionReserveStaminaChange)
            }
            "PlayerActionType_PlayerActionNowStamina" => {
                Some(Self::PlayerActionNowStamina)
            }
            "PlayerActionType_PlayerActionFtcResetNickname" => {
                Some(Self::PlayerActionFtcResetNickname)
            }
            "PlayerActionType_PlayerActionReserveAndFuelExchangeStamina" => {
                Some(Self::PlayerActionReserveAndFuelExchangeStamina)
            }
            "PlayerActionType_PlayerActionMail" => Some(Self::PlayerActionMail),
            "PlayerActionType_PlayerActionMailOpByUser" => {
                Some(Self::PlayerActionMailOpByUser)
            }
            "PlayerActionType_PlayerActionMailOpByMuip" => {
                Some(Self::PlayerActionMailOpByMuip)
            }
            "PlayerActionType_PlayerActionMailOpByGm" => {
                Some(Self::PlayerActionMailOpByGm)
            }
            "PlayerActionType_PlayerActionMailOpByFull" => {
                Some(Self::PlayerActionMailOpByFull)
            }
            "PlayerActionType_PlayerActionMailOpByExpire" => {
                Some(Self::PlayerActionMailOpByExpire)
            }
            "PlayerActionType_PlayerActionMailOpByInternal" => {
                Some(Self::PlayerActionMailOpByInternal)
            }
            "PlayerActionType_PlayerActionAddMail" => Some(Self::PlayerActionAddMail),
            "PlayerActionType_PlayerActionDelMail" => Some(Self::PlayerActionDelMail),
            "PlayerActionType_PlayerActionTakeAttachment" => {
                Some(Self::PlayerActionTakeAttachment)
            }
            "PlayerActionType_PlayerActionReadMail" => Some(Self::PlayerActionReadMail),
            "PlayerActionType_PlayerActionBattleAvatar" => {
                Some(Self::PlayerActionBattleAvatar)
            }
            "PlayerActionType_PlayerActionBattleMonster" => {
                Some(Self::PlayerActionBattleMonster)
            }
            "PlayerActionType_PlayerActionBattleEnd" => Some(Self::PlayerActionBattleEnd),
            "PlayerActionType_PlayerActionBattleReplay" => {
                Some(Self::PlayerActionBattleReplay)
            }
            "PlayerActionType_PlayerActionBattleAvatarDeath" => {
                Some(Self::PlayerActionBattleAvatarDeath)
            }
            "PlayerActionType_PlayerActionBattleSwitchPhase" => {
                Some(Self::PlayerActionBattleSwitchPhase)
            }
            "PlayerActionType_PlayerActionBattleMonsterSkill" => {
                Some(Self::PlayerActionBattleMonsterSkill)
            }
            "PlayerActionType_PlayerActionBattleRebattle" => {
                Some(Self::PlayerActionBattleRebattle)
            }
            "PlayerActionType_PlayerActionBattleAvatarServant" => {
                Some(Self::PlayerActionBattleAvatarServant)
            }
            "PlayerActionType_PlayerActionMissionReward" => {
                Some(Self::PlayerActionMissionReward)
            }
            "PlayerActionType_PlayerActionQuestAccept" => {
                Some(Self::PlayerActionQuestAccept)
            }
            "PlayerActionType_PlayerActionQuestFinish" => {
                Some(Self::PlayerActionQuestFinish)
            }
            "PlayerActionType_PlayerActionQuestRemove" => {
                Some(Self::PlayerActionQuestRemove)
            }
            "PlayerActionType_PlayerActionQuestReward" => {
                Some(Self::PlayerActionQuestReward)
            }
            "PlayerActionType_PlayerActionQuestAutoClose" => {
                Some(Self::PlayerActionQuestAutoClose)
            }
            "PlayerActionType_PlayerActionQuestExpired" => {
                Some(Self::PlayerActionQuestExpired)
            }
            "PlayerActionType_PlayerActionMissionRequired" => {
                Some(Self::PlayerActionMissionRequired)
            }
            "PlayerActionType_PlayerActionSubmissionReward" => {
                Some(Self::PlayerActionSubmissionReward)
            }
            "PlayerActionType_PlayerActionAchievementLevelReward" => {
                Some(Self::PlayerActionAchievementLevelReward)
            }
            "PlayerActionType_PlayerActionQuestDelete" => {
                Some(Self::PlayerActionQuestDelete)
            }
            "PlayerActionType_PlayerActionSubMissionRewarda" => {
                Some(Self::PlayerActionSubMissionRewarda)
            }
            "PlayerActionType_PlayerActionMissionCompensate" => {
                Some(Self::PlayerActionMissionCompensate)
            }
            "PlayerActionType_PlayerActionMissionRecycle" => {
                Some(Self::PlayerActionMissionRecycle)
            }
            "PlayerActionType_PlayerActionQuestReset" => {
                Some(Self::PlayerActionQuestReset)
            }
            "PlayerActionType_PlayerActionQuestOptionalReward" => {
                Some(Self::PlayerActionQuestOptionalReward)
            }
            "PlayerActionType_PlayerActionMcvChange" => Some(Self::PlayerActionMcvChange),
            "PlayerActionType_PlayerActionQuestReissue" => {
                Some(Self::PlayerActionQuestReissue)
            }
            "PlayerActionType_PlayerActionPropInteract" => {
                Some(Self::PlayerActionPropInteract)
            }
            "PlayerActionType_PlayerActionAvatarMazeSkill" => {
                Some(Self::PlayerActionAvatarMazeSkill)
            }
            "PlayerActionType_PlayerActionEnterMaze" => Some(Self::PlayerActionEnterMaze),
            "PlayerActionType_PlayerActionOrdinaryInteract" => {
                Some(Self::PlayerActionOrdinaryInteract)
            }
            "PlayerActionType_PlayerActionChestInteract" => {
                Some(Self::PlayerActionChestInteract)
            }
            "PlayerActionType_PlayerActionCheckPointUnlock" => {
                Some(Self::PlayerActionCheckPointUnlock)
            }
            "PlayerActionType_PlayerActionCheckPointInteract" => {
                Some(Self::PlayerActionCheckPointInteract)
            }
            "PlayerActionType_PlayerActionCheckPointRevive" => {
                Some(Self::PlayerActionCheckPointRevive)
            }
            "PlayerActionType_PlayerActionCheckPointTransfer" => {
                Some(Self::PlayerActionCheckPointTransfer)
            }
            "PlayerActionType_PlayerActionMonsterInteract" => {
                Some(Self::PlayerActionMonsterInteract)
            }
            "PlayerActionType_PlayerActionNpcInteract" => {
                Some(Self::PlayerActionNpcInteract)
            }
            "PlayerActionType_PlayerActionPropHit" => Some(Self::PlayerActionPropHit),
            "PlayerActionType_PlayerActionPrelogueRevive" => {
                Some(Self::PlayerActionPrelogueRevive)
            }
            "PlayerActionType_PlayerActionPropState" => Some(Self::PlayerActionPropState),
            "PlayerActionType_PlayerActionCheckPointRecover" => {
                Some(Self::PlayerActionCheckPointRecover)
            }
            "PlayerActionType_PlayerActionMechanismBar" => {
                Some(Self::PlayerActionMechanismBar)
            }
            "PlayerActionType_PlayerActionSubmitOrigamiItem" => {
                Some(Self::PlayerActionSubmitOrigamiItem)
            }
            "PlayerActionType_PlayerActionMazeBuffDropItem" => {
                Some(Self::PlayerActionMazeBuffDropItem)
            }
            "PlayerActionType_PlayerActionFsvChange" => Some(Self::PlayerActionFsvChange),
            "PlayerActionType_PlayerActionTimelinePropState" => {
                Some(Self::PlayerActionTimelinePropState)
            }
            "PlayerActionType_PlayerActionGroupPropertyChange" => {
                Some(Self::PlayerActionGroupPropertyChange)
            }
            "PlayerActionType_PlayerActionOpenGroupPropertyChest" => {
                Some(Self::PlayerActionOpenGroupPropertyChest)
            }
            "PlayerActionType_PlayerActionEquipmentPromotion" => {
                Some(Self::PlayerActionEquipmentPromotion)
            }
            "PlayerActionType_PlayerActionAddItem" => Some(Self::PlayerActionAddItem),
            "PlayerActionType_PlayerActionUseItem" => Some(Self::PlayerActionUseItem),
            "PlayerActionType_PlayerActionEquipmentRankUp" => {
                Some(Self::PlayerActionEquipmentRankUp)
            }
            "PlayerActionType_PlayerActionEquipmentLevelUp" => {
                Some(Self::PlayerActionEquipmentLevelUp)
            }
            "PlayerActionType_PlayerActionExpUpEquipmentReturn" => {
                Some(Self::PlayerActionExpUpEquipmentReturn)
            }
            "PlayerActionType_PlayerActionBagFullRewardMail" => {
                Some(Self::PlayerActionBagFullRewardMail)
            }
            "PlayerActionType_PlayerActionEquipmentAdd" => {
                Some(Self::PlayerActionEquipmentAdd)
            }
            "PlayerActionType_PlayerActionEquipmentWear" => {
                Some(Self::PlayerActionEquipmentWear)
            }
            "PlayerActionType_PlayerActionItemCompose" => {
                Some(Self::PlayerActionItemCompose)
            }
            "PlayerActionType_PlayerActionRelicLevelUp" => {
                Some(Self::PlayerActionRelicLevelUp)
            }
            "PlayerActionType_PlayerActionExpUpRelicReturn" => {
                Some(Self::PlayerActionExpUpRelicReturn)
            }
            "PlayerActionType_PlayerActionRelicNumChanged" => {
                Some(Self::PlayerActionRelicNumChanged)
            }
            "PlayerActionType_PlayerActionRelicWear" => Some(Self::PlayerActionRelicWear),
            "PlayerActionType_PlayerActionRelicCompose" => {
                Some(Self::PlayerActionRelicCompose)
            }
            "PlayerActionType_PlayerActionSellItem" => Some(Self::PlayerActionSellItem),
            "PlayerActionType_PlayerActionUnlockMusic" => {
                Some(Self::PlayerActionUnlockMusic)
            }
            "PlayerActionType_PlayerActionExchangeHcoinWithPayMcoin" => {
                Some(Self::PlayerActionExchangeHcoinWithPayMcoin)
            }
            "PlayerActionType_PlayerActionGetReward" => Some(Self::PlayerActionGetReward),
            "PlayerActionType_PlayerActionExchangeHcoinWithFreeMcoin" => {
                Some(Self::PlayerActionExchangeHcoinWithFreeMcoin)
            }
            "PlayerActionType_PlayerActionItemComposeFormulaUnlock" => {
                Some(Self::PlayerActionItemComposeFormulaUnlock)
            }
            "PlayerActionType_PlayerActionExchangeHcoin" => {
                Some(Self::PlayerActionExchangeHcoin)
            }
            "PlayerActionType_PlayerActionCityShopLevelReward" => {
                Some(Self::PlayerActionCityShopLevelReward)
            }
            "PlayerActionType_PlayerActionItemRecycle" => {
                Some(Self::PlayerActionItemRecycle)
            }
            "PlayerActionType_PlayerActionMuseumFundsConsume" => {
                Some(Self::PlayerActionMuseumFundsConsume)
            }
            "PlayerActionType_PlayerActionMuseumEventBuyStuff" => {
                Some(Self::PlayerActionMuseumEventBuyStuff)
            }
            "PlayerActionType_PlayerActionMuseumMarketBuyStuff" => {
                Some(Self::PlayerActionMuseumMarketBuyStuff)
            }
            "PlayerActionType_PlayerActionMuseumRandomEvent" => {
                Some(Self::PlayerActionMuseumRandomEvent)
            }
            "PlayerActionType_PlayerActionMuseumInitialItem" => {
                Some(Self::PlayerActionMuseumInitialItem)
            }
            "PlayerActionType_PlayerActionOptionalBoxReward" => {
                Some(Self::PlayerActionOptionalBoxReward)
            }
            "PlayerActionType_PlayerActionDestroyItem" => {
                Some(Self::PlayerActionDestroyItem)
            }
            "PlayerActionType_PlayerActionTransferExp" => {
                Some(Self::PlayerActionTransferExp)
            }
            "PlayerActionType_PlayerActionOndutyUse" => Some(Self::PlayerActionOndutyUse),
            "PlayerActionType_PlayerActionItemMark" => Some(Self::PlayerActionItemMark),
            "PlayerActionType_PlayerActionRelicDiscard" => {
                Some(Self::PlayerActionRelicDiscard)
            }
            "PlayerActionType_PlayerActionGeneralVirtualItemChange" => {
                Some(Self::PlayerActionGeneralVirtualItemChange)
            }
            "PlayerActionType_PlayerActionRelicLock" => Some(Self::PlayerActionRelicLock),
            "PlayerActionType_PlayerActionRelicFilterPlanSave" => {
                Some(Self::PlayerActionRelicFilterPlanSave)
            }
            "PlayerActionType_PlayerActionRelicFilterPlanDelete" => {
                Some(Self::PlayerActionRelicFilterPlanDelete)
            }
            "PlayerActionType_PlayerActionRelicFilterPlanMark" => {
                Some(Self::PlayerActionRelicFilterPlanMark)
            }
            "PlayerActionType_PlayerActionRelicSell" => Some(Self::PlayerActionRelicSell),
            "PlayerActionType_PlayerActionRelicReforge" => {
                Some(Self::PlayerActionRelicReforge)
            }
            "PlayerActionType_PlayerActionRelicSmartWearCustomPlan" => {
                Some(Self::PlayerActionRelicSmartWearCustomPlan)
            }
            "PlayerActionType_PlayerActionRecoverRelic" => {
                Some(Self::PlayerActionRecoverRelic)
            }
            "PlayerActionType_PlayerActionRecoverEquipment" => {
                Some(Self::PlayerActionRecoverEquipment)
            }
            "PlayerActionType_PlayerActionEquipmentSell" => {
                Some(Self::PlayerActionEquipmentSell)
            }
            "PlayerActionType_PlayerActionRelicSmartWearPinRelic" => {
                Some(Self::PlayerActionRelicSmartWearPinRelic)
            }
            "PlayerActionType_PlayerActionRelicCocoonSetting" => {
                Some(Self::PlayerActionRelicCocoonSetting)
            }
            "PlayerActionType_PlayerActionPersonalCardChange" => {
                Some(Self::PlayerActionPersonalCardChange)
            }
            "PlayerActionType_PlayerActionPhoneCaseChange" => {
                Some(Self::PlayerActionPhoneCaseChange)
            }
            "PlayerActionType_PlayerActionDeliveryItemReward" => {
                Some(Self::PlayerActionDeliveryItemReward)
            }
            "PlayerActionType_PlayerActionItemAutoTransfer" => {
                Some(Self::PlayerActionItemAutoTransfer)
            }
            "PlayerActionType_PlayerActionItemAutoTransferInBag" => {
                Some(Self::PlayerActionItemAutoTransferInBag)
            }
            "PlayerActionType_PlayerActionItemAutoTransferOnAdd" => {
                Some(Self::PlayerActionItemAutoTransferOnAdd)
            }
            "PlayerActionType_PlayerActionAddExtraCoin" => {
                Some(Self::PlayerActionAddExtraCoin)
            }
            "PlayerActionType_PlayerActionVariableDiceExchangePartnerCoin" => {
                Some(Self::PlayerActionVariableDiceExchangePartnerCoin)
            }
            "PlayerActionType_PlayerActionRelicBox" => Some(Self::PlayerActionRelicBox),
            "PlayerActionType_PlayerActionRelicBoxSettle" => {
                Some(Self::PlayerActionRelicBoxSettle)
            }
            "PlayerActionType_PlayerActionRelicBoxRegular" => {
                Some(Self::PlayerActionRelicBoxRegular)
            }
            "PlayerActionType_PlayerActionRelicReplace" => {
                Some(Self::PlayerActionRelicReplace)
            }
            "PlayerActionType_PlayerActionEquipmentUpCostPileSetting" => {
                Some(Self::PlayerActionEquipmentUpCostPileSetting)
            }
            "PlayerActionType_PlayerActionRelicBoxShow" => {
                Some(Self::PlayerActionRelicBoxShow)
            }
            "PlayerActionType_PlayerActionTutorialGuideFinish" => {
                Some(Self::PlayerActionTutorialGuideFinish)
            }
            "PlayerActionType_PlayerActionTutorial" => Some(Self::PlayerActionTutorial),
            "PlayerActionType_PlayerActionTutorialGuide" => {
                Some(Self::PlayerActionTutorialGuide)
            }
            "PlayerActionType_PlayerActionMonsterDrop" => {
                Some(Self::PlayerActionMonsterDrop)
            }
            "PlayerActionType_PlayerActionFinishChallenge" => {
                Some(Self::PlayerActionFinishChallenge)
            }
            "PlayerActionType_PlayerActionChallengeStars" => {
                Some(Self::PlayerActionChallengeStars)
            }
            "PlayerActionType_PlayerActionChallengeStart" => {
                Some(Self::PlayerActionChallengeStart)
            }
            "PlayerActionType_PlayerActionChallengeEnd" => {
                Some(Self::PlayerActionChallengeEnd)
            }
            "PlayerActionType_PlayerActionChallengeWin" => {
                Some(Self::PlayerActionChallengeWin)
            }
            "PlayerActionType_PlayerActionChallengeFail" => {
                Some(Self::PlayerActionChallengeFail)
            }
            "PlayerActionType_PlayerActionChallengeLeave" => {
                Some(Self::PlayerActionChallengeLeave)
            }
            "PlayerActionType_PlayerActionChallengeSwitch" => {
                Some(Self::PlayerActionChallengeSwitch)
            }
            "PlayerActionType_PlayerActionChallengeBonusReward" => {
                Some(Self::PlayerActionChallengeBonusReward)
            }
            "PlayerActionType_PlayerActionChallengeStarsReward" => {
                Some(Self::PlayerActionChallengeStarsReward)
            }
            "PlayerActionType_PlayerActionChallengeRestart" => {
                Some(Self::PlayerActionChallengeRestart)
            }
            "PlayerActionType_PlayerActionChallengeStoryStart" => {
                Some(Self::PlayerActionChallengeStoryStart)
            }
            "PlayerActionType_PlayerActionChallengeStoryEnd" => {
                Some(Self::PlayerActionChallengeStoryEnd)
            }
            "PlayerActionType_PlayerActionChallengeFastPass" => {
                Some(Self::PlayerActionChallengeFastPass)
            }
            "PlayerActionType_PlayerActionChallengeStoryFastPass" => {
                Some(Self::PlayerActionChallengeStoryFastPass)
            }
            "PlayerActionType_PlayerActionChallengeMemoryFastPass" => {
                Some(Self::PlayerActionChallengeMemoryFastPass)
            }
            "PlayerActionType_PlayerActionChallengeBattleTarget" => {
                Some(Self::PlayerActionChallengeBattleTarget)
            }
            "PlayerActionType_PlayerActionChallengeBossEnd" => {
                Some(Self::PlayerActionChallengeBossEnd)
            }
            "PlayerActionType_PlayerActionChallengeBossFastPass" => {
                Some(Self::PlayerActionChallengeBossFastPass)
            }
            "PlayerActionType_PlayerActionChallengeStartPartial" => {
                Some(Self::PlayerActionChallengeStartPartial)
            }
            "PlayerActionType_PlayerActionChallengeBossPhaseStart" => {
                Some(Self::PlayerActionChallengeBossPhaseStart)
            }
            "PlayerActionType_PlayerActionChallengeBossPhaseEnd" => {
                Some(Self::PlayerActionChallengeBossPhaseEnd)
            }
            "PlayerActionType_PlayerActionChallengeBossPhaseEndBeforeBattle" => {
                Some(Self::PlayerActionChallengeBossPhaseEndBeforeBattle)
            }
            "PlayerActionType_PlayerActionChallengeRecommendLineup" => {
                Some(Self::PlayerActionChallengeRecommendLineup)
            }
            "PlayerActionType_PlayerActionChallengeStoryFeverBattleEnd" => {
                Some(Self::PlayerActionChallengeStoryFeverBattleEnd)
            }
            "PlayerActionType_PlayerActionTeamInfoChange" => {
                Some(Self::PlayerActionTeamInfoChange)
            }
            "PlayerActionType_PlayerActionChangeCurrentAvatar" => {
                Some(Self::PlayerActionChangeCurrentAvatar)
            }
            "PlayerActionType_PlayerActionCreateVirtualTeam" => {
                Some(Self::PlayerActionCreateVirtualTeam)
            }
            "PlayerActionType_PlayerActionTeamNameEdit" => {
                Some(Self::PlayerActionTeamNameEdit)
            }
            "PlayerActionType_PlayerActionReplaceLineupAvatar" => {
                Some(Self::PlayerActionReplaceLineupAvatar)
            }
            "PlayerActionType_PlayerActionAvatarBuffChange" => {
                Some(Self::PlayerActionAvatarBuffChange)
            }
            "PlayerActionType_PlayerActionEnvBuffChange" => {
                Some(Self::PlayerActionEnvBuffChange)
            }
            "PlayerActionType_PlayerActionGameCore" => Some(Self::PlayerActionGameCore),
            "PlayerActionType_PlayerActionAvatarGlobalBuff" => {
                Some(Self::PlayerActionAvatarGlobalBuff)
            }
            "PlayerActionType_PlayerActionRogueExploreStart" => {
                Some(Self::PlayerActionRogueExploreStart)
            }
            "PlayerActionType_PlayerActionRogueEnterRoom" => {
                Some(Self::PlayerActionRogueEnterRoom)
            }
            "PlayerActionType_PlayerActionRogueLeaveRoom" => {
                Some(Self::PlayerActionRogueLeaveRoom)
            }
            "PlayerActionType_PlayerActionRogueExploreFinish" => {
                Some(Self::PlayerActionRogueExploreFinish)
            }
            "PlayerActionType_PlayerActionRogueSelectBuff" => {
                Some(Self::PlayerActionRogueSelectBuff)
            }
            "PlayerActionType_PlayerActionRogueRollBuff" => {
                Some(Self::PlayerActionRogueRollBuff)
            }
            "PlayerActionType_PlayerActionRogueRevive" => {
                Some(Self::PlayerActionRogueRevive)
            }
            "PlayerActionType_PlayerActionRogueChallengeStart" => {
                Some(Self::PlayerActionRogueChallengeStart)
            }
            "PlayerActionType_PlayerActionRogueMiracle" => {
                Some(Self::PlayerActionRogueMiracle)
            }
            "PlayerActionType_PlayerActionRogueAddBuff" => {
                Some(Self::PlayerActionRogueAddBuff)
            }
            "PlayerActionType_PlayerActionRoguePickAvatar" => {
                Some(Self::PlayerActionRoguePickAvatar)
            }
            "PlayerActionType_PlayerActionRogueSeasonChanged" => {
                Some(Self::PlayerActionRogueSeasonChanged)
            }
            "PlayerActionType_PlayerActionRogueAeonLevelUp" => {
                Some(Self::PlayerActionRogueAeonLevelUp)
            }
            "PlayerActionType_PlayerActionRogueOpenDoor" => {
                Some(Self::PlayerActionRogueOpenDoor)
            }
            "PlayerActionType_PlayerActionRogueScoreReward" => {
                Some(Self::PlayerActionRogueScoreReward)
            }
            "PlayerActionType_PlayerActionRogueEnhanceBuff" => {
                Some(Self::PlayerActionRogueEnhanceBuff)
            }
            "PlayerActionType_PlayerActionRogueSelectBonus" => {
                Some(Self::PlayerActionRogueSelectBonus)
            }
            "PlayerActionType_PlayerActionRogueAreaFirstReward" => {
                Some(Self::PlayerActionRogueAreaFirstReward)
            }
            "PlayerActionType_PlayerActionRogueEnableTalent" => {
                Some(Self::PlayerActionRogueEnableTalent)
            }
            "PlayerActionType_PlayerActionRogueAeonUnlock" => {
                Some(Self::PlayerActionRogueAeonUnlock)
            }
            "PlayerActionType_PlayerActionRogueAeonAddExp" => {
                Some(Self::PlayerActionRogueAeonAddExp)
            }
            "PlayerActionType_PlayerActionRogueImmerseLevelUp" => {
                Some(Self::PlayerActionRogueImmerseLevelUp)
            }
            "PlayerActionType_PlayerActionRogueSelectMiracle" => {
                Some(Self::PlayerActionRogueSelectMiracle)
            }
            "PlayerActionType_PlayerActionRogueUnlockArea" => {
                Some(Self::PlayerActionRogueUnlockArea)
            }
            "PlayerActionType_PlayerActionRogueExploreScoreChange" => {
                Some(Self::PlayerActionRogueExploreScoreChange)
            }
            "PlayerActionType_PlayerActionRogueUpdateRewardPool" => {
                Some(Self::PlayerActionRogueUpdateRewardPool)
            }
            "PlayerActionType_PlayerActionRogueSwapBuff" => {
                Some(Self::PlayerActionRogueSwapBuff)
            }
            "PlayerActionType_PlayerActionRogueWeeklyRefresh" => {
                Some(Self::PlayerActionRogueWeeklyRefresh)
            }
            "PlayerActionType_PlayerActionRogueExchangeKey" => {
                Some(Self::PlayerActionRogueExchangeKey)
            }
            "PlayerActionType_PlayerActionRogueGetObjectReward" => {
                Some(Self::PlayerActionRogueGetObjectReward)
            }
            "PlayerActionType_PlayerActionRogueAreaMonsterDrop" => {
                Some(Self::PlayerActionRogueAreaMonsterDrop)
            }
            "PlayerActionType_PlayerActionRogueAddMiracle" => {
                Some(Self::PlayerActionRogueAddMiracle)
            }
            "PlayerActionType_PlayerActionRogueSwapMiracle" => {
                Some(Self::PlayerActionRogueSwapMiracle)
            }
            "PlayerActionType_PlayerActionRogueOpenObjectReward" => {
                Some(Self::PlayerActionRogueOpenObjectReward)
            }
            "PlayerActionType_PlayerActionRogueAeonEffect" => {
                Some(Self::PlayerActionRogueAeonEffect)
            }
            "PlayerActionType_PlayerActionRogueReforgeBuff" => {
                Some(Self::PlayerActionRogueReforgeBuff)
            }
            "PlayerActionType_PlayerActionRogueTradeMiracle" => {
                Some(Self::PlayerActionRogueTradeMiracle)
            }
            "PlayerActionType_PlayerActionRogueRemoveAvatar" => {
                Some(Self::PlayerActionRogueRemoveAvatar)
            }
            "PlayerActionType_PlayerActionRogueDialogueSelect" => {
                Some(Self::PlayerActionRogueDialogueSelect)
            }
            "PlayerActionType_PlayerActionRogueSelectAeon" => {
                Some(Self::PlayerActionRogueSelectAeon)
            }
            "PlayerActionType_PlayerActionRogueDialogueFinish" => {
                Some(Self::PlayerActionRogueDialogueFinish)
            }
            "PlayerActionType_PlayerActionRogueHandbookReward" => {
                Some(Self::PlayerActionRogueHandbookReward)
            }
            "PlayerActionType_PlayerActionRogueAdventureRoomReward" => {
                Some(Self::PlayerActionRogueAdventureRoomReward)
            }
            "PlayerActionType_PlayerActionRogueShopBuy" => {
                Some(Self::PlayerActionRogueShopBuy)
            }
            "PlayerActionType_PlayerActionRogueRepairMiracle" => {
                Some(Self::PlayerActionRogueRepairMiracle)
            }
            "PlayerActionType_PlayerActionRogueReplaceAllMiracle" => {
                Some(Self::PlayerActionRogueReplaceAllMiracle)
            }
            "PlayerActionType_PlayerActionRogueMiracleBroken" => {
                Some(Self::PlayerActionRogueMiracleBroken)
            }
            "PlayerActionType_PlayerActionRogueShopRefresh" => {
                Some(Self::PlayerActionRogueShopRefresh)
            }
            "PlayerActionType_PlayerActionRogueLevelMechanism" => {
                Some(Self::PlayerActionRogueLevelMechanism)
            }
            "PlayerActionType_PlayerActionRogueRemoveMiracle" => {
                Some(Self::PlayerActionRogueRemoveMiracle)
            }
            "PlayerActionType_PlayerActionRogueDropBuff" => {
                Some(Self::PlayerActionRogueDropBuff)
            }
            "PlayerActionType_PlayerActionRogueDestroyMiracle" => {
                Some(Self::PlayerActionRogueDestroyMiracle)
            }
            "PlayerActionType_PlayerActionRogueActivateFormula" => {
                Some(Self::PlayerActionRogueActivateFormula)
            }
            "PlayerActionType_PlayerActionRogueDeactivateFormula" => {
                Some(Self::PlayerActionRogueDeactivateFormula)
            }
            "PlayerActionType_PlayerActionRogueRemoveBuff" => {
                Some(Self::PlayerActionRogueRemoveBuff)
            }
            "PlayerActionType_PlayerActionRogueSelectFormula" => {
                Some(Self::PlayerActionRogueSelectFormula)
            }
            "PlayerActionType_PlayerActionRogueDropFormula" => {
                Some(Self::PlayerActionRogueDropFormula)
            }
            "PlayerActionType_PlayerActionRogueRollFormula" => {
                Some(Self::PlayerActionRogueRollFormula)
            }
            "PlayerActionType_PlayerActionRogueReforgeFormula" => {
                Some(Self::PlayerActionRogueReforgeFormula)
            }
            "PlayerActionType_PlayerActionRogueComposeMiracle" => {
                Some(Self::PlayerActionRogueComposeMiracle)
            }
            "PlayerActionType_PlayerActionRogueReforgeMiracle" => {
                Some(Self::PlayerActionRogueReforgeMiracle)
            }
            "PlayerActionType_PlayerActionRogueDoGamble" => {
                Some(Self::PlayerActionRogueDoGamble)
            }
            "PlayerActionType_PlayerActionRogueKeywordActivate" => {
                Some(Self::PlayerActionRogueKeywordActivate)
            }
            "PlayerActionType_PlayerActionRogueKeywordDeactivate" => {
                Some(Self::PlayerActionRogueKeywordDeactivate)
            }
            "PlayerActionType_PlayerActionRogueSourceDefault" => {
                Some(Self::PlayerActionRogueSourceDefault)
            }
            "PlayerActionType_PlayerActionRoguePlayerSelect" => {
                Some(Self::PlayerActionRoguePlayerSelect)
            }
            "PlayerActionType_PlayerActionRogueLayerSettlement" => {
                Some(Self::PlayerActionRogueLayerSettlement)
            }
            "PlayerActionType_PlayerActionRogueFormula" => {
                Some(Self::PlayerActionRogueFormula)
            }
            "PlayerActionType_PlayerActionRogueWorkbench" => {
                Some(Self::PlayerActionRogueWorkbench)
            }
            "PlayerActionType_PlayerActionRogueModifier" => {
                Some(Self::PlayerActionRogueModifier)
            }
            "PlayerActionType_PlayerActionRogueReforge" => {
                Some(Self::PlayerActionRogueReforge)
            }
            "PlayerActionType_PlayerActionRogueTalent" => {
                Some(Self::PlayerActionRogueTalent)
            }
            "PlayerActionType_PlayerActionRogueReroll" => {
                Some(Self::PlayerActionRogueReroll)
            }
            "PlayerActionType_PlayerActionRogueCoinChange" => {
                Some(Self::PlayerActionRogueCoinChange)
            }
            "PlayerActionType_PlayerActionRogueMagicScepterShop" => {
                Some(Self::PlayerActionRogueMagicScepterShop)
            }
            "PlayerActionType_PlayerActionRogueMagicUnitShop" => {
                Some(Self::PlayerActionRogueMagicUnitShop)
            }
            "PlayerActionType_PlayerActionRogueMagicScepterLevelUp" => {
                Some(Self::PlayerActionRogueMagicScepterLevelUp)
            }
            "PlayerActionType_PlayerActionGacha" => Some(Self::PlayerActionGacha),
            "PlayerActionType_PlayerActionAddGachaTicket" => {
                Some(Self::PlayerActionAddGachaTicket)
            }
            "PlayerActionType_PlayerActionGachaExchange" => {
                Some(Self::PlayerActionGachaExchange)
            }
            "PlayerActionType_PlayerActionSetGachaDecideItem" => {
                Some(Self::PlayerActionSetGachaDecideItem)
            }
            "PlayerActionType_PlayerActionEventMissionAccept" => {
                Some(Self::PlayerActionEventMissionAccept)
            }
            "PlayerActionType_PlayerActionEventMissionFinish" => {
                Some(Self::PlayerActionEventMissionFinish)
            }
            "PlayerActionType_PlayerActionEventMissionReward" => {
                Some(Self::PlayerActionEventMissionReward)
            }
            "PlayerActionType_PlayerActionRaidFinish" => {
                Some(Self::PlayerActionRaidFinish)
            }
            "PlayerActionType_PlayerActionRaidBegin" => Some(Self::PlayerActionRaidBegin),
            "PlayerActionType_PlayerActionChallengeRaidReward" => {
                Some(Self::PlayerActionChallengeRaidReward)
            }
            "PlayerActionType_PlayerActionStartRaid" => Some(Self::PlayerActionStartRaid),
            "PlayerActionType_PlayerActionEndRaid" => Some(Self::PlayerActionEndRaid),
            "PlayerActionType_PlayerActionRaidTargetFinish" => {
                Some(Self::PlayerActionRaidTargetFinish)
            }
            "PlayerActionType_PlayerActionArchiveRaid" => {
                Some(Self::PlayerActionArchiveRaid)
            }
            "PlayerActionType_PlayerActionHeroBaseTypeChange" => {
                Some(Self::PlayerActionHeroBaseTypeChange)
            }
            "PlayerActionType_PlayerActionHeroBaseTypeAddByMission" => {
                Some(Self::PlayerActionHeroBaseTypeAddByMission)
            }
            "PlayerActionType_PlayerActionHeroBaseTypeAddByReq" => {
                Some(Self::PlayerActionHeroBaseTypeAddByReq)
            }
            "PlayerActionType_PlayerActionHeroBaseTypeAdd" => {
                Some(Self::PlayerActionHeroBaseTypeAdd)
            }
            "PlayerActionType_PlayerActionDialogueSelect" => {
                Some(Self::PlayerActionDialogueSelect)
            }
            "PlayerActionType_PlayerActionExpeditionStart" => {
                Some(Self::PlayerActionExpeditionStart)
            }
            "PlayerActionType_PlayerActionExpeditionFinish" => {
                Some(Self::PlayerActionExpeditionFinish)
            }
            "PlayerActionType_PlayerActionExpeditionReward" => {
                Some(Self::PlayerActionExpeditionReward)
            }
            "PlayerActionType_PlayerActionActivityExpeditionStart" => {
                Some(Self::PlayerActionActivityExpeditionStart)
            }
            "PlayerActionType_PlayerActionActivityExpeditionFinish" => {
                Some(Self::PlayerActionActivityExpeditionFinish)
            }
            "PlayerActionType_PlayerActionActivityExpeditionReward" => {
                Some(Self::PlayerActionActivityExpeditionReward)
            }
            "PlayerActionType_PlayerActionActivityExpeditionBegin" => {
                Some(Self::PlayerActionActivityExpeditionBegin)
            }
            "PlayerActionType_PlayerActionActivityExpeditionEnd" => {
                Some(Self::PlayerActionActivityExpeditionEnd)
            }
            "PlayerActionType_PlayerActionExpeditionSet" => {
                Some(Self::PlayerActionExpeditionSet)
            }
            "PlayerActionType_PlayerActionExpeditionTakeReward" => {
                Some(Self::PlayerActionExpeditionTakeReward)
            }
            "PlayerActionType_PlayerActionActivityLoginReward" => {
                Some(Self::PlayerActionActivityLoginReward)
            }
            "PlayerActionType_PlayerActionFriendReport" => {
                Some(Self::PlayerActionFriendReport)
            }
            "PlayerActionType_PlayerActionAssistReward" => {
                Some(Self::PlayerActionAssistReward)
            }
            "PlayerActionType_PlayerActionAssistAvatarRefresh" => {
                Some(Self::PlayerActionAssistAvatarRefresh)
            }
            "PlayerActionType_PlayerActionAssistAvatarBattleStart" => {
                Some(Self::PlayerActionAssistAvatarBattleStart)
            }
            "PlayerActionType_PlayerActionAssistAvatarBattleEnd" => {
                Some(Self::PlayerActionAssistAvatarBattleEnd)
            }
            "PlayerActionType_PlayerActionFriendApply" => {
                Some(Self::PlayerActionFriendApply)
            }
            "PlayerActionType_PlayerActionFriendManage" => {
                Some(Self::PlayerActionFriendManage)
            }
            "PlayerActionType_PlayerActionFriendBlacklist" => {
                Some(Self::PlayerActionFriendBlacklist)
            }
            "PlayerActionType_PlayerActionFriendModifyRemarkName" => {
                Some(Self::PlayerActionFriendModifyRemarkName)
            }
            "PlayerActionType_PlayerActionFriendMark" => {
                Some(Self::PlayerActionFriendMark)
            }
            "PlayerActionType_PlayerActionFriendAssistList" => {
                Some(Self::PlayerActionFriendAssistList)
            }
            "PlayerActionType_PlayerActionBattlePassLevelReward" => {
                Some(Self::PlayerActionBattlePassLevelReward)
            }
            "PlayerActionType_PlayerActionBattlePass128TierReward" => {
                Some(Self::PlayerActionBattlePass128TierReward)
            }
            "PlayerActionType_PlayerActionBattlePassLevelRewardAutoMail" => {
                Some(Self::PlayerActionBattlePassLevelRewardAutoMail)
            }
            "PlayerActionType_PlayerActionBuyBattlePass" => {
                Some(Self::PlayerActionBuyBattlePass)
            }
            "PlayerActionType_PlayerActionAddBattlePassExp" => {
                Some(Self::PlayerActionAddBattlePassExp)
            }
            "PlayerActionType_PlayerActionBattlePassLevelUp" => {
                Some(Self::PlayerActionBattlePassLevelUp)
            }
            "PlayerActionType_PlayerActionBuyBattlePassLevel" => {
                Some(Self::PlayerActionBuyBattlePassLevel)
            }
            "PlayerActionType_PlayerActionBattlePassEndMail" => {
                Some(Self::PlayerActionBattlePassEndMail)
            }
            "PlayerActionType_PlayerActionBattlePass68TierReward" => {
                Some(Self::PlayerActionBattlePass68TierReward)
            }
            "PlayerActionType_PlayerActionModifySign" => {
                Some(Self::PlayerActionModifySign)
            }
            "PlayerActionType_PlayerActionDisplayAvatarSet" => {
                Some(Self::PlayerActionDisplayAvatarSet)
            }
            "PlayerActionType_PlayerActionAssistAvatarSet" => {
                Some(Self::PlayerActionAssistAvatarSet)
            }
            "PlayerActionType_PlayerActionAchievementFinish" => {
                Some(Self::PlayerActionAchievementFinish)
            }
            "PlayerActionType_PlayerActionAchievementReward" => {
                Some(Self::PlayerActionAchievementReward)
            }
            "PlayerActionType_PlayerActionAchievementAddExp" => {
                Some(Self::PlayerActionAchievementAddExp)
            }
            "PlayerActionType_PlayerActionAchievementLevelUp" => {
                Some(Self::PlayerActionAchievementLevelUp)
            }
            "PlayerActionType_PlayerActionPunkLordReward" => {
                Some(Self::PlayerActionPunkLordReward)
            }
            "PlayerActionType_PlayerActionPunkLordBossSearch" => {
                Some(Self::PlayerActionPunkLordBossSearch)
            }
            "PlayerActionType_PlayerActionPunkLordBossShare" => {
                Some(Self::PlayerActionPunkLordBossShare)
            }
            "PlayerActionType_PlayerActionStartPunkLordRaid" => {
                Some(Self::PlayerActionStartPunkLordRaid)
            }
            "PlayerActionType_PlayerActionPunkLordSupportTimes" => {
                Some(Self::PlayerActionPunkLordSupportTimes)
            }
            "PlayerActionType_PlayerActionPunkLordScoreReward" => {
                Some(Self::PlayerActionPunkLordScoreReward)
            }
            "PlayerActionType_PlayerActionPunkLordListRefresh" => {
                Some(Self::PlayerActionPunkLordListRefresh)
            }
            "PlayerActionType_PlayerActionPunkLordPowerAttack" => {
                Some(Self::PlayerActionPunkLordPowerAttack)
            }
            "PlayerActionType_PlayerActionPunkLordBattleEnd" => {
                Some(Self::PlayerActionPunkLordBattleEnd)
            }
            "PlayerActionType_PlayerActionPunkLordBossDeath" => {
                Some(Self::PlayerActionPunkLordBossDeath)
            }
            "PlayerActionType_PlayerActionPunkLordBossScore" => {
                Some(Self::PlayerActionPunkLordBossScore)
            }
            "PlayerActionType_PlayerActionDailyActiveLevelReward" => {
                Some(Self::PlayerActionDailyActiveLevelReward)
            }
            "PlayerActionType_PlayerActionDailyActiveAddPoint" => {
                Some(Self::PlayerActionDailyActiveAddPoint)
            }
            "PlayerActionType_PlayerActionDailyActiveDeleteOldQuest" => {
                Some(Self::PlayerActionDailyActiveDeleteOldQuest)
            }
            "PlayerActionType_PlayerActionFightActivityBegin" => {
                Some(Self::PlayerActionFightActivityBegin)
            }
            "PlayerActionType_PlayerActionFightActivityEnd" => {
                Some(Self::PlayerActionFightActivityEnd)
            }
            "PlayerActionType_PlayerActionFightActivityReward" => {
                Some(Self::PlayerActionFightActivityReward)
            }
            "PlayerActionType_PlayerActionActivityEndMail" => {
                Some(Self::PlayerActionActivityEndMail)
            }
            "PlayerActionType_PlayerActionAppointmentMail" => {
                Some(Self::PlayerActionAppointmentMail)
            }
            "PlayerActionType_PlayerActionShareReward" => {
                Some(Self::PlayerActionShareReward)
            }
            "PlayerActionType_PlayerActionActivityTrialReward" => {
                Some(Self::PlayerActionActivityTrialReward)
            }
            "PlayerActionType_PlayerActionActivityTrialStart" => {
                Some(Self::PlayerActionActivityTrialStart)
            }
            "PlayerActionType_PlayerActionPsPreOrderMail1" => {
                Some(Self::PlayerActionPsPreOrderMail1)
            }
            "PlayerActionType_PlayerActionPsPreOrderMail2" => {
                Some(Self::PlayerActionPsPreOrderMail2)
            }
            "PlayerActionType_PlayerActionPsLoginMail" => {
                Some(Self::PlayerActionPsLoginMail)
            }
            "PlayerActionType_PlayerActionLoginMail" => Some(Self::PlayerActionLoginMail),
            "PlayerActionType_PlayerActionGooglePoints100Mail" => {
                Some(Self::PlayerActionGooglePoints100Mail)
            }
            "PlayerActionType_PlayerActionGooglePoints150Mail" => {
                Some(Self::PlayerActionGooglePoints150Mail)
            }
            "PlayerActionType_PlayerActionTrainVisitorBehaviorFinish" => {
                Some(Self::PlayerActionTrainVisitorBehaviorFinish)
            }
            "PlayerActionType_PlayerActionEnterViewTrain" => {
                Some(Self::PlayerActionEnterViewTrain)
            }
            "PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSend" => {
                Some(Self::PlayerActionTrainVisitorBehaviorRewardForceSend)
            }
            "PlayerActionType_PlayerActionTrainVisitorRegisterOpen" => {
                Some(Self::PlayerActionTrainVisitorRegisterOpen)
            }
            "PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSendByRegister" => {
                Some(Self::PlayerActionTrainVisitorBehaviorRewardForceSendByRegister)
            }
            "PlayerActionType_PlayerActionTrainVisitorClearLastTrainVisitor" => {
                Some(Self::PlayerActionTrainVisitorClearLastTrainVisitor)
            }
            "PlayerActionType_PlayerActionTrainVisitorRefreshTrainVisitor" => {
                Some(Self::PlayerActionTrainVisitorRefreshTrainVisitor)
            }
            "PlayerActionType_PlayerActionTrainVisitorRefreshNpc" => {
                Some(Self::PlayerActionTrainVisitorRefreshNpc)
            }
            "PlayerActionType_PlayerActionMessageGroupAccept" => {
                Some(Self::PlayerActionMessageGroupAccept)
            }
            "PlayerActionType_PlayerActionMessageSectionAccept" => {
                Some(Self::PlayerActionMessageSectionAccept)
            }
            "PlayerActionType_PlayerActionMessageSectionFinish" => {
                Some(Self::PlayerActionMessageSectionFinish)
            }
            "PlayerActionType_PlayerActionMessageItemFinish" => {
                Some(Self::PlayerActionMessageItemFinish)
            }
            "PlayerActionType_PlayerActionFinishMessageGroupReward" => {
                Some(Self::PlayerActionFinishMessageGroupReward)
            }
            "PlayerActionType_PlayerActionSubstituteMessageGroupReward" => {
                Some(Self::PlayerActionSubstituteMessageGroupReward)
            }
            "PlayerActionType_PlayerActionDeleteMessageGroup" => {
                Some(Self::PlayerActionDeleteMessageGroup)
            }
            "PlayerActionType_PlayerActionDeleteMessageSection" => {
                Some(Self::PlayerActionDeleteMessageSection)
            }
            "PlayerActionType_PlayerActionDeleteMessageGroupByConfig" => {
                Some(Self::PlayerActionDeleteMessageGroupByConfig)
            }
            "PlayerActionType_PlayerActionDeleteMessageGroupByActivity" => {
                Some(Self::PlayerActionDeleteMessageGroupByActivity)
            }
            "PlayerActionType_PlayerActionDeleteMessageGroupByMission" => {
                Some(Self::PlayerActionDeleteMessageGroupByMission)
            }
            "PlayerActionType_PlayerActionTextJoinSave" => {
                Some(Self::PlayerActionTextJoinSave)
            }
            "PlayerActionType_PlayerActionBoxingClubStart" => {
                Some(Self::PlayerActionBoxingClubStart)
            }
            "PlayerActionType_PlayerActionBoxingClubFinish" => {
                Some(Self::PlayerActionBoxingClubFinish)
            }
            "PlayerActionType_PlayerActionBoxingClubPause" => {
                Some(Self::PlayerActionBoxingClubPause)
            }
            "PlayerActionType_PlayerActionBoxingClubStageStart" => {
                Some(Self::PlayerActionBoxingClubStageStart)
            }
            "PlayerActionType_PlayerActionTalkSend" => Some(Self::PlayerActionTalkSend),
            "PlayerActionType_PlayerActionSelectInclinationText" => {
                Some(Self::PlayerActionSelectInclinationText)
            }
            "PlayerActionType_PlayerActionMuseumSettleTurnOpen" => {
                Some(Self::PlayerActionMuseumSettleTurnOpen)
            }
            "PlayerActionType_PlayerActionMuseumUpgradeArea" => {
                Some(Self::PlayerActionMuseumUpgradeArea)
            }
            "PlayerActionType_PlayerActionMuseumUpgradeAreaStat" => {
                Some(Self::PlayerActionMuseumUpgradeAreaStat)
            }
            "PlayerActionType_PlayerActionMuseumDispatchRewardRegular" => {
                Some(Self::PlayerActionMuseumDispatchRewardRegular)
            }
            "PlayerActionType_PlayerActionMuseumDispatchRewardDirectional" => {
                Some(Self::PlayerActionMuseumDispatchRewardDirectional)
            }
            "PlayerActionType_PlayerActionMuseumPhaseTargetFinished" => {
                Some(Self::PlayerActionMuseumPhaseTargetFinished)
            }
            "PlayerActionType_PlayerActionMuseumGetStuff" => {
                Some(Self::PlayerActionMuseumGetStuff)
            }
            "PlayerActionType_PlayerActionMuseumGetExhibit" => {
                Some(Self::PlayerActionMuseumGetExhibit)
            }
            "PlayerActionType_PlayerActionMuseumTakeCollectMission" => {
                Some(Self::PlayerActionMuseumTakeCollectMission)
            }
            "PlayerActionType_PlayerActionMuseumAreaUnlock" => {
                Some(Self::PlayerActionMuseumAreaUnlock)
            }
            "PlayerActionType_PlayerActionMuseumAreaUpgrade" => {
                Some(Self::PlayerActionMuseumAreaUpgrade)
            }
            "PlayerActionType_PlayerActionMuseumAreaStatUpgrade" => {
                Some(Self::PlayerActionMuseumAreaStatUpgrade)
            }
            "PlayerActionType_PlayerActionMuseumEnterNextRound" => {
                Some(Self::PlayerActionMuseumEnterNextRound)
            }
            "PlayerActionType_PlayerActionMuseumStartDispatch" => {
                Some(Self::PlayerActionMuseumStartDispatch)
            }
            "PlayerActionType_PlayerActionMuseumSettleDispatch" => {
                Some(Self::PlayerActionMuseumSettleDispatch)
            }
            "PlayerActionType_PlayerActionMuseumRenewPointChanged" => {
                Some(Self::PlayerActionMuseumRenewPointChanged)
            }
            "PlayerActionType_PlayerActionMuseumTargetReward" => {
                Some(Self::PlayerActionMuseumTargetReward)
            }
            "PlayerActionType_PlayerActionMuseumPhaseUpgrade" => {
                Some(Self::PlayerActionMuseumPhaseUpgrade)
            }
            "PlayerActionType_PlayerActionMuseumCollectReward" => {
                Some(Self::PlayerActionMuseumCollectReward)
            }
            "PlayerActionType_PlayerActionMuseumTargetStart" => {
                Some(Self::PlayerActionMuseumTargetStart)
            }
            "PlayerActionType_PlayerActionMuseumTargetFinish" => {
                Some(Self::PlayerActionMuseumTargetFinish)
            }
            "PlayerActionType_PlayerActionActivityMonsterResearchConsumeMaterial" => {
                Some(Self::PlayerActionActivityMonsterResearchConsumeMaterial)
            }
            "PlayerActionType_PlayerActionActivityMonsterResearchTakeReward" => {
                Some(Self::PlayerActionActivityMonsterResearchTakeReward)
            }
            "PlayerActionType_PlayerActionPlayerReturnStart" => {
                Some(Self::PlayerActionPlayerReturnStart)
            }
            "PlayerActionType_PlayerActionPlayerReturnSign" => {
                Some(Self::PlayerActionPlayerReturnSign)
            }
            "PlayerActionType_PlayerActionPlayerReturnPoint" => {
                Some(Self::PlayerActionPlayerReturnPoint)
            }
            "PlayerActionType_PlayerActionPlayerReturnCountdown" => {
                Some(Self::PlayerActionPlayerReturnCountdown)
            }
            "PlayerActionType_PlayerActionPlayerReturnFinish" => {
                Some(Self::PlayerActionPlayerReturnFinish)
            }
            "PlayerActionType_PlayerActionPlayerReturnCompensate" => {
                Some(Self::PlayerActionPlayerReturnCompensate)
            }
            "PlayerActionType_PlayerActionPlayerReturnGetRelic" => {
                Some(Self::PlayerActionPlayerReturnGetRelic)
            }
            "PlayerActionType_PlayerActionPlayerReturnBpExpExtra" => {
                Some(Self::PlayerActionPlayerReturnBpExpExtra)
            }
            "PlayerActionType_PlayerActionPlayerReturnHcoinExtra" => {
                Some(Self::PlayerActionPlayerReturnHcoinExtra)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivityStart" => {
                Some(Self::PlayerActionRogueChallengeActivityStart)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivityFinish" => {
                Some(Self::PlayerActionRogueChallengeActivityFinish)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivitySave" => {
                Some(Self::PlayerActionRogueChallengeActivitySave)
            }
            "PlayerActionType_PlayerActionAetherDivideUsePassiveSkillItem" => {
                Some(Self::PlayerActionAetherDivideUsePassiveSkillItem)
            }
            "PlayerActionType_PlayerActionAetherDivideClearPassiveSkill" => {
                Some(Self::PlayerActionAetherDivideClearPassiveSkill)
            }
            "PlayerActionType_PlayerActionAetherDivideFinishChallenge" => {
                Some(Self::PlayerActionAetherDivideFinishChallenge)
            }
            "PlayerActionType_PlayerActionAetherDivideOverflowChunkReward" => {
                Some(Self::PlayerActionAetherDivideOverflowChunkReward)
            }
            "PlayerActionType_PlayerActionAetherDivideLevelUp" => {
                Some(Self::PlayerActionAetherDivideLevelUp)
            }
            "PlayerActionType_PlayerActionAetherDivideNewReward" => {
                Some(Self::PlayerActionAetherDivideNewReward)
            }
            "PlayerActionType_PlayerActionAetherDivideMonsterAdd" => {
                Some(Self::PlayerActionAetherDivideMonsterAdd)
            }
            "PlayerActionType_PlayerActionAetherDivideMonsterLevel" => {
                Some(Self::PlayerActionAetherDivideMonsterLevel)
            }
            "PlayerActionType_PlayerActionAetherDivideMonsterSkillWear" => {
                Some(Self::PlayerActionAetherDivideMonsterSkillWear)
            }
            "PlayerActionType_PlayerActionAetherDivideTeamChange" => {
                Some(Self::PlayerActionAetherDivideTeamChange)
            }
            "PlayerActionType_PlayerActionAetherDivideStageBegin" => {
                Some(Self::PlayerActionAetherDivideStageBegin)
            }
            "PlayerActionType_PlayerActionAetherDivideStageEnd" => {
                Some(Self::PlayerActionAetherDivideStageEnd)
            }
            "PlayerActionType_PlayerActionAetherDivideStageRoll" => {
                Some(Self::PlayerActionAetherDivideStageRoll)
            }
            "PlayerActionType_PlayerActionAlleyEventFinish" => {
                Some(Self::PlayerActionAlleyEventFinish)
            }
            "PlayerActionType_PlayerActionAlleyTakeReward" => {
                Some(Self::PlayerActionAlleyTakeReward)
            }
            "PlayerActionType_PlayerActionAlleyPrestigeLevelUp" => {
                Some(Self::PlayerActionAlleyPrestigeLevelUp)
            }
            "PlayerActionType_PlayerActionAlleyLogisticsFinish" => {
                Some(Self::PlayerActionAlleyLogisticsFinish)
            }
            "PlayerActionType_PlayerActionAlleyPlacingGameFinish" => {
                Some(Self::PlayerActionAlleyPlacingGameFinish)
            }
            "PlayerActionType_PlayerActionAlleyGuaranteedFunds" => {
                Some(Self::PlayerActionAlleyGuaranteedFunds)
            }
            "PlayerActionType_PlayerActionAlleyTakeEventReward" => {
                Some(Self::PlayerActionAlleyTakeEventReward)
            }
            "PlayerActionType_PlayerActionAlleySpecialOrderFinish" => {
                Some(Self::PlayerActionAlleySpecialOrderFinish)
            }
            "PlayerActionType_PlayerActionSensitiveWordShield" => {
                Some(Self::PlayerActionSensitiveWordShield)
            }
            "PlayerActionType_PlayerActionSensitiveWordServerInternalError" => {
                Some(Self::PlayerActionSensitiveWordServerInternalError)
            }
            "PlayerActionType_PlayerActionSensitiveWordPlatformError" => {
                Some(Self::PlayerActionSensitiveWordPlatformError)
            }
            "PlayerActionType_PlayerActionTreasureDungeonStart" => {
                Some(Self::PlayerActionTreasureDungeonStart)
            }
            "PlayerActionType_PlayerActionTreasureDungeonFinish" => {
                Some(Self::PlayerActionTreasureDungeonFinish)
            }
            "PlayerActionType_PlayerActionTreasureDungeonEnterFloor" => {
                Some(Self::PlayerActionTreasureDungeonEnterFloor)
            }
            "PlayerActionType_PlayerActionTreasureDungeonLeaveFloor" => {
                Some(Self::PlayerActionTreasureDungeonLeaveFloor)
            }
            "PlayerActionType_PlayerActionTreasureDungeonUseItem" => {
                Some(Self::PlayerActionTreasureDungeonUseItem)
            }
            "PlayerActionType_PlayerActionTreasureDungeonAvatarChange" => {
                Some(Self::PlayerActionTreasureDungeonAvatarChange)
            }
            "PlayerActionType_PlayerActionTreasureDungeonBattleStart" => {
                Some(Self::PlayerActionTreasureDungeonBattleStart)
            }
            "PlayerActionType_PlayerActionTreasureDungeonBattleEnd" => {
                Some(Self::PlayerActionTreasureDungeonBattleEnd)
            }
            "PlayerActionType_PlayerActionTreasureDungeonPickupBuff" => {
                Some(Self::PlayerActionTreasureDungeonPickupBuff)
            }
            "PlayerActionType_PlayerActionChessRogueFirstFinish" => {
                Some(Self::PlayerActionChessRogueFirstFinish)
            }
            "PlayerActionType_PlayerActionChessRogueGiveupDice" => {
                Some(Self::PlayerActionChessRogueGiveupDice)
            }
            "PlayerActionType_PlayerActionChessRogueSubStorySelect" => {
                Some(Self::PlayerActionChessRogueSubStorySelect)
            }
            "PlayerActionType_PlayerActionChessRogueActionPoint" => {
                Some(Self::PlayerActionChessRogueActionPoint)
            }
            "PlayerActionType_PlayerActionChessRogueReviveByProp" => {
                Some(Self::PlayerActionChessRogueReviveByProp)
            }
            "PlayerActionType_PlayerActionChessRogueStartLevel" => {
                Some(Self::PlayerActionChessRogueStartLevel)
            }
            "PlayerActionType_PlayerActionChessRogueDiceEffect" => {
                Some(Self::PlayerActionChessRogueDiceEffect)
            }
            "PlayerActionType_PlayerActionChessRogueMainStoryFinish" => {
                Some(Self::PlayerActionChessRogueMainStoryFinish)
            }
            "PlayerActionType_PlayerActionChessRogueAeonTalentEffect" => {
                Some(Self::PlayerActionChessRogueAeonTalentEffect)
            }
            "PlayerActionType_PlayerActionChessRogueModifierOthersEffect" => {
                Some(Self::PlayerActionChessRogueModifierOthersEffect)
            }
            "PlayerActionType_PlayerActionChessRogueAddBuff" => {
                Some(Self::PlayerActionChessRogueAddBuff)
            }
            "PlayerActionType_PlayerActionChessRogueReforgeBuff" => {
                Some(Self::PlayerActionChessRogueReforgeBuff)
            }
            "PlayerActionType_PlayerActionChessRogueBuffLevelUp" => {
                Some(Self::PlayerActionChessRogueBuffLevelUp)
            }
            "PlayerActionType_PlayerActionChessRogueEnhanceBuff" => {
                Some(Self::PlayerActionChessRogueEnhanceBuff)
            }
            "PlayerActionType_PlayerActionChessRogueAddMiracle" => {
                Some(Self::PlayerActionChessRogueAddMiracle)
            }
            "PlayerActionType_PlayerActionChessRogueSwapMiracle" => {
                Some(Self::PlayerActionChessRogueSwapMiracle)
            }
            "PlayerActionType_PlayerActionChessRogueSelectBonus" => {
                Some(Self::PlayerActionChessRogueSelectBonus)
            }
            "PlayerActionType_PlayerActionChessRogueDialogueFinish" => {
                Some(Self::PlayerActionChessRogueDialogueFinish)
            }
            "PlayerActionType_PlayerActionChessRogueSubStoryFinish" => {
                Some(Self::PlayerActionChessRogueSubStoryFinish)
            }
            "PlayerActionType_PlayerActionChessRogueAdventureRoomFinish" => {
                Some(Self::PlayerActionChessRogueAdventureRoomFinish)
            }
            "PlayerActionType_PlayerActionChessRogueFinishLevel" => {
                Some(Self::PlayerActionChessRogueFinishLevel)
            }
            "PlayerActionType_PlayerActionChessRogueStartLayer" => {
                Some(Self::PlayerActionChessRogueStartLayer)
            }
            "PlayerActionType_PlayerActionChessRogueFinishLayer" => {
                Some(Self::PlayerActionChessRogueFinishLayer)
            }
            "PlayerActionType_PlayerActionChessRogueEnterRoom" => {
                Some(Self::PlayerActionChessRogueEnterRoom)
            }
            "PlayerActionType_PlayerActionChessRogueLeaveRoom" => {
                Some(Self::PlayerActionChessRogueLeaveRoom)
            }
            "PlayerActionType_PlayerActionChessRogueRollDice" => {
                Some(Self::PlayerActionChessRogueRollDice)
            }
            "PlayerActionType_PlayerActionChessRogueSelectDice" => {
                Some(Self::PlayerActionChessRogueSelectDice)
            }
            "PlayerActionType_PlayerActionChessRogueUnlockDice" => {
                Some(Self::PlayerActionChessRogueUnlockDice)
            }
            "PlayerActionType_PlayerActionChessRogueBoardEvent" => {
                Some(Self::PlayerActionChessRogueBoardEvent)
            }
            "PlayerActionType_PlayerActionChessRogueDimensionPoint" => {
                Some(Self::PlayerActionChessRogueDimensionPoint)
            }
            "PlayerActionType_PlayerActionChessRoguePickAvatar" => {
                Some(Self::PlayerActionChessRoguePickAvatar)
            }
            "PlayerActionType_PlayerActionChessRogueReviveAvatar" => {
                Some(Self::PlayerActionChessRogueReviveAvatar)
            }
            "PlayerActionType_PlayerActionChessRogueNousSubStorySelect" => {
                Some(Self::PlayerActionChessRogueNousSubStorySelect)
            }
            "PlayerActionType_PlayerActionChessRogueLevelMechanism" => {
                Some(Self::PlayerActionChessRogueLevelMechanism)
            }
            "PlayerActionType_PlayerActionChessRogueNousStartLevel" => {
                Some(Self::PlayerActionChessRogueNousStartLevel)
            }
            "PlayerActionType_PlayerActionChessRogueNousFinishLevel" => {
                Some(Self::PlayerActionChessRogueNousFinishLevel)
            }
            "PlayerActionType_PlayerActionChessRogueNousStartLayer" => {
                Some(Self::PlayerActionChessRogueNousStartLayer)
            }
            "PlayerActionType_PlayerActionChessRogueNousFinishLayer" => {
                Some(Self::PlayerActionChessRogueNousFinishLayer)
            }
            "PlayerActionType_PlayerActionChessRogueNousEnterRoom" => {
                Some(Self::PlayerActionChessRogueNousEnterRoom)
            }
            "PlayerActionType_PlayerActionChessRogueNousLeaveRoom" => {
                Some(Self::PlayerActionChessRogueNousLeaveRoom)
            }
            "PlayerActionType_PlayerActionChessRogueNousSelectDice" => {
                Some(Self::PlayerActionChessRogueNousSelectDice)
            }
            "PlayerActionType_PlayerActionChessRogueNousUnlockDiceBranch" => {
                Some(Self::PlayerActionChessRogueNousUnlockDiceBranch)
            }
            "PlayerActionType_PlayerActionChessRogueNousUnlockDiceSurface" => {
                Some(Self::PlayerActionChessRogueNousUnlockDiceSurface)
            }
            "PlayerActionType_PlayerActionChessRogueNousEditDice" => {
                Some(Self::PlayerActionChessRogueNousEditDice)
            }
            "PlayerActionType_PlayerActionChessRogueNousValueChange" => {
                Some(Self::PlayerActionChessRogueNousValueChange)
            }
            "PlayerActionType_PlayerActionChessRogueNousMainStoryTrigger" => {
                Some(Self::PlayerActionChessRogueNousMainStoryTrigger)
            }
            "PlayerActionType_PlayerActionChessRogueNousMainStoryFinish" => {
                Some(Self::PlayerActionChessRogueNousMainStoryFinish)
            }
            "PlayerActionType_PlayerActionChessRogueNousSubStoryTrigger" => {
                Some(Self::PlayerActionChessRogueNousSubStoryTrigger)
            }
            "PlayerActionType_PlayerActionChessRogueNousSubStoryFinish" => {
                Some(Self::PlayerActionChessRogueNousSubStoryFinish)
            }
            "PlayerActionType_PlayerActionChessRogueNousEnableTalent" => {
                Some(Self::PlayerActionChessRogueNousEnableTalent)
            }
            "PlayerActionType_PlayerActionChessRogueSelectBuff" => {
                Some(Self::PlayerActionChessRogueSelectBuff)
            }
            "PlayerActionType_PlayerActionChessRogueSelectMiracle" => {
                Some(Self::PlayerActionChessRogueSelectMiracle)
            }
            "PlayerActionType_PlayerActionChessRogueRemoveMiracle" => {
                Some(Self::PlayerActionChessRogueRemoveMiracle)
            }
            "PlayerActionType_PlayerActionChessRogueBoardCell" => {
                Some(Self::PlayerActionChessRogueBoardCell)
            }
            "PlayerActionType_PlayerActionFantasticStoryBattleBegin" => {
                Some(Self::PlayerActionFantasticStoryBattleBegin)
            }
            "PlayerActionType_PlayerActionFantasticStoryBattleEnd" => {
                Some(Self::PlayerActionFantasticStoryBattleEnd)
            }
            "PlayerActionType_PlayerActionRogueEndlessReward" => {
                Some(Self::PlayerActionRogueEndlessReward)
            }
            "PlayerActionType_PlayerActionRogueEndlessLevelStart" => {
                Some(Self::PlayerActionRogueEndlessLevelStart)
            }
            "PlayerActionType_PlayerActionRogueEndlessStageBegin" => {
                Some(Self::PlayerActionRogueEndlessStageBegin)
            }
            "PlayerActionType_PlayerActionRogueEndlessStageEnd" => {
                Some(Self::PlayerActionRogueEndlessStageEnd)
            }
            "PlayerActionType_PlayerActionBattleCollegeReward" => {
                Some(Self::PlayerActionBattleCollegeReward)
            }
            "PlayerActionType_PlayerActionCommonRogueMiracleForBuffShop" => {
                Some(Self::PlayerActionCommonRogueMiracleForBuffShop)
            }
            "PlayerActionType_PlayerActionCommonRogueAdventureRoomFinish" => {
                Some(Self::PlayerActionCommonRogueAdventureRoomFinish)
            }
            "PlayerActionType_PlayerActionCommonRogueBuyBuffShop" => {
                Some(Self::PlayerActionCommonRogueBuyBuffShop)
            }
            "PlayerActionType_PlayerActionCommonRogueBuyBuffShopRefresh" => {
                Some(Self::PlayerActionCommonRogueBuyBuffShopRefresh)
            }
            "PlayerActionType_PlayerActionCommonRogueCollectionUnlock" => {
                Some(Self::PlayerActionCommonRogueCollectionUnlock)
            }
            "PlayerActionType_PlayerActionCommonRogueCollectionSet" => {
                Some(Self::PlayerActionCommonRogueCollectionSet)
            }
            "PlayerActionType_PlayerActionCommonRogueExhibitionUnlock" => {
                Some(Self::PlayerActionCommonRogueExhibitionUnlock)
            }
            "PlayerActionType_PlayerActionCommonRogueExhibitionSet" => {
                Some(Self::PlayerActionCommonRogueExhibitionSet)
            }
            "PlayerActionType_PlayerActionCommonRogueChestInteract" => {
                Some(Self::PlayerActionCommonRogueChestInteract)
            }
            "PlayerActionType_PlayerActionCommonRogueAdventureRoomWolfgunFinish" => {
                Some(Self::PlayerActionCommonRogueAdventureRoomWolfgunFinish)
            }
            "PlayerActionType_PlayerActionHeliobusPostIncomeReward" => {
                Some(Self::PlayerActionHeliobusPostIncomeReward)
            }
            "PlayerActionType_PlayerActionHeliobusPostFansReward" => {
                Some(Self::PlayerActionHeliobusPostFansReward)
            }
            "PlayerActionType_PlayerActionHeliobusLevelUpgrade" => {
                Some(Self::PlayerActionHeliobusLevelUpgrade)
            }
            "PlayerActionType_PlayerActionHeliobusPostReplyReward" => {
                Some(Self::PlayerActionHeliobusPostReplyReward)
            }
            "PlayerActionType_PlayerActionHeliobusCommentReplyReward" => {
                Some(Self::PlayerActionHeliobusCommentReplyReward)
            }
            "PlayerActionType_PlayerActionHeliobusChallengeFirstReward" => {
                Some(Self::PlayerActionHeliobusChallengeFirstReward)
            }
            "PlayerActionType_PlayerActionHeliobusFansAdd" => {
                Some(Self::PlayerActionHeliobusFansAdd)
            }
            "PlayerActionType_PlayerActionHeliobusActionDaySettle" => {
                Some(Self::PlayerActionHeliobusActionDaySettle)
            }
            "PlayerActionType_PlayerActionHeliobusSkillUnlock" => {
                Some(Self::PlayerActionHeliobusSkillUnlock)
            }
            "PlayerActionType_PlayerActionHeliobusStageBegin" => {
                Some(Self::PlayerActionHeliobusStageBegin)
            }
            "PlayerActionType_PlayerActionHeliobusStageEnd" => {
                Some(Self::PlayerActionHeliobusStageEnd)
            }
            "PlayerActionType_PlayerActionHeliobusSnsRead" => {
                Some(Self::PlayerActionHeliobusSnsRead)
            }
            "PlayerActionType_PlayerActionHeliobusSnsPostUnlock" => {
                Some(Self::PlayerActionHeliobusSnsPostUnlock)
            }
            "PlayerActionType_PlayerActionHeliobusSnsCommentUnlock" => {
                Some(Self::PlayerActionHeliobusSnsCommentUnlock)
            }
            "PlayerActionType_PlayerActionHeliobusSnsComment" => {
                Some(Self::PlayerActionHeliobusSnsComment)
            }
            "PlayerActionType_PlayerActionHeliobusSnsPost" => {
                Some(Self::PlayerActionHeliobusSnsPost)
            }
            "PlayerActionType_PlayerActionHeliobusSnsLike" => {
                Some(Self::PlayerActionHeliobusSnsLike)
            }
            "PlayerActionType_PlayerActionHeliobusPhaseUpgrade" => {
                Some(Self::PlayerActionHeliobusPhaseUpgrade)
            }
            "PlayerActionType_PlayerActionPsPointCard30Reward" => {
                Some(Self::PlayerActionPsPointCard30Reward)
            }
            "PlayerActionType_PlayerActionPsPointCard50Reward" => {
                Some(Self::PlayerActionPsPointCard50Reward)
            }
            "PlayerActionType_PlayerActionPsPointCard100Reward" => {
                Some(Self::PlayerActionPsPointCard100Reward)
            }
            "PlayerActionType_PlayerActionPsnPlusGiftReward" => {
                Some(Self::PlayerActionPsnPlusGiftReward)
            }
            "PlayerActionType_PlayerActionAppleGiftCardReward" => {
                Some(Self::PlayerActionAppleGiftCardReward)
            }
            "PlayerActionType_PlayerActionHeartDialSubmitItem" => {
                Some(Self::PlayerActionHeartDialSubmitItem)
            }
            "PlayerActionType_PlayerActionHeartDialDialoguePerform" => {
                Some(Self::PlayerActionHeartDialDialoguePerform)
            }
            "PlayerActionType_PlayerActionHeartDialTraceConsume" => {
                Some(Self::PlayerActionHeartDialTraceConsume)
            }
            "PlayerActionType_PlayerActionHeartDialChangeEmotion" => {
                Some(Self::PlayerActionHeartDialChangeEmotion)
            }
            "PlayerActionType_PlayerActionTravelBrochureAddDefaultPaster" => {
                Some(Self::PlayerActionTravelBrochureAddDefaultPaster)
            }
            "PlayerActionType_PlayerActionSpaceZooBorn" => {
                Some(Self::PlayerActionSpaceZooBorn)
            }
            "PlayerActionType_PlayerActionSpaceZooMutate" => {
                Some(Self::PlayerActionSpaceZooMutate)
            }
            "PlayerActionType_PlayerActionSpaceZooDelete" => {
                Some(Self::PlayerActionSpaceZooDelete)
            }
            "PlayerActionType_PlayerActionSpaceZooExchangeItem" => {
                Some(Self::PlayerActionSpaceZooExchangeItem)
            }
            "PlayerActionType_PlayerActionSpaceZooExpPoint" => {
                Some(Self::PlayerActionSpaceZooExpPoint)
            }
            "PlayerActionType_PlayerActionSpaceZooTakeReward" => {
                Some(Self::PlayerActionSpaceZooTakeReward)
            }
            "PlayerActionType_PlayerActionSpaceZooCollection" => {
                Some(Self::PlayerActionSpaceZooCollection)
            }
            "PlayerActionType_PlayerActionSpaceZooShow" => {
                Some(Self::PlayerActionSpaceZooShow)
            }
            "PlayerActionType_PlayerActionSpaceZooSpecialData" => {
                Some(Self::PlayerActionSpaceZooSpecialData)
            }
            "PlayerActionType_PlayerActionStrongChallengeBattleBegin" => {
                Some(Self::PlayerActionStrongChallengeBattleBegin)
            }
            "PlayerActionType_PlayerActionStrongChallengeBattleEnd" => {
                Some(Self::PlayerActionStrongChallengeBattleEnd)
            }
            "PlayerActionType_PlayerActionRollShopDoGacha" => {
                Some(Self::PlayerActionRollShopDoGacha)
            }
            "PlayerActionType_PlayerActionRollShopTakeReward" => {
                Some(Self::PlayerActionRollShopTakeReward)
            }
            "PlayerActionType_PlayerActionOfferingSubmitItem" => {
                Some(Self::PlayerActionOfferingSubmitItem)
            }
            "PlayerActionType_PlayerActionOfferingTakeReward" => {
                Some(Self::PlayerActionOfferingTakeReward)
            }
            "PlayerActionType_PlayerActionTravelBrochurePageUnlock" => {
                Some(Self::PlayerActionTravelBrochurePageUnlock)
            }
            "PlayerActionType_PlayerActionTravelBrochurePageInteractAward" => {
                Some(Self::PlayerActionTravelBrochurePageInteractAward)
            }
            "PlayerActionType_PlayerActionTravelBrochureStickerUnlock" => {
                Some(Self::PlayerActionTravelBrochureStickerUnlock)
            }
            "PlayerActionType_PlayerActionTravelBrochureStickerApply" => {
                Some(Self::PlayerActionTravelBrochureStickerApply)
            }
            "PlayerActionType_PlayerActionTravelBrochureStickerRemove" => {
                Some(Self::PlayerActionTravelBrochureStickerRemove)
            }
            "PlayerActionType_PlayerActionTravelBrochurePageReset" => {
                Some(Self::PlayerActionTravelBrochurePageReset)
            }
            "PlayerActionType_PlayerActionTrackMainMissionId" => {
                Some(Self::PlayerActionTrackMainMissionId)
            }
            "PlayerActionType_PlayerActionWolfBroBegin" => {
                Some(Self::PlayerActionWolfBroBegin)
            }
            "PlayerActionType_PlayerActionWolfBroGroupStateChange" => {
                Some(Self::PlayerActionWolfBroGroupStateChange)
            }
            "PlayerActionType_PlayerActionWolfBroEnd" => {
                Some(Self::PlayerActionWolfBroEnd)
            }
            "PlayerActionType_PlayerActionWolfBroBulletZero" => {
                Some(Self::PlayerActionWolfBroBulletZero)
            }
            "PlayerActionType_PlayerActionWolfBroActivateBullet" => {
                Some(Self::PlayerActionWolfBroActivateBullet)
            }
            "PlayerActionType_PlayerActionWolfBroBulletNumChange" => {
                Some(Self::PlayerActionWolfBroBulletNumChange)
            }
            "PlayerActionType_PlayerActionWolfBroUseBulletNull" => {
                Some(Self::PlayerActionWolfBroUseBulletNull)
            }
            "PlayerActionType_PlayerActionWolfBroUseBulletHitMonster" => {
                Some(Self::PlayerActionWolfBroUseBulletHitMonster)
            }
            "PlayerActionType_PlayerActionWolfBroPickUpBullet" => {
                Some(Self::PlayerActionWolfBroPickUpBullet)
            }
            "PlayerActionType_PlayerActionWolfBroRestoreArchive" => {
                Some(Self::PlayerActionWolfBroRestoreArchive)
            }
            "PlayerActionType_PlayerActionTelevisionActivityBattleBegin" => {
                Some(Self::PlayerActionTelevisionActivityBattleBegin)
            }
            "PlayerActionType_PlayerActionTelevisionActivityBattleEnd" => {
                Some(Self::PlayerActionTelevisionActivityBattleEnd)
            }
            "PlayerActionType_PlayerActionFeverTimeActivityBattleBegin" => {
                Some(Self::PlayerActionFeverTimeActivityBattleBegin)
            }
            "PlayerActionType_PlayerActionFeverTimeActivityBattleEnd" => {
                Some(Self::PlayerActionFeverTimeActivityBattleEnd)
            }
            "PlayerActionType_PlayerActionGunPlayEnd" => {
                Some(Self::PlayerActionGunPlayEnd)
            }
            "PlayerActionType_PlayerActionActivityStarFightBegin" => {
                Some(Self::PlayerActionActivityStarFightBegin)
            }
            "PlayerActionType_PlayerActionActivityStarFightEnd" => {
                Some(Self::PlayerActionActivityStarFightEnd)
            }
            "PlayerActionType_PlayerActionMapRotationEnterRegion" => {
                Some(Self::PlayerActionMapRotationEnterRegion)
            }
            "PlayerActionType_PlayerActionMapRotationLeaveRegion" => {
                Some(Self::PlayerActionMapRotationLeaveRegion)
            }
            "PlayerActionType_PlayerActionMapRotationInteractCharger" => {
                Some(Self::PlayerActionMapRotationInteractCharger)
            }
            "PlayerActionType_PlayerActionMapRotationDeployRotater" => {
                Some(Self::PlayerActionMapRotationDeployRotater)
            }
            "PlayerActionType_PlayerActionMapRotationRotateMap" => {
                Some(Self::PlayerActionMapRotationRotateMap)
            }
            "PlayerActionType_PlayerActionMapRotationAddEnergy" => {
                Some(Self::PlayerActionMapRotationAddEnergy)
            }
            "PlayerActionType_PlayerActionMapRotationSetMaxEnergy" => {
                Some(Self::PlayerActionMapRotationSetMaxEnergy)
            }
            "PlayerActionType_PlayerActionMapRotationRemoveRotater" => {
                Some(Self::PlayerActionMapRotationRemoveRotater)
            }
            "PlayerActionType_PlayerActionMapRotationAutoDeployRotater" => {
                Some(Self::PlayerActionMapRotationAutoDeployRotater)
            }
            "PlayerActionType_PlayerActionMapRotationAutoRemoveRotater" => {
                Some(Self::PlayerActionMapRotationAutoRemoveRotater)
            }
            "PlayerActionType_PlayerActionDrinkMakerAddTips" => {
                Some(Self::PlayerActionDrinkMakerAddTips)
            }
            "PlayerActionType_PlayerActionDrinkMakerFinishChallenge" => {
                Some(Self::PlayerActionDrinkMakerFinishChallenge)
            }
            "PlayerActionType_PlayerActionDrinkMakerGuestMaxFaithReward" => {
                Some(Self::PlayerActionDrinkMakerGuestMaxFaithReward)
            }
            "PlayerActionType_PlayerActionDrinkMakerMakeDrink" => {
                Some(Self::PlayerActionDrinkMakerMakeDrink)
            }
            "PlayerActionType_PlayerActionDrinkMakerSaveCustomDrink" => {
                Some(Self::PlayerActionDrinkMakerSaveCustomDrink)
            }
            "PlayerActionType_PlayerActionDrinkMakerEndSequence" => {
                Some(Self::PlayerActionDrinkMakerEndSequence)
            }
            "PlayerActionType_PlayerActionDrinkMakerCheersMakeDrink" => {
                Some(Self::PlayerActionDrinkMakerCheersMakeDrink)
            }
            "PlayerActionType_PlayerActionDrinkMakerCheersNpcDrink" => {
                Some(Self::PlayerActionDrinkMakerCheersNpcDrink)
            }
            "PlayerActionType_PlayerActionChangeStoryLine" => {
                Some(Self::PlayerActionChangeStoryLine)
            }
            "PlayerActionType_PlayerActionContentPackageStatusChange" => {
                Some(Self::PlayerActionContentPackageStatusChange)
            }
            "PlayerActionType_PlayerActionContentPackageTrackChange" => {
                Some(Self::PlayerActionContentPackageTrackChange)
            }
            "PlayerActionType_PlayerActionContentPackageAcceptMainMission" => {
                Some(Self::PlayerActionContentPackageAcceptMainMission)
            }
            "PlayerActionType_PlayerActionWorldDirectUnlock" => {
                Some(Self::PlayerActionWorldDirectUnlock)
            }
            "PlayerActionType_PlayerActionMonopolyTurnFinish" => {
                Some(Self::PlayerActionMonopolyTurnFinish)
            }
            "PlayerActionType_PlayerActionMonopolyAssetTurntax" => {
                Some(Self::PlayerActionMonopolyAssetTurntax)
            }
            "PlayerActionType_PlayerActionMonopolyAssetBonus" => {
                Some(Self::PlayerActionMonopolyAssetBonus)
            }
            "PlayerActionType_PlayerActionMonopolyEventEffect" => {
                Some(Self::PlayerActionMonopolyEventEffect)
            }
            "PlayerActionType_PlayerActionMonopolyMiniGameSettle" => {
                Some(Self::PlayerActionMonopolyMiniGameSettle)
            }
            "PlayerActionType_PlayerActionMonopolyGameRaiseRatio" => {
                Some(Self::PlayerActionMonopolyGameRaiseRatio)
            }
            "PlayerActionType_PlayerActionMonopolyMoveRollDice" => {
                Some(Self::PlayerActionMonopolyMoveRollDice)
            }
            "PlayerActionType_PlayerActionMonopolyMove" => {
                Some(Self::PlayerActionMonopolyMove)
            }
            "PlayerActionType_PlayerActionMonopolyBuyGoods" => {
                Some(Self::PlayerActionMonopolyBuyGoods)
            }
            "PlayerActionType_PlayerActionMonopolyUpgradeAsset" => {
                Some(Self::PlayerActionMonopolyUpgradeAsset)
            }
            "PlayerActionType_PlayerActionMonopolyEventRerollRandom" => {
                Some(Self::PlayerActionMonopolyEventRerollRandom)
            }
            "PlayerActionType_PlayerActionMonopolyDailyRefresh" => {
                Some(Self::PlayerActionMonopolyDailyRefresh)
            }
            "PlayerActionType_PlayerActionMonopolyGameGuessBuyInformation" => {
                Some(Self::PlayerActionMonopolyGameGuessBuyInformation)
            }
            "PlayerActionType_PlayerActionMonopolyDailyFirstEnterActivity" => {
                Some(Self::PlayerActionMonopolyDailyFirstEnterActivity)
            }
            "PlayerActionType_PlayerActionMonopolySocialEvent" => {
                Some(Self::PlayerActionMonopolySocialEvent)
            }
            "PlayerActionType_PlayerActionMonopolyRaffleTicketReward" => {
                Some(Self::PlayerActionMonopolyRaffleTicketReward)
            }
            "PlayerActionType_PlayerActionMonopolyLike" => {
                Some(Self::PlayerActionMonopolyLike)
            }
            "PlayerActionType_PlayerActionMonopolyPhaseReward" => {
                Some(Self::PlayerActionMonopolyPhaseReward)
            }
            "PlayerActionType_PlayerActionMonopolyMbtiReportReward" => {
                Some(Self::PlayerActionMonopolyMbtiReportReward)
            }
            "PlayerActionType_PlayerActionMonopolyDailySettle" => {
                Some(Self::PlayerActionMonopolyDailySettle)
            }
            "PlayerActionType_PlayerActionMonopolyStart" => {
                Some(Self::PlayerActionMonopolyStart)
            }
            "PlayerActionType_PlayerActionMonopolyGetBuff" => {
                Some(Self::PlayerActionMonopolyGetBuff)
            }
            "PlayerActionType_PlayerActionMonopolyAssetFundsChange" => {
                Some(Self::PlayerActionMonopolyAssetFundsChange)
            }
            "PlayerActionType_PlayerActionMonopolyAssetUpgrade" => {
                Some(Self::PlayerActionMonopolyAssetUpgrade)
            }
            "PlayerActionType_PlayerActionMonopolyDirectCoinGameSettle" => {
                Some(Self::PlayerActionMonopolyDirectCoinGameSettle)
            }
            "PlayerActionType_PlayerActionMonopolyExtractRaffleTicket" => {
                Some(Self::PlayerActionMonopolyExtractRaffleTicket)
            }
            "PlayerActionType_PlayerActionMonopolyMbtiProgressChange" => {
                Some(Self::PlayerActionMonopolyMbtiProgressChange)
            }
            "PlayerActionType_PlayerActionMonopolyQuizGameSettle" => {
                Some(Self::PlayerActionMonopolyQuizGameSettle)
            }
            "PlayerActionType_PlayerActionMonopolyEventSettle" => {
                Some(Self::PlayerActionMonopolyEventSettle)
            }
            "PlayerActionType_PlayerActionMonopolyItemChange" => {
                Some(Self::PlayerActionMonopolyItemChange)
            }
            "PlayerActionType_PlayerActionMonopolyCellTrigger" => {
                Some(Self::PlayerActionMonopolyCellTrigger)
            }
            "PlayerActionType_PlayerActionMonopolyEventTrigger" => {
                Some(Self::PlayerActionMonopolyEventTrigger)
            }
            "PlayerActionType_PlayerActionMonopolyClickEffect" => {
                Some(Self::PlayerActionMonopolyClickEffect)
            }
            "PlayerActionType_PlayerActionEvolveBuildLevelFinish" => {
                Some(Self::PlayerActionEvolveBuildLevelFinish)
            }
            "PlayerActionType_PlayerActionEvolveBuildShopAbilityUp" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityUp)
            }
            "PlayerActionType_PlayerActionEvolveBuildShopAbilityDown" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityDown)
            }
            "PlayerActionType_PlayerActionEvolveBuildTakeExpReward" => {
                Some(Self::PlayerActionEvolveBuildTakeExpReward)
            }
            "PlayerActionType_PlayerActionEvolveBuildBattleEndAddCoin" => {
                Some(Self::PlayerActionEvolveBuildBattleEndAddCoin)
            }
            "PlayerActionType_PlayerActionEvolveBuildShopAbilityReset" => {
                Some(Self::PlayerActionEvolveBuildShopAbilityReset)
            }
            "PlayerActionType_PlayerActionEvolveBuildLevelStart" => {
                Some(Self::PlayerActionEvolveBuildLevelStart)
            }
            "PlayerActionType_PlayerActionEvolveBuildLevelEnd" => {
                Some(Self::PlayerActionEvolveBuildLevelEnd)
            }
            "PlayerActionType_PlayerActionEvolveBuildStageStart" => {
                Some(Self::PlayerActionEvolveBuildStageStart)
            }
            "PlayerActionType_PlayerActionEvolveBuildStageEnd" => {
                Some(Self::PlayerActionEvolveBuildStageEnd)
            }
            "PlayerActionType_PlayerActionEvolveBuildLevelLeave" => {
                Some(Self::PlayerActionEvolveBuildLevelLeave)
            }
            "PlayerActionType_PlayerActionClockParkUnlockScript" => {
                Some(Self::PlayerActionClockParkUnlockScript)
            }
            "PlayerActionType_PlayerActionClockParkUnlockTalent" => {
                Some(Self::PlayerActionClockParkUnlockTalent)
            }
            "PlayerActionType_PlayerActionClockParkFinishScript" => {
                Some(Self::PlayerActionClockParkFinishScript)
            }
            "PlayerActionType_PlayerActionClockParkRoundUpdate" => {
                Some(Self::PlayerActionClockParkRoundUpdate)
            }
            "PlayerActionType_PlayerActionClockParkScriptBegin" => {
                Some(Self::PlayerActionClockParkScriptBegin)
            }
            "PlayerActionType_PlayerActionRogueTournStartLevel" => {
                Some(Self::PlayerActionRogueTournStartLevel)
            }
            "PlayerActionType_PlayerActionRogueTournFinishLevel" => {
                Some(Self::PlayerActionRogueTournFinishLevel)
            }
            "PlayerActionType_PlayerActionRogueTournExpReward" => {
                Some(Self::PlayerActionRogueTournExpReward)
            }
            "PlayerActionType_PlayerActionRogueTournFinishWeekChallenge" => {
                Some(Self::PlayerActionRogueTournFinishWeekChallenge)
            }
            "PlayerActionType_PlayerActionRogueTournPermanentTalentEffect" => {
                Some(Self::PlayerActionRogueTournPermanentTalentEffect)
            }
            "PlayerActionType_PlayerActionRogueTournFinishFormulaStory" => {
                Some(Self::PlayerActionRogueTournFinishFormulaStory)
            }
            "PlayerActionType_PlayerActionRogueTournRevive" => {
                Some(Self::PlayerActionRogueTournRevive)
            }
            "PlayerActionType_PlayerActionRogueTournStageBegin" => {
                Some(Self::PlayerActionRogueTournStageBegin)
            }
            "PlayerActionType_PlayerActionRogueTournStageEnd" => {
                Some(Self::PlayerActionRogueTournStageEnd)
            }
            "PlayerActionType_PlayerActionRogueTournPermanentEnableTalent" => {
                Some(Self::PlayerActionRogueTournPermanentEnableTalent)
            }
            "PlayerActionType_PlayerActionRogueTournPermanentResetTalent" => {
                Some(Self::PlayerActionRogueTournPermanentResetTalent)
            }
            "PlayerActionType_PlayerActionRogueTournCocoonStageBegin" => {
                Some(Self::PlayerActionRogueTournCocoonStageBegin)
            }
            "PlayerActionType_PlayerActionRogueTournCocoonStageEnd" => {
                Some(Self::PlayerActionRogueTournCocoonStageEnd)
            }
            "PlayerActionType_PlayerActionRogueTournExpUpdate" => {
                Some(Self::PlayerActionRogueTournExpUpdate)
            }
            "PlayerActionType_PlayerActionRogueTournEnterRoom" => {
                Some(Self::PlayerActionRogueTournEnterRoom)
            }
            "PlayerActionType_PlayerActionRogueTournLeaveRoom" => {
                Some(Self::PlayerActionRogueTournLeaveRoom)
            }
            "PlayerActionType_PlayerActionRogueTournArchiveSave" => {
                Some(Self::PlayerActionRogueTournArchiveSave)
            }
            "PlayerActionType_PlayerActionRogueTournSelectBonus" => {
                Some(Self::PlayerActionRogueTournSelectBonus)
            }
            "PlayerActionType_PlayerActionRogueTournDialogueFinish" => {
                Some(Self::PlayerActionRogueTournDialogueFinish)
            }
            "PlayerActionType_PlayerActionRogueTournDoGamble" => {
                Some(Self::PlayerActionRogueTournDoGamble)
            }
            "PlayerActionType_PlayerActionRogueTournRoomContentGenerate" => {
                Some(Self::PlayerActionRogueTournRoomContentGenerate)
            }
            "PlayerActionType_PlayerActionRogueTournAddMiracle" => {
                Some(Self::PlayerActionRogueTournAddMiracle)
            }
            "PlayerActionType_PlayerActionRogueTournRemoveMiracle" => {
                Some(Self::PlayerActionRogueTournRemoveMiracle)
            }
            "PlayerActionType_PlayerActionRogueTournSelectMiracle" => {
                Some(Self::PlayerActionRogueTournSelectMiracle)
            }
            "PlayerActionType_PlayerActionRogueTournDropMiracle" => {
                Some(Self::PlayerActionRogueTournDropMiracle)
            }
            "PlayerActionType_PlayerActionRogueTournAddBuff" => {
                Some(Self::PlayerActionRogueTournAddBuff)
            }
            "PlayerActionType_PlayerActionRogueTournSelectBuff" => {
                Some(Self::PlayerActionRogueTournSelectBuff)
            }
            "PlayerActionType_PlayerActionRogueTournBuffLevelUp" => {
                Some(Self::PlayerActionRogueTournBuffLevelUp)
            }
            "PlayerActionType_PlayerActionRogueTournRemoveBuff" => {
                Some(Self::PlayerActionRogueTournRemoveBuff)
            }
            "PlayerActionType_PlayerActionRogueTournAddFormula" => {
                Some(Self::PlayerActionRogueTournAddFormula)
            }
            "PlayerActionType_PlayerActionRogueTournRemoveFormula" => {
                Some(Self::PlayerActionRogueTournRemoveFormula)
            }
            "PlayerActionType_PlayerActionRogueTournSelectFormula" => {
                Some(Self::PlayerActionRogueTournSelectFormula)
            }
            "PlayerActionType_PlayerActionRogueTournActivateFormula" => {
                Some(Self::PlayerActionRogueTournActivateFormula)
            }
            "PlayerActionType_PlayerActionRogueTournAdventureRoomFinish" => {
                Some(Self::PlayerActionRogueTournAdventureRoomFinish)
            }
            "PlayerActionType_PlayerActionRogueTournAlterLineup" => {
                Some(Self::PlayerActionRogueTournAlterLineup)
            }
            "PlayerActionType_PlayerActionRogueTournSeasonEnableTalent" => {
                Some(Self::PlayerActionRogueTournSeasonEnableTalent)
            }
            "PlayerActionType_PlayerActionRogueTournTitanStartLevel" => {
                Some(Self::PlayerActionRogueTournTitanStartLevel)
            }
            "PlayerActionType_PlayerActionRogueTournTitanFinishLevel" => {
                Some(Self::PlayerActionRogueTournTitanFinishLevel)
            }
            "PlayerActionType_PlayerActionRogueTournTitanEnterRoom" => {
                Some(Self::PlayerActionRogueTournTitanEnterRoom)
            }
            "PlayerActionType_PlayerActionRogueTournTitanLeaveRoom" => {
                Some(Self::PlayerActionRogueTournTitanLeaveRoom)
            }
            "PlayerActionType_PlayerActionRogueTournTitanStageBegin" => {
                Some(Self::PlayerActionRogueTournTitanStageBegin)
            }
            "PlayerActionType_PlayerActionRogueTournTitanStageEnd" => {
                Some(Self::PlayerActionRogueTournTitanStageEnd)
            }
            "PlayerActionType_PlayerActionRogueTournTitanArchiveSave" => {
                Some(Self::PlayerActionRogueTournTitanArchiveSave)
            }
            "PlayerActionType_PlayerActionRogueTournTitanAddTitanBless" => {
                Some(Self::PlayerActionRogueTournTitanAddTitanBless)
            }
            "PlayerActionType_PlayerActionRogueTournTitanSelectTitanBless" => {
                Some(Self::PlayerActionRogueTournTitanSelectTitanBless)
            }
            "PlayerActionType_PlayerActionRogueTournDivisionChange" => {
                Some(Self::PlayerActionRogueTournDivisionChange)
            }
            "PlayerActionType_PlayerActionRogueTournSelectReRollMiracle" => {
                Some(Self::PlayerActionRogueTournSelectReRollMiracle)
            }
            "PlayerActionType_PlayerActionRogueTournTriggerBattleByShop" => {
                Some(Self::PlayerActionRogueTournTriggerBattleByShop)
            }
            "PlayerActionType_PlayerActionRogueTournUseSuperRewardKey" => {
                Some(Self::PlayerActionRogueTournUseSuperRewardKey)
            }
            "PlayerActionType_PlayerActionRogueWorkbenchReforgeFormula" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeFormula)
            }
            "PlayerActionType_PlayerActionRogueWorkbenchReforgeMiracle" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeMiracle)
            }
            "PlayerActionType_PlayerActionRogueWorkbenchComposeMiracle" => {
                Some(Self::PlayerActionRogueWorkbenchComposeMiracle)
            }
            "PlayerActionType_PlayerActionRogueWorkbenchReforgeBuff" => {
                Some(Self::PlayerActionRogueWorkbenchReforgeBuff)
            }
            "PlayerActionType_PlayerActionRogueWorkbenchEnhanceBuff" => {
                Some(Self::PlayerActionRogueWorkbenchEnhanceBuff)
            }
            "PlayerActionType_PlayerActionMatchThreePveSettle" => {
                Some(Self::PlayerActionMatchThreePveSettle)
            }
            "PlayerActionType_PlayerActionMatchThreeSettle" => {
                Some(Self::PlayerActionMatchThreeSettle)
            }
            "PlayerActionType_PlayerActionFightMatch3GameStart" => {
                Some(Self::PlayerActionFightMatch3GameStart)
            }
            "PlayerActionType_PlayerActionFightMatch3GameEnd" => {
                Some(Self::PlayerActionFightMatch3GameEnd)
            }
            "PlayerActionType_PlayerActionFightMatch3TurnEnd" => {
                Some(Self::PlayerActionFightMatch3TurnEnd)
            }
            "PlayerActionType_PlayerActionMatchThreeBirdPos" => {
                Some(Self::PlayerActionMatchThreeBirdPos)
            }
            "PlayerActionType_PlayerActionMultiplePlayInvite" => {
                Some(Self::PlayerActionMultiplePlayInvite)
            }
            "PlayerActionType_PlayerActionMultiplePlayInviteRespond" => {
                Some(Self::PlayerActionMultiplePlayInviteRespond)
            }
            "PlayerActionType_PlayerActionMultiplePlayLobbyEnter" => {
                Some(Self::PlayerActionMultiplePlayLobbyEnter)
            }
            "PlayerActionType_PlayerActionMultiplePlayLobbyQuit" => {
                Some(Self::PlayerActionMultiplePlayLobbyQuit)
            }
            "PlayerActionType_PlayerActionMultiplePlayLobbyKick" => {
                Some(Self::PlayerActionMultiplePlayLobbyKick)
            }
            "PlayerActionType_PlayerActionMultiplePlayLobbyMatch" => {
                Some(Self::PlayerActionMultiplePlayLobbyMatch)
            }
            "PlayerActionType_PlayerActionMarbleSettle" => {
                Some(Self::PlayerActionMarbleSettle)
            }
            "PlayerActionType_PlayerActionMatchThreeSoloSettle" => {
                Some(Self::PlayerActionMatchThreeSoloSettle)
            }
            "PlayerActionType_PlayerActionMatchThreeV2BattleitemLevelup" => {
                Some(Self::PlayerActionMatchThreeV2BattleitemLevelup)
            }
            "PlayerActionType_PlayerActionMatchThreeV2PveSettle" => {
                Some(Self::PlayerActionMatchThreeV2PveSettle)
            }
            "PlayerActionType_PlayerActionMatchThreeV2PvpSettle" => {
                Some(Self::PlayerActionMatchThreeV2PvpSettle)
            }
            "PlayerActionType_PlayerActionMatch3SoloGameStart" => {
                Some(Self::PlayerActionMatch3SoloGameStart)
            }
            "PlayerActionType_PlayerActionMatch3SoloGameEnd" => {
                Some(Self::PlayerActionMatch3SoloGameEnd)
            }
            "PlayerActionType_PlayerActionMatch3SoloRoundEnd" => {
                Some(Self::PlayerActionMatch3SoloRoundEnd)
            }
            "PlayerActionType_PlayerActionMatch3RoyaleSettle" => {
                Some(Self::PlayerActionMatch3RoyaleSettle)
            }
            "PlayerActionType_PlayerActionMatch3RoyaleGameStart" => {
                Some(Self::PlayerActionMatch3RoyaleGameStart)
            }
            "PlayerActionType_PlayerActionMatch3RoyaleGameEnd" => {
                Some(Self::PlayerActionMatch3RoyaleGameEnd)
            }
            "PlayerActionType_PlayerActionMatch3RoyaleRoundEnd" => {
                Some(Self::PlayerActionMatch3RoyaleRoundEnd)
            }
            "PlayerActionType_PlayerActionDiceCombatSettle" => {
                Some(Self::PlayerActionDiceCombatSettle)
            }
            "PlayerActionType_PlayerActionSwordTrainingLearnSkill" => {
                Some(Self::PlayerActionSwordTrainingLearnSkill)
            }
            "PlayerActionType_PlayerActionSwordTrainingNormalAction" => {
                Some(Self::PlayerActionSwordTrainingNormalAction)
            }
            "PlayerActionType_PlayerActionSwordTrainingStoryEffect" => {
                Some(Self::PlayerActionSwordTrainingStoryEffect)
            }
            "PlayerActionType_PlayerActionSwordTrainingEndingHint" => {
                Some(Self::PlayerActionSwordTrainingEndingHint)
            }
            "PlayerActionType_PlayerActionSwordTrainingActionHint" => {
                Some(Self::PlayerActionSwordTrainingActionHint)
            }
            "PlayerActionType_PlayerActionSwordTrainingRestoreGameByExam" => {
                Some(Self::PlayerActionSwordTrainingRestoreGameByExam)
            }
            "PlayerActionType_PlayerActionSwordTrainingStoryLineFirstClear" => {
                Some(Self::PlayerActionSwordTrainingStoryLineFirstClear)
            }
            "PlayerActionType_PlayerActionSwordTrainingTakeEndingReward" => {
                Some(Self::PlayerActionSwordTrainingTakeEndingReward)
            }
            "PlayerActionType_PlayerActionSwordTrainingStoryLineBegin" => {
                Some(Self::PlayerActionSwordTrainingStoryLineBegin)
            }
            "PlayerActionType_PlayerActionSwordTrainingEnterTurn" => {
                Some(Self::PlayerActionSwordTrainingEnterTurn)
            }
            "PlayerActionType_PlayerActionSwordTrainingPlanAction" => {
                Some(Self::PlayerActionSwordTrainingPlanAction)
            }
            "PlayerActionType_PlayerActionSwordTrainingActionPhaseEnd" => {
                Some(Self::PlayerActionSwordTrainingActionPhaseEnd)
            }
            "PlayerActionType_PlayerActionSwordTrainingStory" => {
                Some(Self::PlayerActionSwordTrainingStory)
            }
            "PlayerActionType_PlayerActionSwordTrainingStatusChange" => {
                Some(Self::PlayerActionSwordTrainingStatusChange)
            }
            "PlayerActionType_PlayerActionSwordTrainingMoodChange" => {
                Some(Self::PlayerActionSwordTrainingMoodChange)
            }
            "PlayerActionType_PlayerActionSwordTrainingBattleBegin" => {
                Some(Self::PlayerActionSwordTrainingBattleBegin)
            }
            "PlayerActionType_PlayerActionSwordTrainingBattleEnd" => {
                Some(Self::PlayerActionSwordTrainingBattleEnd)
            }
            "PlayerActionType_PlayerActionSwordTrainingCombatRankChange" => {
                Some(Self::PlayerActionSwordTrainingCombatRankChange)
            }
            "PlayerActionType_PlayerActionSwordTrainingStoryLineEnd" => {
                Some(Self::PlayerActionSwordTrainingStoryLineEnd)
            }
            "PlayerActionType_PlayerActionSwordTrainingResumeStoryLine" => {
                Some(Self::PlayerActionSwordTrainingResumeStoryLine)
            }
            "PlayerActionType_PlayerActionSwordTrainingGameSuccess" => {
                Some(Self::PlayerActionSwordTrainingGameSuccess)
            }
            "PlayerActionType_PlayerActionSwordTrainingGameGiveUp" => {
                Some(Self::PlayerActionSwordTrainingGameGiveUp)
            }
            "PlayerActionType_PlayerActionSwordTrainingExam" => {
                Some(Self::PlayerActionSwordTrainingExam)
            }
            "PlayerActionType_PlayerActionSwordTrainingDialogue" => {
                Some(Self::PlayerActionSwordTrainingDialogue)
            }
            "PlayerActionType_PlayerActionSwordTrainingSetSkillTrace" => {
                Some(Self::PlayerActionSwordTrainingSetSkillTrace)
            }
            "PlayerActionType_PlayerActionFightFestFinishScoreRaceMission" => {
                Some(Self::PlayerActionFightFestFinishScoreRaceMission)
            }
            "PlayerActionType_PlayerActionFightFestFinishScoreRacePhase" => {
                Some(Self::PlayerActionFightFestFinishScoreRacePhase)
            }
            "PlayerActionType_PlayerActionFightFestRaceStart" => {
                Some(Self::PlayerActionFightFestRaceStart)
            }
            "PlayerActionType_PlayerActionFightFestRaceEnd" => {
                Some(Self::PlayerActionFightFestRaceEnd)
            }
            "PlayerActionType_PlayerActionFightFestChallengeStart" => {
                Some(Self::PlayerActionFightFestChallengeStart)
            }
            "PlayerActionType_PlayerActionFightFestChallengeEnd" => {
                Some(Self::PlayerActionFightFestChallengeEnd)
            }
            "PlayerActionType_PlayerActionFightFestGetCoachItem" => {
                Some(Self::PlayerActionFightFestGetCoachItem)
            }
            "PlayerActionType_PlayerActionFightFestAcceptScoreRaceMission" => {
                Some(Self::PlayerActionFightFestAcceptScoreRaceMission)
            }
            "PlayerActionType_PlayerActionPetUse" => Some(Self::PlayerActionPetUse),
            "PlayerActionType_PlayerActionMusicRhythmPassLevelStar" => {
                Some(Self::PlayerActionMusicRhythmPassLevelStar)
            }
            "PlayerActionType_PlayerActionMusicRhythmLevelBegin" => {
                Some(Self::PlayerActionMusicRhythmLevelBegin)
            }
            "PlayerActionType_PlayerActionMusicRhythmLevelEnd" => {
                Some(Self::PlayerActionMusicRhythmLevelEnd)
            }
            "PlayerActionType_PlayerActionTrackPhotoStageBegin" => {
                Some(Self::PlayerActionTrackPhotoStageBegin)
            }
            "PlayerActionType_PlayerActionTrackPhotoStageEnd" => {
                Some(Self::PlayerActionTrackPhotoStageEnd)
            }
            "PlayerActionType_PlayerActionSummonActivityBattleBegin" => {
                Some(Self::PlayerActionSummonActivityBattleBegin)
            }
            "PlayerActionType_PlayerActionSummonActivityBattleEnd" => {
                Some(Self::PlayerActionSummonActivityBattleEnd)
            }
            "PlayerActionType_PlayerActionRaidCollectionEnterNextRaid" => {
                Some(Self::PlayerActionRaidCollectionEnterNextRaid)
            }
            "PlayerActionType_PlayerActionDifficultyAdjustmentSet" => {
                Some(Self::PlayerActionDifficultyAdjustmentSet)
            }
            "PlayerActionType_PlayerActionDifficultyAdjustmentUnset" => {
                Some(Self::PlayerActionDifficultyAdjustmentUnset)
            }
            "PlayerActionType_PlayerActionRogueArcadeAdventureRoomStart" => {
                Some(Self::PlayerActionRogueArcadeAdventureRoomStart)
            }
            "PlayerActionType_PlayerActionRogueArcadeAdventureRoomFinish" => {
                Some(Self::PlayerActionRogueArcadeAdventureRoomFinish)
            }
            "PlayerActionType_PlayerActionRogueMagicStartLevel" => {
                Some(Self::PlayerActionRogueMagicStartLevel)
            }
            "PlayerActionType_PlayerActionRogueMagicFinishLevel" => {
                Some(Self::PlayerActionRogueMagicFinishLevel)
            }
            "PlayerActionType_PlayerActionRogueMagicRevive" => {
                Some(Self::PlayerActionRogueMagicRevive)
            }
            "PlayerActionType_PlayerActionRogueMagicEnterRoom" => {
                Some(Self::PlayerActionRogueMagicEnterRoom)
            }
            "PlayerActionType_PlayerActionRogueMagicLeaveRoom" => {
                Some(Self::PlayerActionRogueMagicLeaveRoom)
            }
            "PlayerActionType_PlayerActionRogueMagicAddMiracle" => {
                Some(Self::PlayerActionRogueMagicAddMiracle)
            }
            "PlayerActionType_PlayerActionRogueMagicRemoveMiracle" => {
                Some(Self::PlayerActionRogueMagicRemoveMiracle)
            }
            "PlayerActionType_PlayerActionRogueMagicStageBegin" => {
                Some(Self::PlayerActionRogueMagicStageBegin)
            }
            "PlayerActionType_PlayerActionRogueMagicStageEnd" => {
                Some(Self::PlayerActionRogueMagicStageEnd)
            }
            "PlayerActionType_PlayerActionRogueMagicEnableTalent" => {
                Some(Self::PlayerActionRogueMagicEnableTalent)
            }
            "PlayerActionType_PlayerActionRogueMagicFinishStory" => {
                Some(Self::PlayerActionRogueMagicFinishStory)
            }
            "PlayerActionType_PlayerActionRogueMagicAddScepter" => {
                Some(Self::PlayerActionRogueMagicAddScepter)
            }
            "PlayerActionType_PlayerActionRogueMagicSelectScepter" => {
                Some(Self::PlayerActionRogueMagicSelectScepter)
            }
            "PlayerActionType_PlayerActionRogueMagicMountUnit" => {
                Some(Self::PlayerActionRogueMagicMountUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicAutoMountUnit" => {
                Some(Self::PlayerActionRogueMagicAutoMountUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicAddMagicUnit" => {
                Some(Self::PlayerActionRogueMagicAddMagicUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicRemoveMagicUnit" => {
                Some(Self::PlayerActionRogueMagicRemoveMagicUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicWorkbenchComposeMagicUnit" => {
                Some(Self::PlayerActionRogueMagicWorkbenchComposeMagicUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicWorkbenchReforgeMagicUnit" => {
                Some(Self::PlayerActionRogueMagicWorkbenchReforgeMagicUnit)
            }
            "PlayerActionType_PlayerActionRogueMagicWorkbenchLevelUpScepter" => {
                Some(Self::PlayerActionRogueMagicWorkbenchLevelUpScepter)
            }
            "PlayerActionType_PlayerActionTrainPartyGamePlayStart" => {
                Some(Self::PlayerActionTrainPartyGamePlayStart)
            }
            "PlayerActionType_PlayerActionTrainPartyPhaseBegin" => {
                Some(Self::PlayerActionTrainPartyPhaseBegin)
            }
            "PlayerActionType_PlayerActionTrainPartyPhaseEnd" => {
                Some(Self::PlayerActionTrainPartyPhaseEnd)
            }
            "PlayerActionType_PlayerActionTrainPartyRound" => {
                Some(Self::PlayerActionTrainPartyRound)
            }
            "PlayerActionType_PlayerActionTrainPartyMeetingBegin" => {
                Some(Self::PlayerActionTrainPartyMeetingBegin)
            }
            "PlayerActionType_PlayerActionTrainPartyMeetingEnd" => {
                Some(Self::PlayerActionTrainPartyMeetingEnd)
            }
            "PlayerActionType_PlayerActionTrainPartyMeetingPlayCard" => {
                Some(Self::PlayerActionTrainPartyMeetingPlayCard)
            }
            "PlayerActionType_PlayerActionTrainPartyMeetingReRoll" => {
                Some(Self::PlayerActionTrainPartyMeetingReRoll)
            }
            "PlayerActionType_PlayerActionTrainPartyBuildAreaUnlock" => {
                Some(Self::PlayerActionTrainPartyBuildAreaUnlock)
            }
            "PlayerActionType_PlayerActionTrainPartyBuildStep" => {
                Some(Self::PlayerActionTrainPartyBuildStep)
            }
            "PlayerActionType_PlayerActionTrainPartyBuildLevelAward" => {
                Some(Self::PlayerActionTrainPartyBuildLevelAward)
            }
            "PlayerActionType_PlayerActionTrainPartyBuildingDynamicBuff" => {
                Some(Self::PlayerActionTrainPartyBuildingDynamicBuff)
            }
            "PlayerActionType_PlayerActionTrainPartyBuildDiy" => {
                Some(Self::PlayerActionTrainPartyBuildDiy)
            }
            "PlayerActionType_PlayerActionSelfRoomBuildDiy" => {
                Some(Self::PlayerActionSelfRoomBuildDiy)
            }
            "PlayerActionType_PlayerActionSkipUnlockSelfRoom" => {
                Some(Self::PlayerActionSkipUnlockSelfRoom)
            }
            "PlayerActionType_PlayerActionSelfRoomBuildDiyMerge" => {
                Some(Self::PlayerActionSelfRoomBuildDiyMerge)
            }
            "PlayerActionType_PlayerActionSwitchHandOpPropState" => {
                Some(Self::PlayerActionSwitchHandOpPropState)
            }
            "PlayerActionType_PlayerActionEraFlipperChangeRegionState" => {
                Some(Self::PlayerActionEraFlipperChangeRegionState)
            }
            "PlayerActionType_PlayerActionEraFlipperChangePropState" => {
                Some(Self::PlayerActionEraFlipperChangePropState)
            }
            "PlayerActionType_PlayerActionActivityBenefitReward" => {
                Some(Self::PlayerActionActivityBenefitReward)
            }
            "PlayerActionType_PlayerActionActivityBenefitJoin" => {
                Some(Self::PlayerActionActivityBenefitJoin)
            }
            "PlayerActionType_PlayerActionActivityBenefitInitialReward" => {
                Some(Self::PlayerActionActivityBenefitInitialReward)
            }
            "PlayerActionType_PlayerActionActiveActivityReward" => {
                Some(Self::PlayerActionActiveActivityReward)
            }
            "PlayerActionType_PlayerActionPamSkinChangeSkin" => {
                Some(Self::PlayerActionPamSkinChangeSkin)
            }
            "PlayerActionType_PlayerActionChestFind" => Some(Self::PlayerActionChestFind),
            "PlayerActionType_PlayerActionReissueMarkChestItemMail" => {
                Some(Self::PlayerActionReissueMarkChestItemMail)
            }
            "PlayerActionType_PlayerActionMarblePassMatch" => {
                Some(Self::PlayerActionMarblePassMatch)
            }
            "PlayerActionType_PlayerActionMarbleBuySeal" => {
                Some(Self::PlayerActionMarbleBuySeal)
            }
            "PlayerActionType_PlayerActionMarbleFightGameBegin" => {
                Some(Self::PlayerActionMarbleFightGameBegin)
            }
            "PlayerActionType_PlayerActionMarbleFightGameEnd" => {
                Some(Self::PlayerActionMarbleFightGameEnd)
            }
            "PlayerActionType_PlayerActionMarbleFightGameRound" => {
                Some(Self::PlayerActionMarbleFightGameRound)
            }
            "PlayerActionType_PlayerActionMarbleFightGameTurn" => {
                Some(Self::PlayerActionMarbleFightGameTurn)
            }
            "PlayerActionType_PlayerActionPlanetFesLevelUp" => {
                Some(Self::PlayerActionPlanetFesLevelUp)
            }
            "PlayerActionType_PlayerActionPlanetFesActivityInit" => {
                Some(Self::PlayerActionPlanetFesActivityInit)
            }
            "PlayerActionType_PlayerActionPlanetFesAvatarLevelUp" => {
                Some(Self::PlayerActionPlanetFesAvatarLevelUp)
            }
            "PlayerActionType_PlayerActionPlanetFesTakeRegionPhaseReward" => {
                Some(Self::PlayerActionPlanetFesTakeRegionPhaseReward)
            }
            "PlayerActionType_PlayerActionPlanetFesAddItem" => {
                Some(Self::PlayerActionPlanetFesAddItem)
            }
            "PlayerActionType_PlayerActionPlanetFesQuest" => {
                Some(Self::PlayerActionPlanetFesQuest)
            }
            "PlayerActionType_PlayerActionPlanetFesBusinessDayFinish" => {
                Some(Self::PlayerActionPlanetFesBusinessDayFinish)
            }
            "PlayerActionType_PlayerActionPlanetFesAvatarStarUp" => {
                Some(Self::PlayerActionPlanetFesAvatarStarUp)
            }
            "PlayerActionType_PlayerActionPlanetFesUnlockLand" => {
                Some(Self::PlayerActionPlanetFesUnlockLand)
            }
            "PlayerActionType_PlayerActionPlanetFesBusinessEventFinish" => {
                Some(Self::PlayerActionPlanetFesBusinessEventFinish)
            }
            "PlayerActionType_PlayerActionPlanetFesActivateCard" => {
                Some(Self::PlayerActionPlanetFesActivateCard)
            }
            "PlayerActionType_PlayerActionPlanetFesSkillLevelUp" => {
                Some(Self::PlayerActionPlanetFesSkillLevelUp)
            }
            "PlayerActionType_PlayerActionPlanetFesGacha" => {
                Some(Self::PlayerActionPlanetFesGacha)
            }
            "PlayerActionType_PlayerActionPlanetFesBusinessEventHandle" => {
                Some(Self::PlayerActionPlanetFesBusinessEventHandle)
            }
            "PlayerActionType_PlayerActionPlanetFesCardApplyPermission" => {
                Some(Self::PlayerActionPlanetFesCardApplyPermission)
            }
            "PlayerActionType_PlayerActionPlanetFesCardInteract" => {
                Some(Self::PlayerActionPlanetFesCardInteract)
            }
            "PlayerActionType_PlayerActionPlanetFesToSns" => {
                Some(Self::PlayerActionPlanetFesToSns)
            }
            "PlayerActionType_PlayerActionPlanetFesSetWorkAvatar" => {
                Some(Self::PlayerActionPlanetFesSetWorkAvatar)
            }
            "PlayerActionType_PlayerActionPlanetFesSummary" => {
                Some(Self::PlayerActionPlanetFesSummary)
            }
            "PlayerActionType_PlayerActionTarotBookCharacterLevelUp" => {
                Some(Self::PlayerActionTarotBookCharacterLevelUp)
            }
            "PlayerActionType_PlayerActionTarotBookOpenPack" => {
                Some(Self::PlayerActionTarotBookOpenPack)
            }
            "PlayerActionType_PlayerActionTarotBookUnlockStory" => {
                Some(Self::PlayerActionTarotBookUnlockStory)
            }
            "PlayerActionType_PlayerActionTarotBookUnlockStorySingle" => {
                Some(Self::PlayerActionTarotBookUnlockStorySingle)
            }
            "PlayerActionType_PlayerActionTarotBookFinishStory" => {
                Some(Self::PlayerActionTarotBookFinishStory)
            }
            "PlayerActionType_PlayerActionTarotBookFinishInteraction" => {
                Some(Self::PlayerActionTarotBookFinishInteraction)
            }
            "PlayerActionType_PlayerActionTarotBookChangeEnergy" => {
                Some(Self::PlayerActionTarotBookChangeEnergy)
            }
            "PlayerActionType_PlayerActionTarotBookUnlockInteraction" => {
                Some(Self::PlayerActionTarotBookUnlockInteraction)
            }
            "PlayerActionType_PlayerActionChimeraRoundStart" => {
                Some(Self::PlayerActionChimeraRoundStart)
            }
            "PlayerActionType_PlayerActionChimeraRoundWorkStart" => {
                Some(Self::PlayerActionChimeraRoundWorkStart)
            }
            "PlayerActionType_PlayerActionChimeraRoundWorkEnd" => {
                Some(Self::PlayerActionChimeraRoundWorkEnd)
            }
            "PlayerActionType_PlayerActionChimeraEndlessStart" => {
                Some(Self::PlayerActionChimeraEndlessStart)
            }
            "PlayerActionType_PlayerActionChimeraEndlessEnd" => {
                Some(Self::PlayerActionChimeraEndlessEnd)
            }
            "PlayerActionType_PlayerActionChimeraEndlessWorkStart" => {
                Some(Self::PlayerActionChimeraEndlessWorkStart)
            }
            "PlayerActionType_PlayerActionChimeraEndlessWorkEnd" => {
                Some(Self::PlayerActionChimeraEndlessWorkEnd)
            }
            "PlayerActionType_PlayerActionChimeraRankChange" => {
                Some(Self::PlayerActionChimeraRankChange)
            }
            "PlayerActionType_PlayerActionChimeraGet" => {
                Some(Self::PlayerActionChimeraGet)
            }
            "PlayerActionType_PlayerActionStoryTokenTakeActivityReward" => {
                Some(Self::PlayerActionStoryTokenTakeActivityReward)
            }
            "PlayerActionType_PlayerActionReissueAvatarTokenItem" => {
                Some(Self::PlayerActionReissueAvatarTokenItem)
            }
            "PlayerActionType_PlayerActionAvatarDeliverRewardActivityTakeReward" => {
                Some(Self::PlayerActionAvatarDeliverRewardActivityTakeReward)
            }
            "PlayerActionType_PlayerActionElfRestaurantBuyField" => {
                Some(Self::PlayerActionElfRestaurantBuyField)
            }
            "PlayerActionType_PlayerActionElfRestaurantPlantSeed" => {
                Some(Self::PlayerActionElfRestaurantPlantSeed)
            }
            "PlayerActionType_PlayerActionElfRestaurantRecycleSeed" => {
                Some(Self::PlayerActionElfRestaurantRecycleSeed)
            }
            "PlayerActionType_PlayerActionElfRestaurantHarvestCrop" => {
                Some(Self::PlayerActionElfRestaurantHarvestCrop)
            }
            "PlayerActionType_PlayerActionElfRestaurantUpgradeEmployeeLevel" => {
                Some(Self::PlayerActionElfRestaurantUpgradeEmployeeLevel)
            }
            "PlayerActionType_PlayerActionElfRestaurantUpgradeFacilityLevel" => {
                Some(Self::PlayerActionElfRestaurantUpgradeFacilityLevel)
            }
            "PlayerActionType_PlayerActionElfRestaurantUpgradeRecipeLevel" => {
                Some(Self::PlayerActionElfRestaurantUpgradeRecipeLevel)
            }
            "PlayerActionType_PlayerActionElfRestaurantBuyShopItem" => {
                Some(Self::PlayerActionElfRestaurantBuyShopItem)
            }
            "PlayerActionType_PlayerActionElfRestaurantFinishTradeOrder" => {
                Some(Self::PlayerActionElfRestaurantFinishTradeOrder)
            }
            "PlayerActionType_PlayerActionElfRestaurantTakeVillagerReward" => {
                Some(Self::PlayerActionElfRestaurantTakeVillagerReward)
            }
            "PlayerActionType_PlayerActionElfRestaurantSettleRestaurantPlay" => {
                Some(Self::PlayerActionElfRestaurantSettleRestaurantPlay)
            }
            "PlayerActionType_PlayerActionElfRestaurantInit" => {
                Some(Self::PlayerActionElfRestaurantInit)
            }
            "PlayerActionType_PlayerActionElfRestaurantSettleProgress" => {
                Some(Self::PlayerActionElfRestaurantSettleProgress)
            }
            "PlayerActionType_PlayerActionElfRestaurantSettleDay" => {
                Some(Self::PlayerActionElfRestaurantSettleDay)
            }
            "PlayerActionType_PlayerActionElfRestaurantAddItem" => {
                Some(Self::PlayerActionElfRestaurantAddItem)
            }
            "PlayerActionType_PlayerActionLocalLegendReward" => {
                Some(Self::PlayerActionLocalLegendReward)
            }
            "PlayerActionType_PlayerActionFateLevelStart" => {
                Some(Self::PlayerActionFateLevelStart)
            }
            "PlayerActionType_PlayerActionFateLevelSettle" => {
                Some(Self::PlayerActionFateLevelSettle)
            }
            "PlayerActionType_PlayerActionFateBattleStart" => {
                Some(Self::PlayerActionFateBattleStart)
            }
            "PlayerActionType_PlayerActionFateBattleEnd" => {
                Some(Self::PlayerActionFateBattleEnd)
            }
            "PlayerActionType_PlayerActionFateAddHougu" => {
                Some(Self::PlayerActionFateAddHougu)
            }
            "PlayerActionType_PlayerActionFateSelectHougu" => {
                Some(Self::PlayerActionFateSelectHougu)
            }
            "PlayerActionType_PlayerActionFateSelectReiju" => {
                Some(Self::PlayerActionFateSelectReiju)
            }
            "PlayerActionType_PlayerActionFateRefreshReiju" => {
                Some(Self::PlayerActionFateRefreshReiju)
            }
            "PlayerActionType_PlayerActionFateAddCoin" => {
                Some(Self::PlayerActionFateAddCoin)
            }
            "PlayerActionType_PlayerActionFateBuyBuff" => {
                Some(Self::PlayerActionFateBuyBuff)
            }
            "PlayerActionType_PlayerActionFateSellBuff" => {
                Some(Self::PlayerActionFateSellBuff)
            }
            "PlayerActionType_PlayerActionFateRefreshShop" => {
                Some(Self::PlayerActionFateRefreshShop)
            }
            "PlayerActionType_PlayerActionFateLockGoods" => {
                Some(Self::PlayerActionFateLockGoods)
            }
            "PlayerActionType_PlayerActionFateUnlockGoods" => {
                Some(Self::PlayerActionFateUnlockGoods)
            }
            "PlayerActionType_PlayerActionFateTakeExpReward" => {
                Some(Self::PlayerActionFateTakeExpReward)
            }
            "PlayerActionType_PlayerActionFateAddExp" => {
                Some(Self::PlayerActionFateAddExp)
            }
            "PlayerActionType_PlayerActionFateMasterHpChange" => {
                Some(Self::PlayerActionFateMasterHpChange)
            }
            "PlayerActionType_PlayerActionParkourStartLevel" => {
                Some(Self::PlayerActionParkourStartLevel)
            }
            "PlayerActionType_PlayerActionParkourEndLevel" => {
                Some(Self::PlayerActionParkourEndLevel)
            }
            "PlayerActionType_PlayerActionBasinChestInteractResult" => {
                Some(Self::PlayerActionBasinChestInteractResult)
            }
            "PlayerActionType_PlayerActionRogueMiracleSwap" => {
                Some(Self::PlayerActionRogueMiracleSwap)
            }
            "PlayerActionType_PlayerActionHipplenEndingTakeReward" => {
                Some(Self::PlayerActionHipplenEndingTakeReward)
            }
            "PlayerActionType_PlayerActionHipplenGiftDeliverReward" => {
                Some(Self::PlayerActionHipplenGiftDeliverReward)
            }
            "PlayerActionType_PlayerActionHipplenCycleStart" => {
                Some(Self::PlayerActionHipplenCycleStart)
            }
            "PlayerActionType_PlayerActionHipplenCycleFinish" => {
                Some(Self::PlayerActionHipplenCycleFinish)
            }
            "PlayerActionType_PlayerActionHipplenAgendaPlan" => {
                Some(Self::PlayerActionHipplenAgendaPlan)
            }
            "PlayerActionType_PlayerActionHipplenAgendaSettle" => {
                Some(Self::PlayerActionHipplenAgendaSettle)
            }
            "PlayerActionType_PlayerActionHipplenTrialStart" => {
                Some(Self::PlayerActionHipplenTrialStart)
            }
            "PlayerActionType_PlayerActionHipplenTrialFinish" => {
                Some(Self::PlayerActionHipplenTrialFinish)
            }
            "PlayerActionType_PlayerActionHipplenStatusChange" => {
                Some(Self::PlayerActionHipplenStatusChange)
            }
            "PlayerActionType_PlayerActionHipplenOutfitChange" => {
                Some(Self::PlayerActionHipplenOutfitChange)
            }
            "PlayerActionType_PlayerActionHipplenTraitUnlock" => {
                Some(Self::PlayerActionHipplenTraitUnlock)
            }
            "PlayerActionType_PlayerActionHipplenEndingUnlock" => {
                Some(Self::PlayerActionHipplenEndingUnlock)
            }
            "PlayerActionType_PlayerActionHipplenOutfitUnlock" => {
                Some(Self::PlayerActionHipplenOutfitUnlock)
            }
            "PlayerActionType_PlayerActionHipplenGiftUnlock" => {
                Some(Self::PlayerActionHipplenGiftUnlock)
            }
            "PlayerActionType_PlayerActionHipplenIncidentFinish" => {
                Some(Self::PlayerActionHipplenIncidentFinish)
            }
            "PlayerActionType_PlayerActionChallengePeakStart" => {
                Some(Self::PlayerActionChallengePeakStart)
            }
            "PlayerActionType_PlayerActionChallengePeakReward" => {
                Some(Self::PlayerActionChallengePeakReward)
            }
            "PlayerActionType_PlayerActionChallengePeakMobStart" => {
                Some(Self::PlayerActionChallengePeakMobStart)
            }
            "PlayerActionType_PlayerActionChallengePeakMobSettle" => {
                Some(Self::PlayerActionChallengePeakMobSettle)
            }
            "PlayerActionType_PlayerActionChallengePeakBossStart" => {
                Some(Self::PlayerActionChallengePeakBossStart)
            }
            "PlayerActionType_PlayerActionChallengePeakBossSettle" => {
                Some(Self::PlayerActionChallengePeakBossSettle)
            }
            "PlayerActionType_PlayerActionChallengePeakFastPass" => {
                Some(Self::PlayerActionChallengePeakFastPass)
            }
            "PlayerActionType_PlayerActionChallengePeakRecommendLineup" => {
                Some(Self::PlayerActionChallengePeakRecommendLineup)
            }
            "PlayerActionType_PlayerActionChallengePeakMobBattleEnd" => {
                Some(Self::PlayerActionChallengePeakMobBattleEnd)
            }
            "PlayerActionType_PlayerActionChallengePeakMobRecordClear" => {
                Some(Self::PlayerActionChallengePeakMobRecordClear)
            }
            "PlayerActionType_PlayerActionCakeRaceLoan" => {
                Some(Self::PlayerActionCakeRaceLoan)
            }
            "PlayerActionType_PlayerActionCakeRaceSectionBegin" => {
                Some(Self::PlayerActionCakeRaceSectionBegin)
            }
            "PlayerActionType_PlayerActionCakeRaceSectionEnd" => {
                Some(Self::PlayerActionCakeRaceSectionEnd)
            }
            "PlayerActionType_PlayerActionCakeRaceRoomSectionSettle" => {
                Some(Self::PlayerActionCakeRaceRoomSectionSettle)
            }
            "PlayerActionType_PlayerActionCakeRaceGameSettle" => {
                Some(Self::PlayerActionCakeRaceGameSettle)
            }
            "PlayerActionType_PlayerActionCakeRaceGameBetCat" => {
                Some(Self::PlayerActionCakeRaceGameBetCat)
            }
            "PlayerActionType_PlayerActionCakeRaceGameWinCoin" => {
                Some(Self::PlayerActionCakeRaceGameWinCoin)
            }
            "PlayerActionType_PlayerActionCakeRaceLikeFriendRanking" => {
                Some(Self::PlayerActionCakeRaceLikeFriendRanking)
            }
            "PlayerActionType_PlayerActionElationBattleBegin" => {
                Some(Self::PlayerActionElationBattleBegin)
            }
            "PlayerActionType_PlayerActionElationBattleEnd" => {
                Some(Self::PlayerActionElationBattleEnd)
            }
            "PlayerActionType_PlayerActionActivityHotDataChange" => {
                Some(Self::PlayerActionActivityHotDataChange)
            }
            "PlayerActionType_PlayerActionChimeraDuelGameSettle" => {
                Some(Self::PlayerActionChimeraDuelGameSettle)
            }
            "PlayerActionType_PlayerActionChimeraDuelMasterUnlock" => {
                Some(Self::PlayerActionChimeraDuelMasterUnlock)
            }
            "PlayerActionType_PlayerActionChimeraDuelGameStart" => {
                Some(Self::PlayerActionChimeraDuelGameStart)
            }
            "PlayerActionType_PlayerActionChimeraDuelBattleStart" => {
                Some(Self::PlayerActionChimeraDuelBattleStart)
            }
            "PlayerActionType_PlayerActionChimeraDuelBattleEnd" => {
                Some(Self::PlayerActionChimeraDuelBattleEnd)
            }
            "PlayerActionType_PlayerActionChimeraDuelChimeraBuy" => {
                Some(Self::PlayerActionChimeraDuelChimeraBuy)
            }
            "PlayerActionType_PlayerActionChimeraDuelItemBuy" => {
                Some(Self::PlayerActionChimeraDuelItemBuy)
            }
            "PlayerActionType_PlayerActionChimeraDuelShopRefresh" => {
                Some(Self::PlayerActionChimeraDuelShopRefresh)
            }
            "PlayerActionType_PlayerActionChimeraDuelChimeraEnhance" => {
                Some(Self::PlayerActionChimeraDuelChimeraEnhance)
            }
            "PlayerActionType_PlayerActionChimeraDuelChimeraSell" => {
                Some(Self::PlayerActionChimeraDuelChimeraSell)
            }
            "PlayerActionType_PlayerActionChimeraDuelShopStart" => {
                Some(Self::PlayerActionChimeraDuelShopStart)
            }
            "PlayerActionType_PlayerActionChimeraDuelShopEnd" => {
                Some(Self::PlayerActionChimeraDuelShopEnd)
            }
            "PlayerActionType_PlayerActionChimeraDuelFriendPvpLineupSave" => {
                Some(Self::PlayerActionChimeraDuelFriendPvpLineupSave)
            }
            "PlayerActionType_PlayerActionChimeraDuelDefendLineupSet" => {
                Some(Self::PlayerActionChimeraDuelDefendLineupSet)
            }
            "PlayerActionType_PlayerActionMazePuzzleFinishChenLingGameBoy" => {
                Some(Self::PlayerActionMazePuzzleFinishChenLingGameBoy)
            }
            "PlayerActionType_PlayerActionMazePuzzleFiveDimMoneyChange" => {
                Some(Self::PlayerActionMazePuzzleFiveDimMoneyChange)
            }
            "PlayerActionType_PlayerActionMazePuzzleFinishFiveDimMiniGame" => {
                Some(Self::PlayerActionMazePuzzleFinishFiveDimMiniGame)
            }
            "PlayerActionType_PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode" => {
                Some(Self::PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode)
            }
            "PlayerActionType_PlayerActionMazePuzzleEnterFiveDimGame" => {
                Some(Self::PlayerActionMazePuzzleEnterFiveDimGame)
            }
            "PlayerActionType_PlayerActionMazePuzzleLeaveFiveDimGame" => {
                Some(Self::PlayerActionMazePuzzleLeaveFiveDimGame)
            }
            "PlayerActionType_PlayerActionMazePuzzleFiveDimGameSkillChange" => {
                Some(Self::PlayerActionMazePuzzleFiveDimGameSkillChange)
            }
            "PlayerActionType_PlayerActionGridFightGameStart" => {
                Some(Self::PlayerActionGridFightGameStart)
            }
            "PlayerActionType_PlayerActionGridFightGameEnd" => {
                Some(Self::PlayerActionGridFightGameEnd)
            }
            "PlayerActionType_PlayerActionGridFightRoundStart" => {
                Some(Self::PlayerActionGridFightRoundStart)
            }
            "PlayerActionType_PlayerActionGridFightRoundEnd" => {
                Some(Self::PlayerActionGridFightRoundEnd)
            }
            "PlayerActionType_PlayerActionGridFightBattleStart" => {
                Some(Self::PlayerActionGridFightBattleStart)
            }
            "PlayerActionType_PlayerActionGridFightBattleEnd" => {
                Some(Self::PlayerActionGridFightBattleEnd)
            }
            "PlayerActionType_PlayerActionGridFightBattleRole" => {
                Some(Self::PlayerActionGridFightBattleRole)
            }
            "PlayerActionType_PlayerActionGridFightPortalRefresh" => {
                Some(Self::PlayerActionGridFightPortalRefresh)
            }
            "PlayerActionType_PlayerActionGridFightPortalSelect" => {
                Some(Self::PlayerActionGridFightPortalSelect)
            }
            "PlayerActionType_PlayerActionGridFightAugmentRefresh" => {
                Some(Self::PlayerActionGridFightAugmentRefresh)
            }
            "PlayerActionType_PlayerActionGridFightAugmentSelect" => {
                Some(Self::PlayerActionGridFightAugmentSelect)
            }
            "PlayerActionType_PlayerActionGridFightShopRefresh" => {
                Some(Self::PlayerActionGridFightShopRefresh)
            }
            "PlayerActionType_PlayerActionGridFightShopBuy" => {
                Some(Self::PlayerActionGridFightShopBuy)
            }
            "PlayerActionType_PlayerActionGridFightSupplyRefresh" => {
                Some(Self::PlayerActionGridFightSupplyRefresh)
            }
            "PlayerActionType_PlayerActionGridFightSupplySelect" => {
                Some(Self::PlayerActionGridFightSupplySelect)
            }
            "PlayerActionType_PlayerActionGridFightForgeOpen" => {
                Some(Self::PlayerActionGridFightForgeOpen)
            }
            "PlayerActionType_PlayerActionGridFightSpecialShopBuy" => {
                Some(Self::PlayerActionGridFightSpecialShopBuy)
            }
            "PlayerActionType_PlayerActionGridFightGetExp" => {
                Some(Self::PlayerActionGridFightGetExp)
            }
            "PlayerActionType_PlayerActionGridFightGetOrb" => {
                Some(Self::PlayerActionGridFightGetOrb)
            }
            "PlayerActionType_PlayerActionGridFightUseOrb" => {
                Some(Self::PlayerActionGridFightUseOrb)
            }
            "PlayerActionType_PlayerActionGridFightGetRole" => {
                Some(Self::PlayerActionGridFightGetRole)
            }
            "PlayerActionType_PlayerActionGridFightGetCoin" => {
                Some(Self::PlayerActionGridFightGetCoin)
            }
            "PlayerActionType_PlayerActionGridFightGetFreeRefresh" => {
                Some(Self::PlayerActionGridFightGetFreeRefresh)
            }
            "PlayerActionType_PlayerActionGridFightGetItem" => {
                Some(Self::PlayerActionGridFightGetItem)
            }
            "PlayerActionType_PlayerActionGridFightGetEquip" => {
                Some(Self::PlayerActionGridFightGetEquip)
            }
            "PlayerActionType_PlayerActionGridFightDressEquip" => {
                Some(Self::PlayerActionGridFightDressEquip)
            }
            "PlayerActionType_PlayerActionGridFightGetHp" => {
                Some(Self::PlayerActionGridFightGetHp)
            }
            "PlayerActionType_PlayerActionGridFightWeeklyScoreChange" => {
                Some(Self::PlayerActionGridFightWeeklyScoreChange)
            }
            "PlayerActionType_PlayerActionGridFightGetWeeklyReward" => {
                Some(Self::PlayerActionGridFightGetWeeklyReward)
            }
            "PlayerActionType_PlayerActionGridFightSeasonExpChange" => {
                Some(Self::PlayerActionGridFightSeasonExpChange)
            }
            "PlayerActionType_PlayerActionGridFightTalentEnable" => {
                Some(Self::PlayerActionGridFightTalentEnable)
            }
            "PlayerActionType_PlayerActionGridFightTalentReset" => {
                Some(Self::PlayerActionGridFightTalentReset)
            }
            "PlayerActionType_PlayerActionGridFightTutorialTaskFinish" => {
                Some(Self::PlayerActionGridFightTutorialTaskFinish)
            }
            "PlayerActionType_PlayerActionGridFightEliteBranchRefresh" => {
                Some(Self::PlayerActionGridFightEliteBranchRefresh)
            }
            "PlayerActionType_PlayerActionGridFightTutorialResume" => {
                Some(Self::PlayerActionGridFightTutorialResume)
            }
            "PlayerActionType_PlayerActionGridFightGetProjection" => {
                Some(Self::PlayerActionGridFightGetProjection)
            }
            "PlayerActionType_PlayerActionGridFightGetPresent" => {
                Some(Self::PlayerActionGridFightGetPresent)
            }
            "PlayerActionType_PlayerActionGridFightOpenPresent" => {
                Some(Self::PlayerActionGridFightOpenPresent)
            }
            "PlayerActionType_PlayerActionGridFightSettleSeasonEnd" => {
                Some(Self::PlayerActionGridFightSettleSeasonEnd)
            }
            "PlayerActionType_PlayerActionGridFightFavoriteArchive" => {
                Some(Self::PlayerActionGridFightFavoriteArchive)
            }
            "PlayerActionType_PlayerActionLocalLegendBattleBegin" => {
                Some(Self::PlayerActionLocalLegendBattleBegin)
            }
            "PlayerActionType_PlayerActionLocalLegendBattleEnd" => {
                Some(Self::PlayerActionLocalLegendBattleEnd)
            }
            "PlayerActionType_PlayerActionDiceCombatBuyShopGood" => {
                Some(Self::PlayerActionDiceCombatBuyShopGood)
            }
            "PlayerActionType_PlayerActionDiceCombatUpgradeAvatar" => {
                Some(Self::PlayerActionDiceCombatUpgradeAvatar)
            }
            "PlayerActionType_PlayerActionDiceCombatFinishPveStage" => {
                Some(Self::PlayerActionDiceCombatFinishPveStage)
            }
            "PlayerActionType_PlayerActionDiceCombatBegin" => {
                Some(Self::PlayerActionDiceCombatBegin)
            }
            "PlayerActionType_PlayerActionDiceCombatTurnEnd" => {
                Some(Self::PlayerActionDiceCombatTurnEnd)
            }
            "PlayerActionType_PlayerActionDiceCombatEnd" => {
                Some(Self::PlayerActionDiceCombatEnd)
            }
            "PlayerActionType_PlayerActionDiceCombatScoreChange" => {
                Some(Self::PlayerActionDiceCombatScoreChange)
            }
            "PlayerActionType_PlayerActionDiceCombatChangeColorDice" => {
                Some(Self::PlayerActionDiceCombatChangeColorDice)
            }
            "PlayerActionType_PlayerActionInteractiveTriggerMazeBuffAdd" => {
                Some(Self::PlayerActionInteractiveTriggerMazeBuffAdd)
            }
            "PlayerActionType_PlayerActionNewYearBoatTakeReward" => {
                Some(Self::PlayerActionNewYearBoatTakeReward)
            }
            "PlayerActionType_PlayerActionNewYearBoatSelectBoat" => {
                Some(Self::PlayerActionNewYearBoatSelectBoat)
            }
            "PlayerActionType_PlayerActionNewYearBoatPeriodSettle" => {
                Some(Self::PlayerActionNewYearBoatPeriodSettle)
            }
            "PlayerActionType_PlayerActionJukeboxSetting" => {
                Some(Self::PlayerActionJukeboxSetting)
            }
            "PlayerActionType_PlayerActionJukeboxSettingReset" => {
                Some(Self::PlayerActionJukeboxSettingReset)
            }
            "PlayerActionType_PlayerActionLimaoNewsSubmitIssue" => {
                Some(Self::PlayerActionLimaoNewsSubmitIssue)
            }
            "PlayerActionType_PlayerActionLimaoNewsSubmitPost" => {
                Some(Self::PlayerActionLimaoNewsSubmitPost)
            }
            "PlayerActionType_PlayerActionLimaoNewsOfficeSurveyStateChange" => {
                Some(Self::PlayerActionLimaoNewsOfficeSurveyStateChange)
            }
            "PlayerActionType_PlayerActionLimaoNewsTriggerMessage" => {
                Some(Self::PlayerActionLimaoNewsTriggerMessage)
            }
            "PlayerActionType_PlayerActionLimaoNewsFinishMessage" => {
                Some(Self::PlayerActionLimaoNewsFinishMessage)
            }
            "PlayerActionType_PlayerActionLimaoNewsFinishCondition" => {
                Some(Self::PlayerActionLimaoNewsFinishCondition)
            }
            "PlayerActionType_PlayerActionLimaoNewsUnlockPost" => {
                Some(Self::PlayerActionLimaoNewsUnlockPost)
            }
            "PlayerActionType_PlayerActionLimaoNewsReplyComment" => {
                Some(Self::PlayerActionLimaoNewsReplyComment)
            }
            "PlayerActionType_PlayerActionLimaoNewsBanPost" => {
                Some(Self::PlayerActionLimaoNewsBanPost)
            }
            "PlayerActionType_PlayerActionLimaoNewsTriggerOfficeEvent" => {
                Some(Self::PlayerActionLimaoNewsTriggerOfficeEvent)
            }
            "PlayerActionType_PlayerActionLimaoNewsFinishOfficeEvent" => {
                Some(Self::PlayerActionLimaoNewsFinishOfficeEvent)
            }
            "PlayerActionType_PlayerActionLimaoNewsUpvoteContent" => {
                Some(Self::PlayerActionLimaoNewsUpvoteContent)
            }
            _ => None,
        }
    }
}
/// Obf: JLFMGCKCONL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChatType {
    JlfmgckconlGkjbaodjmjg = 0,
    JlfmgckconlJkndbjkgcpj = 1,
    JlfmgckconlPnejmjlnegn = 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 {
            Self::JlfmgckconlGkjbaodjmjg => "JLFMGCKCONL_GKJBAODJMJG",
            Self::JlfmgckconlJkndbjkgcpj => "JLFMGCKCONL_JKNDBJKGCPJ",
            Self::JlfmgckconlPnejmjlnegn => "JLFMGCKCONL_PNEJMJLNEGN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JLFMGCKCONL_GKJBAODJMJG" => Some(Self::JlfmgckconlGkjbaodjmjg),
            "JLFMGCKCONL_JKNDBJKGCPJ" => Some(Self::JlfmgckconlJkndbjkgcpj),
            "JLFMGCKCONL_PNEJMJLNEGN" => Some(Self::JlfmgckconlPnejmjlnegn),
            _ => None,
        }
    }
}
/// Obf: HFCIHJNOHNB
#[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,
    PlanetFes = 4,
    Acielmolelb = 5,
}
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 {
            Self::None => "MSG_TYPE_NONE",
            Self::CustomText => "MSG_TYPE_CUSTOM_TEXT",
            Self::Emoji => "MSG_TYPE_EMOJI",
            Self::Invite => "MSG_TYPE_INVITE",
            Self::PlanetFes => "MSG_TYPE_PLANET_FES",
            Self::Acielmolelb => "MSG_TYPE_ACIELMOLELB",
        }
    }
    /// 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),
            "MSG_TYPE_PLANET_FES" => Some(Self::PlanetFes),
            "MSG_TYPE_ACIELMOLELB" => Some(Self::Acielmolelb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lakejcnhamh {
    Imjobndgipc = 0,
    Ifhlnhhmmhb = 1,
    Bohdcbibahe = 2,
}
impl Lakejcnhamh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Imjobndgipc => "LAKEJCNHAMH_IMJOBNDGIPC",
            Self::Ifhlnhhmmhb => "LAKEJCNHAMH_IFHLNHHMMHB",
            Self::Bohdcbibahe => "LAKEJCNHAMH_BOHDCBIBAHE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LAKEJCNHAMH_IMJOBNDGIPC" => Some(Self::Imjobndgipc),
            "LAKEJCNHAMH_IFHLNHHMMHB" => Some(Self::Ifhlnhhmmhb),
            "LAKEJCNHAMH_BOHDCBIBAHE" => Some(Self::Bohdcbibahe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgaeemmhfll {
    Gkjbaodjmjg = 0,
    Cknkbbdibdd = 1,
    Fifpldlnijd = 2,
    Lcgkhionkge = 3,
    Jgkgflbkbkd = 4,
}
impl Mgaeemmhfll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "MGAEEMMHFLL_GKJBAODJMJG",
            Self::Cknkbbdibdd => "MGAEEMMHFLL_CKNKBBDIBDD",
            Self::Fifpldlnijd => "MGAEEMMHFLL_FIFPLDLNIJD",
            Self::Lcgkhionkge => "MGAEEMMHFLL_LCGKHIONKGE",
            Self::Jgkgflbkbkd => "MGAEEMMHFLL_JGKGFLBKBKD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MGAEEMMHFLL_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "MGAEEMMHFLL_CKNKBBDIBDD" => Some(Self::Cknkbbdibdd),
            "MGAEEMMHFLL_FIFPLDLNIJD" => Some(Self::Fifpldlnijd),
            "MGAEEMMHFLL_LCGKHIONKGE" => Some(Self::Lcgkhionkge),
            "MGAEEMMHFLL_JGKGFLBKBKD" => Some(Self::Jgkgflbkbkd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdfnbfblffl {
    Gkjbaodjmjg = 0,
    Bonlpdfjheb = 1,
    Nicjfiohlmd = 2,
}
impl Hdfnbfblffl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HDFNBFBLFFL_GKJBAODJMJG",
            Self::Bonlpdfjheb => "HDFNBFBLFFL_BONLPDFJHEB",
            Self::Nicjfiohlmd => "HDFNBFBLFFL_NICJFIOHLMD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDFNBFBLFFL_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HDFNBFBLFFL_BONLPDFJHEB" => Some(Self::Bonlpdfjheb),
            "HDFNBFBLFFL_NICJFIOHLMD" => Some(Self::Nicjfiohlmd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hblcdcaggei {
    Gkjbaodjmjg = 0,
    Agphjfbhdge = 1,
    Ifkbdldngma = 2,
}
impl Hblcdcaggei {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HBLCDCAGGEI_GKJBAODJMJG",
            Self::Agphjfbhdge => "HBLCDCAGGEI_AGPHJFBHDGE",
            Self::Ifkbdldngma => "HBLCDCAGGEI_IFKBDLDNGMA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HBLCDCAGGEI_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HBLCDCAGGEI_AGPHJFBHDGE" => Some(Self::Agphjfbhdge),
            "HBLCDCAGGEI_IFKBDLDNGMA" => Some(Self::Ifkbdldngma),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ceaknjbjiep {
    Gkjbaodjmjg = 0,
    Cpbmgejidoe = 1,
    Ipafibmkkke = 2,
}
impl Ceaknjbjiep {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "CEAKNJBJIEP_GKJBAODJMJG",
            Self::Cpbmgejidoe => "CEAKNJBJIEP_CPBMGEJIDOE",
            Self::Ipafibmkkke => "CEAKNJBJIEP_IPAFIBMKKKE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CEAKNJBJIEP_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "CEAKNJBJIEP_CPBMGEJIDOE" => Some(Self::Cpbmgejidoe),
            "CEAKNJBJIEP_IPAFIBMKKKE" => Some(Self::Ipafibmkkke),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AvatarSlotType {
    AvatarSlot1 = 0,
    AvatarSlot2 = 1,
    AvatarSlot3 = 2,
}
impl AvatarSlotType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AvatarSlot1 => "AVATAR_SLOT_1",
            Self::AvatarSlot2 => "AVATAR_SLOT_2",
            Self::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 ItemType {
    None = 0,
    ItemAvatarCard = 1,
    ItemEquipment = 2,
    ItemMaterial = 3,
    ItemAvatarExp = 4,
    ItemRelic = 5,
}
impl ItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "ITEM_TYPE_NONE",
            Self::ItemAvatarCard => "ITEM_AVATAR_CARD",
            Self::ItemEquipment => "ITEM_EQUIPMENT",
            Self::ItemMaterial => "ITEM_MATERIAL",
            Self::ItemAvatarExp => "ITEM_AVATAR_EXP",
            Self::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::None),
            "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,
        }
    }
}
/// Obf: MBMNAIPPNGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum VirtualItemType {
    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,
    VirtualItemRogueSuperRewardKey = 34,
    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,
    VirtualItemEvolveBuildScCoin = 281027,
    VirtualItemEvolveBuildRewardExp = 281028,
    VirtualItemMatchthreeV2Coin = 281029,
    VirtualItemGridFightCoin = 281031,
    VirtualItemGridFightTalentCoin = 281032,
    VirtualItemGridFightSeasonExp = 281033,
    VirtualItemGridFightGameplayExp = 281034,
    VirtualItemGridFightFreeRefreshTimes = 281035,
    VirtualItemCakeRaceCoin = 281038,
    VirtualItemCakeRaceScore = 281039,
}
impl VirtualItemType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::VirtualItemNone => "VIRTUAL_ITEM_NONE",
            Self::VirtualItemHcoin => "VIRTUAL_ITEM_HCOIN",
            Self::VirtualItemScoin => "VIRTUAL_ITEM_SCOIN",
            Self::VirtualItemMcoin => "VIRTUAL_ITEM_MCOIN",
            Self::VirtualItemStamina => "VIRTUAL_ITEM_STAMINA",
            Self::VirtualItemReserveStamina => "VIRTUAL_ITEM_RESERVE_STAMINA",
            Self::VirtualItemAvatarExp => "VIRTUAL_ITEM_AVATAR_EXP",
            Self::VirtualItemExp => "VIRTUAL_ITEM_EXP",
            Self::VirtualItemDailyActivePoint => "VIRTUAL_ITEM_DAILY_ACTIVE_POINT",
            Self::VirtualItemMpMax => "VIRTUAL_ITEM_MP_MAX",
            Self::VirtualItemPlayerReturnPoint => "VIRTUAL_ITEM_PLAYER_RETURN_POINT",
            Self::VirtualItemBattleCollegePoint => "VIRTUAL_ITEM_BATTLE_COLLEGE_POINT",
            Self::VirtualItemRogueCoin => "VIRTUAL_ITEM_ROGUE_COIN",
            Self::VirtualItemRogueTalentCoin => "VIRTUAL_ITEM_ROGUE_TALENT_COIN",
            Self::VirtualItemRogueRewardKey => "VIRTUAL_ITEM_ROGUE_REWARD_KEY",
            Self::VirtualItemRogueSuperRewardKey => "VIRTUAL_ITEM_ROGUE_SUPER_REWARD_KEY",
            Self::VirtualItemAchievementExp => "VIRTUAL_ITEM_ACHIEVEMENT_EXP",
            Self::VirtualItemBpExp => "VIRTUAL_ITEM_BP_EXP",
            Self::VirtualItemBpRealExp => "VIRTUAL_ITEM_BP_REAL_EXP",
            Self::VirtualItemMuseumFunds => "VIRTUAL_ITEM_MUSEUM_FUNDS",
            Self::VirtualTrainpartyBuildingFunds => "VIRTUAL_TRAINPARTY_BUILDING_FUNDS",
            Self::VirtualTrainpartyAreaUnlockCoin => {
                "VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN"
            }
            Self::VirtualTrainpartyMobility => "VIRTUAL_TRAINPARTY_MOBILITY",
            Self::VirtualItemWarriorExp => "VIRTUAL_ITEM_WARRIOR_EXP",
            Self::VirtualItemRogueExp => "VIRTUAL_ITEM_ROGUE_EXP",
            Self::VirtualItemMageExp => "VIRTUAL_ITEM_MAGE_EXP",
            Self::VirtualItemShamanExp => "VIRTUAL_ITEM_SHAMAN_EXP",
            Self::VirtualItemWarlockExp => "VIRTUAL_ITEM_WARLOCK_EXP",
            Self::VirtualItemKnightExp => "VIRTUAL_ITEM_KNIGHT_EXP",
            Self::VirtualItemPriestExp => "VIRTUAL_ITEM_PRIEST_EXP",
            Self::VirtualItemPunkLordPoint => "VIRTUAL_ITEM_PUNK_LORD_POINT",
            Self::VirtualItemGameplayCounterMonsterSneakVision => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION"
            }
            Self::VirtualItemGameplayCounterWolfBroBullet => {
                "VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET"
            }
            Self::VirtualItemAlleyFunds => "VIRTUAL_ITEM_ALLEY_FUNDS",
            Self::VirtualItemRoguePumanCoupon => "VIRTUAL_ITEM_ROGUE_PUMAN_COUPON",
            Self::VirtualItemMonthCard => "VIRTUAL_ITEM_MONTH_CARD",
            Self::VirtualItemBpNormal => "VIRTUAL_ITEM_BP_NORMAL",
            Self::VirtualItemBpDeluxe => "VIRTUAL_ITEM_BP_DELUXE",
            Self::VirtualItemBpUpgrade => "VIRTUAL_ITEM_BP_UPGRADE",
            Self::VirtualItemHeliobusFans => "VIRTUAL_ITEM_HELIOBUS_FANS",
            Self::VirtualItemSpaceZooHybridItem => "VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM",
            Self::VirtualItemSpaceZooExpPoint => "VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT",
            Self::VirtualItemRogueNousTalentCoin => "VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN",
            Self::VirtualItemEvolveBuildCoin => "VIRTUAL_ITEM_EVOLVE_BUILD_COIN",
            Self::VirtualItemDrinkMakerTip => "VIRTUAL_ITEM_DRINK_MAKER_TIP",
            Self::VirtualItemMonopolyDice => "VIRTUAL_ITEM_MONOPOLY_DICE",
            Self::VirtualItemMonopolyCoin => "VIRTUAL_ITEM_MONOPOLY_COIN",
            Self::VirtualItemMonopolyCheatdice => "VIRTUAL_ITEM_MONOPOLY_CHEATDICE",
            Self::VirtualItemMonopolyReroll => "VIRTUAL_ITEM_MONOPOLY_REROLL",
            Self::VirtualItemRogueTournPermanentTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN"
            }
            Self::VirtualItemRogueTournSeasonTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN"
            }
            Self::VirtualItemRogueTournExp => "VIRTUAL_ITEM_ROGUE_TOURN_EXP",
            Self::VirtualItemMatchthreeCoin => "VIRTUAL_ITEM_MATCHTHREE_COIN",
            Self::VirtualItemSwordTrainingSkillPoint => {
                "VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT"
            }
            Self::VirtualItemFightFestCoin => "VIRTUAL_ITEM_FIGHT_FEST_COIN",
            Self::VirtualItemRogueMagicTalentCoin => {
                "VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN"
            }
            Self::VirtualItemEvolveBuildScCoin => "VIRTUAL_ITEM_EVOLVE_BUILD_SC_COIN",
            Self::VirtualItemEvolveBuildRewardExp => {
                "VIRTUAL_ITEM_EVOLVE_BUILD_REWARD_EXP"
            }
            Self::VirtualItemMatchthreeV2Coin => "VIRTUAL_ITEM_MATCHTHREE_V2_COIN",
            Self::VirtualItemGridFightCoin => "VIRTUAL_ITEM_GRID_FIGHT_COIN",
            Self::VirtualItemGridFightTalentCoin => "VIRTUAL_ITEM_GRID_FIGHT_TALENT_COIN",
            Self::VirtualItemGridFightSeasonExp => "VIRTUAL_ITEM_GRID_FIGHT_SEASON_EXP",
            Self::VirtualItemGridFightGameplayExp => {
                "VIRTUAL_ITEM_GRID_FIGHT_GAMEPLAY_EXP"
            }
            Self::VirtualItemGridFightFreeRefreshTimes => {
                "VIRTUAL_ITEM_GRID_FIGHT_FREE_REFRESH_TIMES"
            }
            Self::VirtualItemCakeRaceCoin => "VIRTUAL_ITEM_CAKE_RACE_COIN",
            Self::VirtualItemCakeRaceScore => "VIRTUAL_ITEM_CAKE_RACE_SCORE",
        }
    }
    /// 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_ROGUE_SUPER_REWARD_KEY" => {
                Some(Self::VirtualItemRogueSuperRewardKey)
            }
            "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)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_SC_COIN" => {
                Some(Self::VirtualItemEvolveBuildScCoin)
            }
            "VIRTUAL_ITEM_EVOLVE_BUILD_REWARD_EXP" => {
                Some(Self::VirtualItemEvolveBuildRewardExp)
            }
            "VIRTUAL_ITEM_MATCHTHREE_V2_COIN" => Some(Self::VirtualItemMatchthreeV2Coin),
            "VIRTUAL_ITEM_GRID_FIGHT_COIN" => Some(Self::VirtualItemGridFightCoin),
            "VIRTUAL_ITEM_GRID_FIGHT_TALENT_COIN" => {
                Some(Self::VirtualItemGridFightTalentCoin)
            }
            "VIRTUAL_ITEM_GRID_FIGHT_SEASON_EXP" => {
                Some(Self::VirtualItemGridFightSeasonExp)
            }
            "VIRTUAL_ITEM_GRID_FIGHT_GAMEPLAY_EXP" => {
                Some(Self::VirtualItemGridFightGameplayExp)
            }
            "VIRTUAL_ITEM_GRID_FIGHT_FREE_REFRESH_TIMES" => {
                Some(Self::VirtualItemGridFightFreeRefreshTimes)
            }
            "VIRTUAL_ITEM_CAKE_RACE_COIN" => Some(Self::VirtualItemCakeRaceCoin),
            "VIRTUAL_ITEM_CAKE_RACE_SCORE" => Some(Self::VirtualItemCakeRaceScore),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GameplayCounterType {
    GameplayCounterNone = 0,
    GameplayCounterMonsterSneakVision = 280001,
}
impl GameplayCounterType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GameplayCounterNone => "GAMEPLAY_COUNTER_NONE",
            Self::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 BlackLimitLevel {
    All = 0,
}
impl BlackLimitLevel {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::All => "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::All),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AreaType {
    AreaNone = 0,
    AreaCn = 1,
    AreaJp = 2,
    AreaAsia = 3,
    AreaWest = 4,
    AreaKr = 5,
    AreaOverseas = 6,
}
impl AreaType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AreaNone => "AREA_NONE",
            Self::AreaCn => "AREA_CN",
            Self::AreaJp => "AREA_JP",
            Self::AreaAsia => "AREA_ASIA",
            Self::AreaWest => "AREA_WEST",
            Self::AreaKr => "AREA_KR",
            Self::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 EntityType {
    EntityNone = 0,
    EntityAvatar = 1,
    EntityMonster = 2,
    EntityNpc = 3,
    EntityProp = 4,
    EntityTrigger = 5,
    EntityEnv = 6,
    EntitySummonUnit = 7,
}
impl EntityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EntityNone => "ENTITY_NONE",
            Self::EntityAvatar => "ENTITY_AVATAR",
            Self::EntityMonster => "ENTITY_MONSTER",
            Self::EntityNpc => "ENTITY_NPC",
            Self::EntityProp => "ENTITY_PROP",
            Self::EntityTrigger => "ENTITY_TRIGGER",
            Self::EntityEnv => "ENTITY_ENV",
            Self::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 LanguageType {
    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 LanguageType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LanguageNone => "LANGUAGE_NONE",
            Self::LanguageSc => "LANGUAGE_SC",
            Self::LanguageTc => "LANGUAGE_TC",
            Self::LanguageEn => "LANGUAGE_EN",
            Self::LanguageKr => "LANGUAGE_KR",
            Self::LanguageJp => "LANGUAGE_JP",
            Self::LanguageFr => "LANGUAGE_FR",
            Self::LanguageDe => "LANGUAGE_DE",
            Self::LanguageEs => "LANGUAGE_ES",
            Self::LanguagePt => "LANGUAGE_PT",
            Self::LanguageRu => "LANGUAGE_RU",
            Self::LanguageTh => "LANGUAGE_TH",
            Self::LanguageVi => "LANGUAGE_VI",
            Self::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,
        }
    }
}
/// Obf: IBENACODPMO
#[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,
    CloudDouyinIos = 27,
    CloudDouyinAndroid = 28,
}
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 {
            Self::Editor => "EDITOR",
            Self::Ios => "IOS",
            Self::Android => "ANDROID",
            Self::Pc => "PC",
            Self::Web => "WEB",
            Self::Wap => "WAP",
            Self::Ps4 => "PS4",
            Self::Nintendo => "NINTENDO",
            Self::CloudAndroid => "CLOUD_ANDROID",
            Self::CloudPc => "CLOUD_PC",
            Self::CloudIos => "CLOUD_IOS",
            Self::Ps5 => "PS5",
            Self::Mac => "MAC",
            Self::CloudMac => "CLOUD_MAC",
            Self::CloudWebAndroid => "CLOUD_WEB_ANDROID",
            Self::CloudWebIos => "CLOUD_WEB_IOS",
            Self::CloudWebPc => "CLOUD_WEB_PC",
            Self::CloudWebMac => "CLOUD_WEB_MAC",
            Self::CloudWebTouch => "CLOUD_WEB_TOUCH",
            Self::CloudWebKeyboard => "CLOUD_WEB_KEYBOARD",
            Self::CloudDouyinIos => "CLOUD_DOUYIN_IOS",
            Self::CloudDouyinAndroid => "CLOUD_DOUYIN_ANDROID",
        }
    }
    /// 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),
            "CLOUD_DOUYIN_IOS" => Some(Self::CloudDouyinIos),
            "CLOUD_DOUYIN_ANDROID" => Some(Self::CloudDouyinAndroid),
            _ => None,
        }
    }
}
/// Obf: MDCMOHCEBFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReloginType {
    NoKick = 0,
    ForceKick = 1,
    IdleKick = 2,
    Silence = 3,
}
impl ReloginType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NoKick => "NO_KICK",
            Self::ForceKick => "FORCE_KICK",
            Self::IdleKick => "IDLE_KICK",
            Self::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,
        }
    }
}
/// Obf: CNPIHPPCBJM
#[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,
    AvatarGridFightType = 7,
    MlmmnodkafmGljdndmigip = 8,
}
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 {
            Self::None => "AVATAR_TYPE_NONE",
            Self::AvatarTrialType => "AVATAR_TRIAL_TYPE",
            Self::AvatarLimitType => "AVATAR_LIMIT_TYPE",
            Self::AvatarFormalType => "AVATAR_FORMAL_TYPE",
            Self::AvatarAssistType => "AVATAR_ASSIST_TYPE",
            Self::AvatarAetherDivideType => "AVATAR_AETHER_DIVIDE_TYPE",
            Self::AvatarUpgradeAvailableType => "AVATAR_UPGRADE_AVAILABLE_TYPE",
            Self::AvatarGridFightType => "AVATAR_GRID_FIGHT_TYPE",
            Self::MlmmnodkafmGljdndmigip => "MLMMNODKAFM_GLJDNDMIGIP",
        }
    }
    /// 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),
            "AVATAR_GRID_FIGHT_TYPE" => Some(Self::AvatarGridFightType),
            "MLMMNODKAFM_GLJDNDMIGIP" => Some(Self::MlmmnodkafmGljdndmigip),
            _ => None,
        }
    }
}
/// Obf: GDDDACBOIEE
#[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 {
            Self::None => "MultiPathAvatarTypeNone",
            Self::Mar7thKnightType => "Mar_7thKnightType",
            Self::Mar7thRogueType => "Mar_7thRogueType",
            Self::BoyWarriorType => "BoyWarriorType",
            Self::GirlWarriorType => "GirlWarriorType",
            Self::BoyKnightType => "BoyKnightType",
            Self::GirlKnightType => "GirlKnightType",
            Self::BoyShamanType => "BoyShamanType",
            Self::GirlShamanType => "GirlShamanType",
            Self::BoyMemoryType => "BoyMemoryType",
            Self::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 Lbicpgpadcd {
    Agndhomgknb = 0,
    Hnpijnkkhaf = 1,
    Fengcbioidh = 32,
}
impl Lbicpgpadcd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Agndhomgknb => "LBICPGPADCD_AGNDHOMGKNB",
            Self::Hnpijnkkhaf => "LBICPGPADCD_HNPIJNKKHAF",
            Self::Fengcbioidh => "LBICPGPADCD_FENGCBIOIDH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBICPGPADCD_AGNDHOMGKNB" => Some(Self::Agndhomgknb),
            "LBICPGPADCD_HNPIJNKKHAF" => Some(Self::Hnpijnkkhaf),
            "LBICPGPADCD_FENGCBIOIDH" => Some(Self::Fengcbioidh),
            _ => None,
        }
    }
}
/// Obf: LNCOBDOLENB
#[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 {
            Self::None => "GenderNone",
            Self::Man => "GenderMan",
            Self::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 Oddcopgmdbe {
    Lhmghbajmpk = 0,
    Bimfppcehok = 1,
    Ngpgikaphbp = 2,
    Kkdhlgfaolh = 3,
    Pgmpocgdnpi = 4,
}
impl Oddcopgmdbe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lhmghbajmpk => "ODDCOPGMDBE_LHMGHBAJMPK",
            Self::Bimfppcehok => "ODDCOPGMDBE_BIMFPPCEHOK",
            Self::Ngpgikaphbp => "ODDCOPGMDBE_NGPGIKAPHBP",
            Self::Kkdhlgfaolh => "ODDCOPGMDBE_KKDHLGFAOLH",
            Self::Pgmpocgdnpi => "ODDCOPGMDBE_PGMPOCGDNPI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ODDCOPGMDBE_LHMGHBAJMPK" => Some(Self::Lhmghbajmpk),
            "ODDCOPGMDBE_BIMFPPCEHOK" => Some(Self::Bimfppcehok),
            "ODDCOPGMDBE_NGPGIKAPHBP" => Some(Self::Ngpgikaphbp),
            "ODDCOPGMDBE_KKDHLGFAOLH" => Some(Self::Kkdhlgfaolh),
            "ODDCOPGMDBE_PGMPOCGDNPI" => Some(Self::Pgmpocgdnpi),
            _ => None,
        }
    }
}
/// Obf: EJEBHIIKAJF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProductGiftType {
    EjebhiikajfFmhkkfimpgo = 0,
    EjebhiikajfMidffgpknid = 1,
    EjebhiikajfFodokjidhnp = 2,
    EjebhiikajfOfnnpfdcpmf = 3,
    EjebhiikajfIdaphofdjjh = 4,
    EjebhiikajfIoggmbhmgkc = 5,
    EjebhiikajfEfkolnmlnkl = 6,
    EjebhiikajfNojkiikmcbn = 7,
    EjebhiikajfJmphcbfdckj = 8,
    EjebhiikajfPgpnoilhopb = 9,
    EjebhiikajfBjibcnbngmp = 10,
    EjebhiikajfPcpkkolkbao = 11,
    EjebhiikajfHiopncoecbb = 12,
    EjebhiikajfOnebfgfnmgo = 13,
    EjebhiikajfNcbdcpniege = 14,
    EjebhiikajfDngknhcfolj = 15,
    EjebhiikajfLdpfcmaebpd = 16,
    EjebhiikajfGiamaapljei = 17,
    EjebhiikajfBokfgeanjmb = 18,
    EjebhiikajfBkbjlfipcem = 19,
    EjebhiikajfHppdolicofi = 20,
    EjebhiikajfMdpcjbihdaj = 21,
    EjebhiikajfCdbannifgpk = 22,
    EjebhiikajfDbiadngnfmd = 23,
}
impl ProductGiftType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EjebhiikajfFmhkkfimpgo => "EJEBHIIKAJF_FMHKKFIMPGO",
            Self::EjebhiikajfMidffgpknid => "EJEBHIIKAJF_MIDFFGPKNID",
            Self::EjebhiikajfFodokjidhnp => "EJEBHIIKAJF_FODOKJIDHNP",
            Self::EjebhiikajfOfnnpfdcpmf => "EJEBHIIKAJF_OFNNPFDCPMF",
            Self::EjebhiikajfIdaphofdjjh => "EJEBHIIKAJF_IDAPHOFDJJH",
            Self::EjebhiikajfIoggmbhmgkc => "EJEBHIIKAJF_IOGGMBHMGKC",
            Self::EjebhiikajfEfkolnmlnkl => "EJEBHIIKAJF_EFKOLNMLNKL",
            Self::EjebhiikajfNojkiikmcbn => "EJEBHIIKAJF_NOJKIIKMCBN",
            Self::EjebhiikajfJmphcbfdckj => "EJEBHIIKAJF_JMPHCBFDCKJ",
            Self::EjebhiikajfPgpnoilhopb => "EJEBHIIKAJF_PGPNOILHOPB",
            Self::EjebhiikajfBjibcnbngmp => "EJEBHIIKAJF_BJIBCNBNGMP",
            Self::EjebhiikajfPcpkkolkbao => "EJEBHIIKAJF_PCPKKOLKBAO",
            Self::EjebhiikajfHiopncoecbb => "EJEBHIIKAJF_HIOPNCOECBB",
            Self::EjebhiikajfOnebfgfnmgo => "EJEBHIIKAJF_ONEBFGFNMGO",
            Self::EjebhiikajfNcbdcpniege => "EJEBHIIKAJF_NCBDCPNIEGE",
            Self::EjebhiikajfDngknhcfolj => "EJEBHIIKAJF_DNGKNHCFOLJ",
            Self::EjebhiikajfLdpfcmaebpd => "EJEBHIIKAJF_LDPFCMAEBPD",
            Self::EjebhiikajfGiamaapljei => "EJEBHIIKAJF_GIAMAAPLJEI",
            Self::EjebhiikajfBokfgeanjmb => "EJEBHIIKAJF_BOKFGEANJMB",
            Self::EjebhiikajfBkbjlfipcem => "EJEBHIIKAJF_BKBJLFIPCEM",
            Self::EjebhiikajfHppdolicofi => "EJEBHIIKAJF_HPPDOLICOFI",
            Self::EjebhiikajfMdpcjbihdaj => "EJEBHIIKAJF_MDPCJBIHDAJ",
            Self::EjebhiikajfCdbannifgpk => "EJEBHIIKAJF_CDBANNIFGPK",
            Self::EjebhiikajfDbiadngnfmd => "EJEBHIIKAJF_DBIADNGNFMD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJEBHIIKAJF_FMHKKFIMPGO" => Some(Self::EjebhiikajfFmhkkfimpgo),
            "EJEBHIIKAJF_MIDFFGPKNID" => Some(Self::EjebhiikajfMidffgpknid),
            "EJEBHIIKAJF_FODOKJIDHNP" => Some(Self::EjebhiikajfFodokjidhnp),
            "EJEBHIIKAJF_OFNNPFDCPMF" => Some(Self::EjebhiikajfOfnnpfdcpmf),
            "EJEBHIIKAJF_IDAPHOFDJJH" => Some(Self::EjebhiikajfIdaphofdjjh),
            "EJEBHIIKAJF_IOGGMBHMGKC" => Some(Self::EjebhiikajfIoggmbhmgkc),
            "EJEBHIIKAJF_EFKOLNMLNKL" => Some(Self::EjebhiikajfEfkolnmlnkl),
            "EJEBHIIKAJF_NOJKIIKMCBN" => Some(Self::EjebhiikajfNojkiikmcbn),
            "EJEBHIIKAJF_JMPHCBFDCKJ" => Some(Self::EjebhiikajfJmphcbfdckj),
            "EJEBHIIKAJF_PGPNOILHOPB" => Some(Self::EjebhiikajfPgpnoilhopb),
            "EJEBHIIKAJF_BJIBCNBNGMP" => Some(Self::EjebhiikajfBjibcnbngmp),
            "EJEBHIIKAJF_PCPKKOLKBAO" => Some(Self::EjebhiikajfPcpkkolkbao),
            "EJEBHIIKAJF_HIOPNCOECBB" => Some(Self::EjebhiikajfHiopncoecbb),
            "EJEBHIIKAJF_ONEBFGFNMGO" => Some(Self::EjebhiikajfOnebfgfnmgo),
            "EJEBHIIKAJF_NCBDCPNIEGE" => Some(Self::EjebhiikajfNcbdcpniege),
            "EJEBHIIKAJF_DNGKNHCFOLJ" => Some(Self::EjebhiikajfDngknhcfolj),
            "EJEBHIIKAJF_LDPFCMAEBPD" => Some(Self::EjebhiikajfLdpfcmaebpd),
            "EJEBHIIKAJF_GIAMAAPLJEI" => Some(Self::EjebhiikajfGiamaapljei),
            "EJEBHIIKAJF_BOKFGEANJMB" => Some(Self::EjebhiikajfBokfgeanjmb),
            "EJEBHIIKAJF_BKBJLFIPCEM" => Some(Self::EjebhiikajfBkbjlfipcem),
            "EJEBHIIKAJF_HPPDOLICOFI" => Some(Self::EjebhiikajfHppdolicofi),
            "EJEBHIIKAJF_MDPCJBIHDAJ" => Some(Self::EjebhiikajfMdpcjbihdaj),
            "EJEBHIIKAJF_CDBANNIFGPK" => Some(Self::EjebhiikajfCdbannifgpk),
            "EJEBHIIKAJF_DBIADNGNFMD" => Some(Self::EjebhiikajfDbiadngnfmd),
            _ => None,
        }
    }
}
/// Obf: LJLMPHMOOME
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeatureSwitchType {
    LjlmphmoomeHfanbfdhigc = 0,
    LjlmphmoomeHihjdbcjggi = 1,
    LjlmphmoomeMacnfjbleea = 2,
    LjlmphmoomeJfmbbnkabie = 3,
    LjlmphmoomeLepeeokidcn = 4,
    LjlmphmoomeHckcmoclfop = 5,
    LjlmphmoomeJpchiconjdc = 6,
    LjlmphmoomePjamcdjbokb = 7,
    LjlmphmoomeCppafnjiofi = 8,
    LjlmphmoomePhdmbkofbel = 9,
    LjlmphmoomeLkkfhidlhph = 10,
    LjlmphmoomeCmigkldogcg = 11,
    LjlmphmoomeHofaiibhibl = 12,
    LjlmphmoomeKngflhdppii = 13,
    LjlmphmoomeKllnlmgoona = 14,
    LjlmphmoomeBhfbcmlkoam = 15,
    LjlmphmoomeOmadhmpicej = 16,
    LjlmphmoomeEmokjppcjjc = 17,
    LjlmphmoomeNhcbfppjelp = 18,
    LjlmphmoomeAlpnejpbfjb = 19,
    LjlmphmoomeClajnecjdnl = 20,
    LjlmphmoomeFanhiaeglng = 21,
    LjlmphmoomeOhfnglokaph = 22,
    LjlmphmoomeLcecjpdkdpb = 23,
    LjlmphmoomeOabmbecomma = 24,
    LjlmphmoomeEkfdehcipah = 25,
    LjlmphmoomePhdpkfegikh = 26,
    LjlmphmoomeOledmppgnmk = 27,
    LjlmphmoomeLdkeamcaijk = 28,
    LjlmphmoomePppakaiogof = 29,
    LjlmphmoomeEncbkefoicn = 30,
    LjlmphmoomeHhiippaiagh = 32,
    LjlmphmoomeNklnfdpknhf = 33,
    LjlmphmoomeJpolgnallgb = 34,
    LjlmphmoomeKhndnbgccfk = 35,
    LjlmphmoomeDihpmdfoeck = 36,
    LjlmphmoomeKkmaihnkdpo = 37,
    LjlmphmoomeHkhboeklpbc = 38,
    LjlmphmoomeEiblekondhp = 39,
    LjlmphmoomePfgbpbgbkbh = 40,
    LjlmphmoomeCbebgfnfelp = 41,
    LjlmphmoomeNeffhljlhaf = 42,
    LjlmphmoomeNcbcnfaomkk = 43,
    LjlmphmoomeLcejlofgomn = 44,
    LjlmphmoomeJebaeoeihcg = 45,
    LjlmphmoomeJlgiefhffoc = 46,
    LjlmphmoomeBnhkiddjlbg = 47,
    LjlmphmoomeFoojdeeapim = 48,
    LjlmphmoomeOdpkhkpocpk = 49,
    LjlmphmoomeOahnnbkekla = 50,
    LjlmphmoomeBjmhchjelgl = 51,
    LjlmphmoomeEmjhpoggiaa = 52,
    LjlmphmoomeHghegihakjp = 53,
    LjlmphmoomeCfnjmbembai = 54,
    LjlmphmoomeIbcabmdhekk = 55,
    LjlmphmoomeNnabjkhkfnb = 56,
    LjlmphmoomeMdpcbhmolbo = 58,
    LjlmphmoomeFhdmmbdmjdk = 59,
    LjlmphmoomePabbjbbfgdn = 60,
    LjlmphmoomeGbifhhnenif = 61,
    LjlmphmoomeAmgedmomiom = 62,
    LjlmphmoomeOgagnaacdbm = 63,
    LjlmphmoomeLpnooecacmp = 64,
    LjlmphmoomeFcbinhanfha = 65,
    LjlmphmoomeGnnfcpaahbc = 66,
    LjlmphmoomeMlebnfnalmd = 67,
    LjlmphmoomeEfoocbjdoef = 68,
    LjlmphmoomeOnhdpjhfolh = 69,
    LjlmphmoomeAppkbboicgm = 70,
    LjlmphmoomeBmhjclkpgjj = 71,
    LjlmphmoomeMpkdlfjajei = 72,
    LjlmphmoomeMidbdohmbpd = 73,
    LjlmphmoomeJeljhddjaac = 74,
    LjlmphmoomeGdfjfpcibkp = 75,
    LjlmphmoomeKcbenokdkbj = 76,
    LjlmphmoomeGgphbjackab = 77,
    LjlmphmoomeFkfboencdhc = 78,
    LjlmphmoomeCjdmopdpile = 79,
    LjlmphmoomeFnhffjldglg = 80,
    LjlmphmoomeKalkaeaoccp = 81,
    LjlmphmoomeIibpdmfhhmj = 82,
    LjlmphmoomeFipaijhkohj = 83,
    LjlmphmoomePofpbblacai = 84,
    LjlmphmoomeBgbkbmhmkcj = 85,
    LjlmphmoomeBnmoplbbdgb = 86,
    LjlmphmoomeLkmeefbdopa = 87,
    LjlmphmoomeGohfdbjhenn = 88,
    LjlmphmoomeEggeiojmodp = 89,
    LjlmphmoomeHpmnghpgkkk = 90,
}
impl FeatureSwitchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LjlmphmoomeHfanbfdhigc => "LJLMPHMOOME_HFANBFDHIGC",
            Self::LjlmphmoomeHihjdbcjggi => "LJLMPHMOOME_HIHJDBCJGGI",
            Self::LjlmphmoomeMacnfjbleea => "LJLMPHMOOME_MACNFJBLEEA",
            Self::LjlmphmoomeJfmbbnkabie => "LJLMPHMOOME_JFMBBNKABIE",
            Self::LjlmphmoomeLepeeokidcn => "LJLMPHMOOME_LEPEEOKIDCN",
            Self::LjlmphmoomeHckcmoclfop => "LJLMPHMOOME_HCKCMOCLFOP",
            Self::LjlmphmoomeJpchiconjdc => "LJLMPHMOOME_JPCHICONJDC",
            Self::LjlmphmoomePjamcdjbokb => "LJLMPHMOOME_PJAMCDJBOKB",
            Self::LjlmphmoomeCppafnjiofi => "LJLMPHMOOME_CPPAFNJIOFI",
            Self::LjlmphmoomePhdmbkofbel => "LJLMPHMOOME_PHDMBKOFBEL",
            Self::LjlmphmoomeLkkfhidlhph => "LJLMPHMOOME_LKKFHIDLHPH",
            Self::LjlmphmoomeCmigkldogcg => "LJLMPHMOOME_CMIGKLDOGCG",
            Self::LjlmphmoomeHofaiibhibl => "LJLMPHMOOME_HOFAIIBHIBL",
            Self::LjlmphmoomeKngflhdppii => "LJLMPHMOOME_KNGFLHDPPII",
            Self::LjlmphmoomeKllnlmgoona => "LJLMPHMOOME_KLLNLMGOONA",
            Self::LjlmphmoomeBhfbcmlkoam => "LJLMPHMOOME_BHFBCMLKOAM",
            Self::LjlmphmoomeOmadhmpicej => "LJLMPHMOOME_OMADHMPICEJ",
            Self::LjlmphmoomeEmokjppcjjc => "LJLMPHMOOME_EMOKJPPCJJC",
            Self::LjlmphmoomeNhcbfppjelp => "LJLMPHMOOME_NHCBFPPJELP",
            Self::LjlmphmoomeAlpnejpbfjb => "LJLMPHMOOME_ALPNEJPBFJB",
            Self::LjlmphmoomeClajnecjdnl => "LJLMPHMOOME_CLAJNECJDNL",
            Self::LjlmphmoomeFanhiaeglng => "LJLMPHMOOME_FANHIAEGLNG",
            Self::LjlmphmoomeOhfnglokaph => "LJLMPHMOOME_OHFNGLOKAPH",
            Self::LjlmphmoomeLcecjpdkdpb => "LJLMPHMOOME_LCECJPDKDPB",
            Self::LjlmphmoomeOabmbecomma => "LJLMPHMOOME_OABMBECOMMA",
            Self::LjlmphmoomeEkfdehcipah => "LJLMPHMOOME_EKFDEHCIPAH",
            Self::LjlmphmoomePhdpkfegikh => "LJLMPHMOOME_PHDPKFEGIKH",
            Self::LjlmphmoomeOledmppgnmk => "LJLMPHMOOME_OLEDMPPGNMK",
            Self::LjlmphmoomeLdkeamcaijk => "LJLMPHMOOME_LDKEAMCAIJK",
            Self::LjlmphmoomePppakaiogof => "LJLMPHMOOME_PPPAKAIOGOF",
            Self::LjlmphmoomeEncbkefoicn => "LJLMPHMOOME_ENCBKEFOICN",
            Self::LjlmphmoomeHhiippaiagh => "LJLMPHMOOME_HHIIPPAIAGH",
            Self::LjlmphmoomeNklnfdpknhf => "LJLMPHMOOME_NKLNFDPKNHF",
            Self::LjlmphmoomeJpolgnallgb => "LJLMPHMOOME_JPOLGNALLGB",
            Self::LjlmphmoomeKhndnbgccfk => "LJLMPHMOOME_KHNDNBGCCFK",
            Self::LjlmphmoomeDihpmdfoeck => "LJLMPHMOOME_DIHPMDFOECK",
            Self::LjlmphmoomeKkmaihnkdpo => "LJLMPHMOOME_KKMAIHNKDPO",
            Self::LjlmphmoomeHkhboeklpbc => "LJLMPHMOOME_HKHBOEKLPBC",
            Self::LjlmphmoomeEiblekondhp => "LJLMPHMOOME_EIBLEKONDHP",
            Self::LjlmphmoomePfgbpbgbkbh => "LJLMPHMOOME_PFGBPBGBKBH",
            Self::LjlmphmoomeCbebgfnfelp => "LJLMPHMOOME_CBEBGFNFELP",
            Self::LjlmphmoomeNeffhljlhaf => "LJLMPHMOOME_NEFFHLJLHAF",
            Self::LjlmphmoomeNcbcnfaomkk => "LJLMPHMOOME_NCBCNFAOMKK",
            Self::LjlmphmoomeLcejlofgomn => "LJLMPHMOOME_LCEJLOFGOMN",
            Self::LjlmphmoomeJebaeoeihcg => "LJLMPHMOOME_JEBAEOEIHCG",
            Self::LjlmphmoomeJlgiefhffoc => "LJLMPHMOOME_JLGIEFHFFOC",
            Self::LjlmphmoomeBnhkiddjlbg => "LJLMPHMOOME_BNHKIDDJLBG",
            Self::LjlmphmoomeFoojdeeapim => "LJLMPHMOOME_FOOJDEEAPIM",
            Self::LjlmphmoomeOdpkhkpocpk => "LJLMPHMOOME_ODPKHKPOCPK",
            Self::LjlmphmoomeOahnnbkekla => "LJLMPHMOOME_OAHNNBKEKLA",
            Self::LjlmphmoomeBjmhchjelgl => "LJLMPHMOOME_BJMHCHJELGL",
            Self::LjlmphmoomeEmjhpoggiaa => "LJLMPHMOOME_EMJHPOGGIAA",
            Self::LjlmphmoomeHghegihakjp => "LJLMPHMOOME_HGHEGIHAKJP",
            Self::LjlmphmoomeCfnjmbembai => "LJLMPHMOOME_CFNJMBEMBAI",
            Self::LjlmphmoomeIbcabmdhekk => "LJLMPHMOOME_IBCABMDHEKK",
            Self::LjlmphmoomeNnabjkhkfnb => "LJLMPHMOOME_NNABJKHKFNB",
            Self::LjlmphmoomeMdpcbhmolbo => "LJLMPHMOOME_MDPCBHMOLBO",
            Self::LjlmphmoomeFhdmmbdmjdk => "LJLMPHMOOME_FHDMMBDMJDK",
            Self::LjlmphmoomePabbjbbfgdn => "LJLMPHMOOME_PABBJBBFGDN",
            Self::LjlmphmoomeGbifhhnenif => "LJLMPHMOOME_GBIFHHNENIF",
            Self::LjlmphmoomeAmgedmomiom => "LJLMPHMOOME_AMGEDMOMIOM",
            Self::LjlmphmoomeOgagnaacdbm => "LJLMPHMOOME_OGAGNAACDBM",
            Self::LjlmphmoomeLpnooecacmp => "LJLMPHMOOME_LPNOOECACMP",
            Self::LjlmphmoomeFcbinhanfha => "LJLMPHMOOME_FCBINHANFHA",
            Self::LjlmphmoomeGnnfcpaahbc => "LJLMPHMOOME_GNNFCPAAHBC",
            Self::LjlmphmoomeMlebnfnalmd => "LJLMPHMOOME_MLEBNFNALMD",
            Self::LjlmphmoomeEfoocbjdoef => "LJLMPHMOOME_EFOOCBJDOEF",
            Self::LjlmphmoomeOnhdpjhfolh => "LJLMPHMOOME_ONHDPJHFOLH",
            Self::LjlmphmoomeAppkbboicgm => "LJLMPHMOOME_APPKBBOICGM",
            Self::LjlmphmoomeBmhjclkpgjj => "LJLMPHMOOME_BMHJCLKPGJJ",
            Self::LjlmphmoomeMpkdlfjajei => "LJLMPHMOOME_MPKDLFJAJEI",
            Self::LjlmphmoomeMidbdohmbpd => "LJLMPHMOOME_MIDBDOHMBPD",
            Self::LjlmphmoomeJeljhddjaac => "LJLMPHMOOME_JELJHDDJAAC",
            Self::LjlmphmoomeGdfjfpcibkp => "LJLMPHMOOME_GDFJFPCIBKP",
            Self::LjlmphmoomeKcbenokdkbj => "LJLMPHMOOME_KCBENOKDKBJ",
            Self::LjlmphmoomeGgphbjackab => "LJLMPHMOOME_GGPHBJACKAB",
            Self::LjlmphmoomeFkfboencdhc => "LJLMPHMOOME_FKFBOENCDHC",
            Self::LjlmphmoomeCjdmopdpile => "LJLMPHMOOME_CJDMOPDPILE",
            Self::LjlmphmoomeFnhffjldglg => "LJLMPHMOOME_FNHFFJLDGLG",
            Self::LjlmphmoomeKalkaeaoccp => "LJLMPHMOOME_KALKAEAOCCP",
            Self::LjlmphmoomeIibpdmfhhmj => "LJLMPHMOOME_IIBPDMFHHMJ",
            Self::LjlmphmoomeFipaijhkohj => "LJLMPHMOOME_FIPAIJHKOHJ",
            Self::LjlmphmoomePofpbblacai => "LJLMPHMOOME_POFPBBLACAI",
            Self::LjlmphmoomeBgbkbmhmkcj => "LJLMPHMOOME_BGBKBMHMKCJ",
            Self::LjlmphmoomeBnmoplbbdgb => "LJLMPHMOOME_BNMOPLBBDGB",
            Self::LjlmphmoomeLkmeefbdopa => "LJLMPHMOOME_LKMEEFBDOPA",
            Self::LjlmphmoomeGohfdbjhenn => "LJLMPHMOOME_GOHFDBJHENN",
            Self::LjlmphmoomeEggeiojmodp => "LJLMPHMOOME_EGGEIOJMODP",
            Self::LjlmphmoomeHpmnghpgkkk => "LJLMPHMOOME_HPMNGHPGKKK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LJLMPHMOOME_HFANBFDHIGC" => Some(Self::LjlmphmoomeHfanbfdhigc),
            "LJLMPHMOOME_HIHJDBCJGGI" => Some(Self::LjlmphmoomeHihjdbcjggi),
            "LJLMPHMOOME_MACNFJBLEEA" => Some(Self::LjlmphmoomeMacnfjbleea),
            "LJLMPHMOOME_JFMBBNKABIE" => Some(Self::LjlmphmoomeJfmbbnkabie),
            "LJLMPHMOOME_LEPEEOKIDCN" => Some(Self::LjlmphmoomeLepeeokidcn),
            "LJLMPHMOOME_HCKCMOCLFOP" => Some(Self::LjlmphmoomeHckcmoclfop),
            "LJLMPHMOOME_JPCHICONJDC" => Some(Self::LjlmphmoomeJpchiconjdc),
            "LJLMPHMOOME_PJAMCDJBOKB" => Some(Self::LjlmphmoomePjamcdjbokb),
            "LJLMPHMOOME_CPPAFNJIOFI" => Some(Self::LjlmphmoomeCppafnjiofi),
            "LJLMPHMOOME_PHDMBKOFBEL" => Some(Self::LjlmphmoomePhdmbkofbel),
            "LJLMPHMOOME_LKKFHIDLHPH" => Some(Self::LjlmphmoomeLkkfhidlhph),
            "LJLMPHMOOME_CMIGKLDOGCG" => Some(Self::LjlmphmoomeCmigkldogcg),
            "LJLMPHMOOME_HOFAIIBHIBL" => Some(Self::LjlmphmoomeHofaiibhibl),
            "LJLMPHMOOME_KNGFLHDPPII" => Some(Self::LjlmphmoomeKngflhdppii),
            "LJLMPHMOOME_KLLNLMGOONA" => Some(Self::LjlmphmoomeKllnlmgoona),
            "LJLMPHMOOME_BHFBCMLKOAM" => Some(Self::LjlmphmoomeBhfbcmlkoam),
            "LJLMPHMOOME_OMADHMPICEJ" => Some(Self::LjlmphmoomeOmadhmpicej),
            "LJLMPHMOOME_EMOKJPPCJJC" => Some(Self::LjlmphmoomeEmokjppcjjc),
            "LJLMPHMOOME_NHCBFPPJELP" => Some(Self::LjlmphmoomeNhcbfppjelp),
            "LJLMPHMOOME_ALPNEJPBFJB" => Some(Self::LjlmphmoomeAlpnejpbfjb),
            "LJLMPHMOOME_CLAJNECJDNL" => Some(Self::LjlmphmoomeClajnecjdnl),
            "LJLMPHMOOME_FANHIAEGLNG" => Some(Self::LjlmphmoomeFanhiaeglng),
            "LJLMPHMOOME_OHFNGLOKAPH" => Some(Self::LjlmphmoomeOhfnglokaph),
            "LJLMPHMOOME_LCECJPDKDPB" => Some(Self::LjlmphmoomeLcecjpdkdpb),
            "LJLMPHMOOME_OABMBECOMMA" => Some(Self::LjlmphmoomeOabmbecomma),
            "LJLMPHMOOME_EKFDEHCIPAH" => Some(Self::LjlmphmoomeEkfdehcipah),
            "LJLMPHMOOME_PHDPKFEGIKH" => Some(Self::LjlmphmoomePhdpkfegikh),
            "LJLMPHMOOME_OLEDMPPGNMK" => Some(Self::LjlmphmoomeOledmppgnmk),
            "LJLMPHMOOME_LDKEAMCAIJK" => Some(Self::LjlmphmoomeLdkeamcaijk),
            "LJLMPHMOOME_PPPAKAIOGOF" => Some(Self::LjlmphmoomePppakaiogof),
            "LJLMPHMOOME_ENCBKEFOICN" => Some(Self::LjlmphmoomeEncbkefoicn),
            "LJLMPHMOOME_HHIIPPAIAGH" => Some(Self::LjlmphmoomeHhiippaiagh),
            "LJLMPHMOOME_NKLNFDPKNHF" => Some(Self::LjlmphmoomeNklnfdpknhf),
            "LJLMPHMOOME_JPOLGNALLGB" => Some(Self::LjlmphmoomeJpolgnallgb),
            "LJLMPHMOOME_KHNDNBGCCFK" => Some(Self::LjlmphmoomeKhndnbgccfk),
            "LJLMPHMOOME_DIHPMDFOECK" => Some(Self::LjlmphmoomeDihpmdfoeck),
            "LJLMPHMOOME_KKMAIHNKDPO" => Some(Self::LjlmphmoomeKkmaihnkdpo),
            "LJLMPHMOOME_HKHBOEKLPBC" => Some(Self::LjlmphmoomeHkhboeklpbc),
            "LJLMPHMOOME_EIBLEKONDHP" => Some(Self::LjlmphmoomeEiblekondhp),
            "LJLMPHMOOME_PFGBPBGBKBH" => Some(Self::LjlmphmoomePfgbpbgbkbh),
            "LJLMPHMOOME_CBEBGFNFELP" => Some(Self::LjlmphmoomeCbebgfnfelp),
            "LJLMPHMOOME_NEFFHLJLHAF" => Some(Self::LjlmphmoomeNeffhljlhaf),
            "LJLMPHMOOME_NCBCNFAOMKK" => Some(Self::LjlmphmoomeNcbcnfaomkk),
            "LJLMPHMOOME_LCEJLOFGOMN" => Some(Self::LjlmphmoomeLcejlofgomn),
            "LJLMPHMOOME_JEBAEOEIHCG" => Some(Self::LjlmphmoomeJebaeoeihcg),
            "LJLMPHMOOME_JLGIEFHFFOC" => Some(Self::LjlmphmoomeJlgiefhffoc),
            "LJLMPHMOOME_BNHKIDDJLBG" => Some(Self::LjlmphmoomeBnhkiddjlbg),
            "LJLMPHMOOME_FOOJDEEAPIM" => Some(Self::LjlmphmoomeFoojdeeapim),
            "LJLMPHMOOME_ODPKHKPOCPK" => Some(Self::LjlmphmoomeOdpkhkpocpk),
            "LJLMPHMOOME_OAHNNBKEKLA" => Some(Self::LjlmphmoomeOahnnbkekla),
            "LJLMPHMOOME_BJMHCHJELGL" => Some(Self::LjlmphmoomeBjmhchjelgl),
            "LJLMPHMOOME_EMJHPOGGIAA" => Some(Self::LjlmphmoomeEmjhpoggiaa),
            "LJLMPHMOOME_HGHEGIHAKJP" => Some(Self::LjlmphmoomeHghegihakjp),
            "LJLMPHMOOME_CFNJMBEMBAI" => Some(Self::LjlmphmoomeCfnjmbembai),
            "LJLMPHMOOME_IBCABMDHEKK" => Some(Self::LjlmphmoomeIbcabmdhekk),
            "LJLMPHMOOME_NNABJKHKFNB" => Some(Self::LjlmphmoomeNnabjkhkfnb),
            "LJLMPHMOOME_MDPCBHMOLBO" => Some(Self::LjlmphmoomeMdpcbhmolbo),
            "LJLMPHMOOME_FHDMMBDMJDK" => Some(Self::LjlmphmoomeFhdmmbdmjdk),
            "LJLMPHMOOME_PABBJBBFGDN" => Some(Self::LjlmphmoomePabbjbbfgdn),
            "LJLMPHMOOME_GBIFHHNENIF" => Some(Self::LjlmphmoomeGbifhhnenif),
            "LJLMPHMOOME_AMGEDMOMIOM" => Some(Self::LjlmphmoomeAmgedmomiom),
            "LJLMPHMOOME_OGAGNAACDBM" => Some(Self::LjlmphmoomeOgagnaacdbm),
            "LJLMPHMOOME_LPNOOECACMP" => Some(Self::LjlmphmoomeLpnooecacmp),
            "LJLMPHMOOME_FCBINHANFHA" => Some(Self::LjlmphmoomeFcbinhanfha),
            "LJLMPHMOOME_GNNFCPAAHBC" => Some(Self::LjlmphmoomeGnnfcpaahbc),
            "LJLMPHMOOME_MLEBNFNALMD" => Some(Self::LjlmphmoomeMlebnfnalmd),
            "LJLMPHMOOME_EFOOCBJDOEF" => Some(Self::LjlmphmoomeEfoocbjdoef),
            "LJLMPHMOOME_ONHDPJHFOLH" => Some(Self::LjlmphmoomeOnhdpjhfolh),
            "LJLMPHMOOME_APPKBBOICGM" => Some(Self::LjlmphmoomeAppkbboicgm),
            "LJLMPHMOOME_BMHJCLKPGJJ" => Some(Self::LjlmphmoomeBmhjclkpgjj),
            "LJLMPHMOOME_MPKDLFJAJEI" => Some(Self::LjlmphmoomeMpkdlfjajei),
            "LJLMPHMOOME_MIDBDOHMBPD" => Some(Self::LjlmphmoomeMidbdohmbpd),
            "LJLMPHMOOME_JELJHDDJAAC" => Some(Self::LjlmphmoomeJeljhddjaac),
            "LJLMPHMOOME_GDFJFPCIBKP" => Some(Self::LjlmphmoomeGdfjfpcibkp),
            "LJLMPHMOOME_KCBENOKDKBJ" => Some(Self::LjlmphmoomeKcbenokdkbj),
            "LJLMPHMOOME_GGPHBJACKAB" => Some(Self::LjlmphmoomeGgphbjackab),
            "LJLMPHMOOME_FKFBOENCDHC" => Some(Self::LjlmphmoomeFkfboencdhc),
            "LJLMPHMOOME_CJDMOPDPILE" => Some(Self::LjlmphmoomeCjdmopdpile),
            "LJLMPHMOOME_FNHFFJLDGLG" => Some(Self::LjlmphmoomeFnhffjldglg),
            "LJLMPHMOOME_KALKAEAOCCP" => Some(Self::LjlmphmoomeKalkaeaoccp),
            "LJLMPHMOOME_IIBPDMFHHMJ" => Some(Self::LjlmphmoomeIibpdmfhhmj),
            "LJLMPHMOOME_FIPAIJHKOHJ" => Some(Self::LjlmphmoomeFipaijhkohj),
            "LJLMPHMOOME_POFPBBLACAI" => Some(Self::LjlmphmoomePofpbblacai),
            "LJLMPHMOOME_BGBKBMHMKCJ" => Some(Self::LjlmphmoomeBgbkbmhmkcj),
            "LJLMPHMOOME_BNMOPLBBDGB" => Some(Self::LjlmphmoomeBnmoplbbdgb),
            "LJLMPHMOOME_LKMEEFBDOPA" => Some(Self::LjlmphmoomeLkmeefbdopa),
            "LJLMPHMOOME_GOHFDBJHENN" => Some(Self::LjlmphmoomeGohfdbjhenn),
            "LJLMPHMOOME_EGGEIOJMODP" => Some(Self::LjlmphmoomeEggeiojmodp),
            "LJLMPHMOOME_HPMNGHPGKKK" => Some(Self::LjlmphmoomeHpmnghpgkkk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecretKeyType {
    Gbjoacbondh = 0,
    Ebkldfahdhl = 1,
    Bcfcdbbfneg = 2,
    Pmengbmlokd = 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 {
            Self::Gbjoacbondh => "SecretKeyType_GBJOACBONDH",
            Self::Ebkldfahdhl => "SecretKeyType_EBKLDFAHDHL",
            Self::Bcfcdbbfneg => "SecretKeyType_BCFCDBBFNEG",
            Self::Pmengbmlokd => "SecretKeyType_PMENGBMLOKD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SecretKeyType_GBJOACBONDH" => Some(Self::Gbjoacbondh),
            "SecretKeyType_EBKLDFAHDHL" => Some(Self::Ebkldfahdhl),
            "SecretKeyType_BCFCDBBFNEG" => Some(Self::Bcfcdbbfneg),
            "SecretKeyType_PMENGBMLOKD" => Some(Self::Pmengbmlokd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ReplayType {
    Gkjbaodjmjg = 0,
    Gpkhdefoopb = 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 {
            Self::Gkjbaodjmjg => "ReplayType_GKJBAODJMJG",
            Self::Gpkhdefoopb => "ReplayType_GPKHDEFOOPB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ReplayType_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "ReplayType_GPKHDEFOOPB" => Some(Self::Gpkhdefoopb),
            _ => None,
        }
    }
}
/// Obf: KIDJIFKAJFP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordShareType {
    KidjifkajfpGkjbaodjmjg = 0,
    KidjifkajfpCcfiobobflo = 1,
    KidjifkajfpLpmcefgohip = 2,
}
impl PunkLordShareType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KidjifkajfpGkjbaodjmjg => "KIDJIFKAJFP_GKJBAODJMJG",
            Self::KidjifkajfpCcfiobobflo => "KIDJIFKAJFP_CCFIOBOBFLO",
            Self::KidjifkajfpLpmcefgohip => "KIDJIFKAJFP_LPMCEFGOHIP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KIDJIFKAJFP_GKJBAODJMJG" => Some(Self::KidjifkajfpGkjbaodjmjg),
            "KIDJIFKAJFP_CCFIOBOBFLO" => Some(Self::KidjifkajfpCcfiobobflo),
            "KIDJIFKAJFP_LPMCEFGOHIP" => Some(Self::KidjifkajfpLpmcefgohip),
            _ => None,
        }
    }
}
/// Obf: IPODJKLOKCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordAttackerStatus {
    IpodjklokcjGkjbaodjmjg = 0,
    IpodjklokcjPnmgbaehdlp = 1,
    IpodjklokcjAcbfeoengcn = 2,
    IpodjklokcjHgfkpahngnm = 3,
}
impl PunkLordAttackerStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IpodjklokcjGkjbaodjmjg => "IPODJKLOKCJ_GKJBAODJMJG",
            Self::IpodjklokcjPnmgbaehdlp => "IPODJKLOKCJ_PNMGBAEHDLP",
            Self::IpodjklokcjAcbfeoengcn => "IPODJKLOKCJ_ACBFEOENGCN",
            Self::IpodjklokcjHgfkpahngnm => "IPODJKLOKCJ_HGFKPAHNGNM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IPODJKLOKCJ_GKJBAODJMJG" => Some(Self::IpodjklokcjGkjbaodjmjg),
            "IPODJKLOKCJ_PNMGBAEHDLP" => Some(Self::IpodjklokcjPnmgbaehdlp),
            "IPODJKLOKCJ_ACBFEOENGCN" => Some(Self::IpodjklokcjAcbfeoengcn),
            "IPODJKLOKCJ_HGFKPAHNGNM" => Some(Self::IpodjklokcjHgfkpahngnm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obpdflmcieo {
    Gkjbaodjmjg = 0,
    Aahhdphfnng = 1,
    Gadonmagmch = 2,
    Mbbpgacpfcn = 3,
}
impl Obpdflmcieo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "OBPDFLMCIEO_GKJBAODJMJG",
            Self::Aahhdphfnng => "OBPDFLMCIEO_AAHHDPHFNNG",
            Self::Gadonmagmch => "OBPDFLMCIEO_GADONMAGMCH",
            Self::Mbbpgacpfcn => "OBPDFLMCIEO_MBBPGACPFCN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OBPDFLMCIEO_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "OBPDFLMCIEO_AAHHDPHFNNG" => Some(Self::Aahhdphfnng),
            "OBPDFLMCIEO_GADONMAGMCH" => Some(Self::Gadonmagmch),
            "OBPDFLMCIEO_MBBPGACPFCN" => Some(Self::Mbbpgacpfcn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ihajjlnlopd {
    Gkjbaodjmjg = 0,
    Bdakjghdlai = 403,
    Hcoldnmmcob = 404,
    Odmlglllfhi = 401,
    Okdnppclgle = 402,
    Imbhlnlojno = 2300,
    Nelemjdgefi = 3100,
    Cpbaonhepdg = 4100,
    Npnohoppcpg = 3700,
}
impl Ihajjlnlopd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IHAJJLNLOPD_GKJBAODJMJG",
            Self::Bdakjghdlai => "IHAJJLNLOPD_BDAKJGHDLAI",
            Self::Hcoldnmmcob => "IHAJJLNLOPD_HCOLDNMMCOB",
            Self::Odmlglllfhi => "IHAJJLNLOPD_ODMLGLLLFHI",
            Self::Okdnppclgle => "IHAJJLNLOPD_OKDNPPCLGLE",
            Self::Imbhlnlojno => "IHAJJLNLOPD_IMBHLNLOJNO",
            Self::Nelemjdgefi => "IHAJJLNLOPD_NELEMJDGEFI",
            Self::Cpbaonhepdg => "IHAJJLNLOPD_CPBAONHEPDG",
            Self::Npnohoppcpg => "IHAJJLNLOPD_NPNOHOPPCPG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IHAJJLNLOPD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IHAJJLNLOPD_BDAKJGHDLAI" => Some(Self::Bdakjghdlai),
            "IHAJJLNLOPD_HCOLDNMMCOB" => Some(Self::Hcoldnmmcob),
            "IHAJJLNLOPD_ODMLGLLLFHI" => Some(Self::Odmlglllfhi),
            "IHAJJLNLOPD_OKDNPPCLGLE" => Some(Self::Okdnppclgle),
            "IHAJJLNLOPD_IMBHLNLOJNO" => Some(Self::Imbhlnlojno),
            "IHAJJLNLOPD_NELEMJDGEFI" => Some(Self::Nelemjdgefi),
            "IHAJJLNLOPD_CPBAONHEPDG" => Some(Self::Cpbaonhepdg),
            "IHAJJLNLOPD_NPNOHOPPCPG" => Some(Self::Npnohoppcpg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mlikabelcbf {
    Mcbkkbmembe = 0,
    Ppjgkjecffh = 1,
    Ndfelpoanie = 2,
}
impl Mlikabelcbf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mcbkkbmembe => "MLIKABELCBF_MCBKKBMEMBE",
            Self::Ppjgkjecffh => "MLIKABELCBF_PPJGKJECFFH",
            Self::Ndfelpoanie => "MLIKABELCBF_NDFELPOANIE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MLIKABELCBF_MCBKKBMEMBE" => Some(Self::Mcbkkbmembe),
            "MLIKABELCBF_PPJGKJECFFH" => Some(Self::Ppjgkjecffh),
            "MLIKABELCBF_NDFELPOANIE" => Some(Self::Ndfelpoanie),
            _ => None,
        }
    }
}
/// Obf: LHJMKMEIKLK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DevelopmentType {
    LhjmkmeiklkPmfjffapajo = 0,
    LhjmkmeiklkOglnogiknci = 1,
    LhjmkmeiklkOhlmfhpeagj = 2,
    LhjmkmeiklkCkhmlokakoh = 3,
    LhjmkmeiklkDbfjdbiefdb = 4,
    LhjmkmeiklkMnkocfkkmbe = 5,
    LhjmkmeiklkCooihblilbb = 6,
    LhjmkmeiklkDfjcoioache = 7,
    LhjmkmeiklkOanphkgagoa = 8,
    LhjmkmeiklkGhjonnnkdoh = 9,
    LhjmkmeiklkGmopdopmgfn = 10,
    LhjmkmeiklkPcdcmpfnmjh = 11,
    LhjmkmeiklkKbokednfkhh = 12,
    LhjmkmeiklkNbbojikjnhd = 13,
    LhjmkmeiklkAogdffkokmc = 14,
    LhjmkmeiklkHbdolkcaild = 15,
    LhjmkmeiklkElmaopckajb = 16,
    LhjmkmeiklkAijffnpampf = 17,
    LhjmkmeiklkPklpabnipnm = 18,
}
impl DevelopmentType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LhjmkmeiklkPmfjffapajo => "LHJMKMEIKLK_PMFJFFAPAJO",
            Self::LhjmkmeiklkOglnogiknci => "LHJMKMEIKLK_OGLNOGIKNCI",
            Self::LhjmkmeiklkOhlmfhpeagj => "LHJMKMEIKLK_OHLMFHPEAGJ",
            Self::LhjmkmeiklkCkhmlokakoh => "LHJMKMEIKLK_CKHMLOKAKOH",
            Self::LhjmkmeiklkDbfjdbiefdb => "LHJMKMEIKLK_DBFJDBIEFDB",
            Self::LhjmkmeiklkMnkocfkkmbe => "LHJMKMEIKLK_MNKOCFKKMBE",
            Self::LhjmkmeiklkCooihblilbb => "LHJMKMEIKLK_COOIHBLILBB",
            Self::LhjmkmeiklkDfjcoioache => "LHJMKMEIKLK_DFJCOIOACHE",
            Self::LhjmkmeiklkOanphkgagoa => "LHJMKMEIKLK_OANPHKGAGOA",
            Self::LhjmkmeiklkGhjonnnkdoh => "LHJMKMEIKLK_GHJONNNKDOH",
            Self::LhjmkmeiklkGmopdopmgfn => "LHJMKMEIKLK_GMOPDOPMGFN",
            Self::LhjmkmeiklkPcdcmpfnmjh => "LHJMKMEIKLK_PCDCMPFNMJH",
            Self::LhjmkmeiklkKbokednfkhh => "LHJMKMEIKLK_KBOKEDNFKHH",
            Self::LhjmkmeiklkNbbojikjnhd => "LHJMKMEIKLK_NBBOJIKJNHD",
            Self::LhjmkmeiklkAogdffkokmc => "LHJMKMEIKLK_AOGDFFKOKMC",
            Self::LhjmkmeiklkHbdolkcaild => "LHJMKMEIKLK_HBDOLKCAILD",
            Self::LhjmkmeiklkElmaopckajb => "LHJMKMEIKLK_ELMAOPCKAJB",
            Self::LhjmkmeiklkAijffnpampf => "LHJMKMEIKLK_AIJFFNPAMPF",
            Self::LhjmkmeiklkPklpabnipnm => "LHJMKMEIKLK_PKLPABNIPNM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHJMKMEIKLK_PMFJFFAPAJO" => Some(Self::LhjmkmeiklkPmfjffapajo),
            "LHJMKMEIKLK_OGLNOGIKNCI" => Some(Self::LhjmkmeiklkOglnogiknci),
            "LHJMKMEIKLK_OHLMFHPEAGJ" => Some(Self::LhjmkmeiklkOhlmfhpeagj),
            "LHJMKMEIKLK_CKHMLOKAKOH" => Some(Self::LhjmkmeiklkCkhmlokakoh),
            "LHJMKMEIKLK_DBFJDBIEFDB" => Some(Self::LhjmkmeiklkDbfjdbiefdb),
            "LHJMKMEIKLK_MNKOCFKKMBE" => Some(Self::LhjmkmeiklkMnkocfkkmbe),
            "LHJMKMEIKLK_COOIHBLILBB" => Some(Self::LhjmkmeiklkCooihblilbb),
            "LHJMKMEIKLK_DFJCOIOACHE" => Some(Self::LhjmkmeiklkDfjcoioache),
            "LHJMKMEIKLK_OANPHKGAGOA" => Some(Self::LhjmkmeiklkOanphkgagoa),
            "LHJMKMEIKLK_GHJONNNKDOH" => Some(Self::LhjmkmeiklkGhjonnnkdoh),
            "LHJMKMEIKLK_GMOPDOPMGFN" => Some(Self::LhjmkmeiklkGmopdopmgfn),
            "LHJMKMEIKLK_PCDCMPFNMJH" => Some(Self::LhjmkmeiklkPcdcmpfnmjh),
            "LHJMKMEIKLK_KBOKEDNFKHH" => Some(Self::LhjmkmeiklkKbokednfkhh),
            "LHJMKMEIKLK_NBBOJIKJNHD" => Some(Self::LhjmkmeiklkNbbojikjnhd),
            "LHJMKMEIKLK_AOGDFFKOKMC" => Some(Self::LhjmkmeiklkAogdffkokmc),
            "LHJMKMEIKLK_HBDOLKCAILD" => Some(Self::LhjmkmeiklkHbdolkcaild),
            "LHJMKMEIKLK_ELMAOPCKAJB" => Some(Self::LhjmkmeiklkElmaopckajb),
            "LHJMKMEIKLK_AIJFFNPAMPF" => Some(Self::LhjmkmeiklkAijffnpampf),
            "LHJMKMEIKLK_PKLPABNIPNM" => Some(Self::LhjmkmeiklkPklpabnipnm),
            _ => None,
        }
    }
}
/// Obf: DNPJOCHLKPC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayingState {
    DnpjochlkpcGkjbaodjmjg = 0,
    DnpjochlkpcLpicmlfippm = 1,
    DnpjochlkpcBdknfdhecgn = 2,
    DnpjochlkpcHkpiffipbdi = 3,
    DnpjochlkpcCcjbcehnonb = 4,
    DnpjochlkpcJkpcihopnpe = 5,
    DnpjochlkpcClahjoaocjf = 6,
    DnpjochlkpcNcmoigcjmee = 7,
    DnpjochlkpcPhgjfamciok = 8,
    DnpjochlkpcCgmamcgjdmm = 9,
    DnpjochlkpcGlplackkcam = 10,
}
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 {
            Self::DnpjochlkpcGkjbaodjmjg => "DNPJOCHLKPC_GKJBAODJMJG",
            Self::DnpjochlkpcLpicmlfippm => "DNPJOCHLKPC_LPICMLFIPPM",
            Self::DnpjochlkpcBdknfdhecgn => "DNPJOCHLKPC_BDKNFDHECGN",
            Self::DnpjochlkpcHkpiffipbdi => "DNPJOCHLKPC_HKPIFFIPBDI",
            Self::DnpjochlkpcCcjbcehnonb => "DNPJOCHLKPC_CCJBCEHNONB",
            Self::DnpjochlkpcJkpcihopnpe => "DNPJOCHLKPC_JKPCIHOPNPE",
            Self::DnpjochlkpcClahjoaocjf => "DNPJOCHLKPC_CLAHJOAOCJF",
            Self::DnpjochlkpcNcmoigcjmee => "DNPJOCHLKPC_NCMOIGCJMEE",
            Self::DnpjochlkpcPhgjfamciok => "DNPJOCHLKPC_PHGJFAMCIOK",
            Self::DnpjochlkpcCgmamcgjdmm => "DNPJOCHLKPC_CGMAMCGJDMM",
            Self::DnpjochlkpcGlplackkcam => "DNPJOCHLKPC_GLPLACKKCAM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DNPJOCHLKPC_GKJBAODJMJG" => Some(Self::DnpjochlkpcGkjbaodjmjg),
            "DNPJOCHLKPC_LPICMLFIPPM" => Some(Self::DnpjochlkpcLpicmlfippm),
            "DNPJOCHLKPC_BDKNFDHECGN" => Some(Self::DnpjochlkpcBdknfdhecgn),
            "DNPJOCHLKPC_HKPIFFIPBDI" => Some(Self::DnpjochlkpcHkpiffipbdi),
            "DNPJOCHLKPC_CCJBCEHNONB" => Some(Self::DnpjochlkpcCcjbcehnonb),
            "DNPJOCHLKPC_JKPCIHOPNPE" => Some(Self::DnpjochlkpcJkpcihopnpe),
            "DNPJOCHLKPC_CLAHJOAOCJF" => Some(Self::DnpjochlkpcClahjoaocjf),
            "DNPJOCHLKPC_NCMOIGCJMEE" => Some(Self::DnpjochlkpcNcmoigcjmee),
            "DNPJOCHLKPC_PHGJFAMCIOK" => Some(Self::DnpjochlkpcPhgjfamciok),
            "DNPJOCHLKPC_CGMAMCGJDMM" => Some(Self::DnpjochlkpcCgmamcgjdmm),
            "DNPJOCHLKPC_GLPLACKKCAM" => Some(Self::DnpjochlkpcGlplackkcam),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jhpnmkjmohf {
    Hlpbmolbdni = 0,
    Blppfpgcpjn = 1,
    Hkmphmaompd = 2,
    Fgfpdajcdha = 3,
}
impl Jhpnmkjmohf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hlpbmolbdni => "JHPNMKJMOHF_HLPBMOLBDNI",
            Self::Blppfpgcpjn => "JHPNMKJMOHF_BLPPFPGCPJN",
            Self::Hkmphmaompd => "JHPNMKJMOHF_HKMPHMAOMPD",
            Self::Fgfpdajcdha => "JHPNMKJMOHF_FGFPDAJCDHA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHPNMKJMOHF_HLPBMOLBDNI" => Some(Self::Hlpbmolbdni),
            "JHPNMKJMOHF_BLPPFPGCPJN" => Some(Self::Blppfpgcpjn),
            "JHPNMKJMOHF_HKMPHMAOMPD" => Some(Self::Hkmphmaompd),
            "JHPNMKJMOHF_FGFPDAJCDHA" => Some(Self::Fgfpdajcdha),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ocpcaihikfa {
    Gkjbaodjmjg = 0,
    Pcofpekekmd = 1,
    Ijojhgdcbfl = 2,
    Doecgokijhb = 3,
    Bjnchimnhga = 4,
    Kdncabekmam = 5,
}
impl Ocpcaihikfa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "OCPCAIHIKFA_GKJBAODJMJG",
            Self::Pcofpekekmd => "OCPCAIHIKFA_PCOFPEKEKMD",
            Self::Ijojhgdcbfl => "OCPCAIHIKFA_IJOJHGDCBFL",
            Self::Doecgokijhb => "OCPCAIHIKFA_DOECGOKIJHB",
            Self::Bjnchimnhga => "OCPCAIHIKFA_BJNCHIMNHGA",
            Self::Kdncabekmam => "OCPCAIHIKFA_KDNCABEKMAM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OCPCAIHIKFA_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "OCPCAIHIKFA_PCOFPEKEKMD" => Some(Self::Pcofpekekmd),
            "OCPCAIHIKFA_IJOJHGDCBFL" => Some(Self::Ijojhgdcbfl),
            "OCPCAIHIKFA_DOECGOKIJHB" => Some(Self::Doecgokijhb),
            "OCPCAIHIKFA_BJNCHIMNHGA" => Some(Self::Bjnchimnhga),
            "OCPCAIHIKFA_KDNCABEKMAM" => Some(Self::Kdncabekmam),
            _ => None,
        }
    }
}
/// Obf: MMCCKAPFDEI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesCardPieceApplyPermissionType {
    MmcckapfdeiNikagbfakeh = 0,
    MmcckapfdeiOdnnfighmcl = 1,
    MmcckapfdeiHhcdaeolcej = 2,
}
impl PlanetFesCardPieceApplyPermissionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MmcckapfdeiNikagbfakeh => "MMCCKAPFDEI_NIKAGBFAKEH",
            Self::MmcckapfdeiOdnnfighmcl => "MMCCKAPFDEI_ODNNFIGHMCL",
            Self::MmcckapfdeiHhcdaeolcej => "MMCCKAPFDEI_HHCDAEOLCEJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MMCCKAPFDEI_NIKAGBFAKEH" => Some(Self::MmcckapfdeiNikagbfakeh),
            "MMCCKAPFDEI_ODNNFIGHMCL" => Some(Self::MmcckapfdeiOdnnfighmcl),
            "MMCCKAPFDEI_HHCDAEOLCEJ" => Some(Self::MmcckapfdeiHhcdaeolcej),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lamdcccdgno {
    Fhfgiemdaka = 0,
    Dgkinnbfdng = 1,
    Pbnffgbfjbl = 2,
    Plabcabidah = 3,
    Ipmimcdiomi = 4,
}
impl Lamdcccdgno {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fhfgiemdaka => "LAMDCCCDGNO_FHFGIEMDAKA",
            Self::Dgkinnbfdng => "LAMDCCCDGNO_DGKINNBFDNG",
            Self::Pbnffgbfjbl => "LAMDCCCDGNO_PBNFFGBFJBL",
            Self::Plabcabidah => "LAMDCCCDGNO_PLABCABIDAH",
            Self::Ipmimcdiomi => "LAMDCCCDGNO_IPMIMCDIOMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LAMDCCCDGNO_FHFGIEMDAKA" => Some(Self::Fhfgiemdaka),
            "LAMDCCCDGNO_DGKINNBFDNG" => Some(Self::Dgkinnbfdng),
            "LAMDCCCDGNO_PBNFFGBFJBL" => Some(Self::Pbnffgbfjbl),
            "LAMDCCCDGNO_PLABCABIDAH" => Some(Self::Plabcabidah),
            "LAMDCCCDGNO_IPMIMCDIOMI" => Some(Self::Ipmimcdiomi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iajcmgiofim {
    Hmjafjkooda = 0,
    Edlhkelcboa = 1,
    Dmadbhkigfc = 2,
}
impl Iajcmgiofim {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hmjafjkooda => "IAJCMGIOFIM_HMJAFJKOODA",
            Self::Edlhkelcboa => "IAJCMGIOFIM_EDLHKELCBOA",
            Self::Dmadbhkigfc => "IAJCMGIOFIM_DMADBHKIGFC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IAJCMGIOFIM_HMJAFJKOODA" => Some(Self::Hmjafjkooda),
            "IAJCMGIOFIM_EDLHKELCBOA" => Some(Self::Edlhkelcboa),
            "IAJCMGIOFIM_DMADBHKIGFC" => Some(Self::Dmadbhkigfc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ggkmljlbifh {
    Gkjbaodjmjg = 0,
    Lhhajgjglpc = 1,
    Gomfkhlfkhc = 2,
    Fhjmpnmonmc = 3,
    Jepdinobcmn = 4,
    Onmpdpelhed = 5,
    Cgnjghipocd = 6,
    Level = 7,
    Codlmdgoabm = 8,
    Ojobdkploaf = 9,
}
impl Ggkmljlbifh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "GGKMLJLBIFH_GKJBAODJMJG",
            Self::Lhhajgjglpc => "GGKMLJLBIFH_LHHAJGJGLPC",
            Self::Gomfkhlfkhc => "GGKMLJLBIFH_GOMFKHLFKHC",
            Self::Fhjmpnmonmc => "GGKMLJLBIFH_FHJMPNMONMC",
            Self::Jepdinobcmn => "GGKMLJLBIFH_JEPDINOBCMN",
            Self::Onmpdpelhed => "GGKMLJLBIFH_ONMPDPELHED",
            Self::Cgnjghipocd => "GGKMLJLBIFH_CGNJGHIPOCD",
            Self::Level => "GGKMLJLBIFH_level",
            Self::Codlmdgoabm => "GGKMLJLBIFH_CODLMDGOABM",
            Self::Ojobdkploaf => "GGKMLJLBIFH_OJOBDKPLOAF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GGKMLJLBIFH_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "GGKMLJLBIFH_LHHAJGJGLPC" => Some(Self::Lhhajgjglpc),
            "GGKMLJLBIFH_GOMFKHLFKHC" => Some(Self::Gomfkhlfkhc),
            "GGKMLJLBIFH_FHJMPNMONMC" => Some(Self::Fhjmpnmonmc),
            "GGKMLJLBIFH_JEPDINOBCMN" => Some(Self::Jepdinobcmn),
            "GGKMLJLBIFH_ONMPDPELHED" => Some(Self::Onmpdpelhed),
            "GGKMLJLBIFH_CGNJGHIPOCD" => Some(Self::Cgnjghipocd),
            "GGKMLJLBIFH_level" => Some(Self::Level),
            "GGKMLJLBIFH_CODLMDGOABM" => Some(Self::Codlmdgoabm),
            "GGKMLJLBIFH_OJOBDKPLOAF" => Some(Self::Ojobdkploaf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fepbiofbnhg {
    Gkjbaodjmjg = 0,
    Bmfbibbfoea = 1,
    Iiionioagma = 2,
    Ijjeinpehdc = 3,
}
impl Fepbiofbnhg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FEPBIOFBNHG_GKJBAODJMJG",
            Self::Bmfbibbfoea => "FEPBIOFBNHG_BMFBIBBFOEA",
            Self::Iiionioagma => "FEPBIOFBNHG_IIIONIOAGMA",
            Self::Ijjeinpehdc => "FEPBIOFBNHG_IJJEINPEHDC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEPBIOFBNHG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FEPBIOFBNHG_BMFBIBBFOEA" => Some(Self::Bmfbibbfoea),
            "FEPBIOFBNHG_IIIONIOAGMA" => Some(Self::Iiionioagma),
            "FEPBIOFBNHG_IJJEINPEHDC" => Some(Self::Ijjeinpehdc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ajljolejlac {
    Gkjbaodjmjg = 0,
    Jbnckfnjdkp = 1,
    Pgndcnlfohl = 2,
    Fhcniphkgel = 3,
    Ppcodlahcon = 4,
}
impl Ajljolejlac {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "AJLJOLEJLAC_GKJBAODJMJG",
            Self::Jbnckfnjdkp => "AJLJOLEJLAC_JBNCKFNJDKP",
            Self::Pgndcnlfohl => "AJLJOLEJLAC_PGNDCNLFOHL",
            Self::Fhcniphkgel => "AJLJOLEJLAC_FHCNIPHKGEL",
            Self::Ppcodlahcon => "AJLJOLEJLAC_PPCODLAHCON",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AJLJOLEJLAC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "AJLJOLEJLAC_JBNCKFNJDKP" => Some(Self::Jbnckfnjdkp),
            "AJLJOLEJLAC_PGNDCNLFOHL" => Some(Self::Pgndcnlfohl),
            "AJLJOLEJLAC_FHCNIPHKGEL" => Some(Self::Fhcniphkgel),
            "AJLJOLEJLAC_PPCODLAHCON" => Some(Self::Ppcodlahcon),
            _ => None,
        }
    }
}
/// Obf: FEGNMAEGDHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightDropType {
    FegnmaegdhgGkjbaodjmjg = 0,
    FegnmaegdhgHnghahbgakp = 1,
    FegnmaegdhgExp = 2,
    FegnmaegdhgBpjoacpfkjm = 3,
    FegnmaegdhgOkbjdjgcfpe = 4,
    FegnmaegdhgGjiblkgmgmd = 5,
    FegnmaegdhgBcbkkldondj = 6,
    FegnmaegdhgKedfiabfgkc = 7,
}
impl GridFightDropType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FegnmaegdhgGkjbaodjmjg => "FEGNMAEGDHG_GKJBAODJMJG",
            Self::FegnmaegdhgHnghahbgakp => "FEGNMAEGDHG_HNGHAHBGAKP",
            Self::FegnmaegdhgExp => "FEGNMAEGDHG_exp",
            Self::FegnmaegdhgBpjoacpfkjm => "FEGNMAEGDHG_BPJOACPFKJM",
            Self::FegnmaegdhgOkbjdjgcfpe => "FEGNMAEGDHG_OKBJDJGCFPE",
            Self::FegnmaegdhgGjiblkgmgmd => "FEGNMAEGDHG_GJIBLKGMGMD",
            Self::FegnmaegdhgBcbkkldondj => "FEGNMAEGDHG_BCBKKLDONDJ",
            Self::FegnmaegdhgKedfiabfgkc => "FEGNMAEGDHG_KEDFIABFGKC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEGNMAEGDHG_GKJBAODJMJG" => Some(Self::FegnmaegdhgGkjbaodjmjg),
            "FEGNMAEGDHG_HNGHAHBGAKP" => Some(Self::FegnmaegdhgHnghahbgakp),
            "FEGNMAEGDHG_exp" => Some(Self::FegnmaegdhgExp),
            "FEGNMAEGDHG_BPJOACPFKJM" => Some(Self::FegnmaegdhgBpjoacpfkjm),
            "FEGNMAEGDHG_OKBJDJGCFPE" => Some(Self::FegnmaegdhgOkbjdjgcfpe),
            "FEGNMAEGDHG_GJIBLKGMGMD" => Some(Self::FegnmaegdhgGjiblkgmgmd),
            "FEGNMAEGDHG_BCBKKLDONDJ" => Some(Self::FegnmaegdhgBcbkkldondj),
            "FEGNMAEGDHG_KEDFIABFGKC" => Some(Self::FegnmaegdhgKedfiabfgkc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckStrategyType {
    Dbjnegijfco = 0,
    Kgckgnefclm = 1,
    Gcalfgpoocl = 2,
    Ghpnkdhnohf = 3,
}
impl BattleCheckStrategyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dbjnegijfco => "BattleCheckStrategyType_DBJNEGIJFCO",
            Self::Kgckgnefclm => "BattleCheckStrategyType_KGCKGNEFCLM",
            Self::Gcalfgpoocl => "BattleCheckStrategyType_GCALFGPOOCL",
            Self::Ghpnkdhnohf => "BattleCheckStrategyType_GHPNKDHNOHF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BattleCheckStrategyType_DBJNEGIJFCO" => Some(Self::Dbjnegijfco),
            "BattleCheckStrategyType_KGCKGNEFCLM" => Some(Self::Kgckgnefclm),
            "BattleCheckStrategyType_GCALFGPOOCL" => Some(Self::Gcalfgpoocl),
            "BattleCheckStrategyType_GHPNKDHNOHF" => Some(Self::Ghpnkdhnohf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleCheckResultType {
    Nemallphdcc = 0,
    Onflekknkbk = 1,
    Mhmnobljoji = 2,
}
impl BattleCheckResultType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nemallphdcc => "BattleCheckResultType_NEMALLPHDCC",
            Self::Onflekknkbk => "BattleCheckResultType_ONFLEKKNKBK",
            Self::Mhmnobljoji => "BattleCheckResultType_MHMNOBLJOJI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BattleCheckResultType_NEMALLPHDCC" => Some(Self::Nemallphdcc),
            "BattleCheckResultType_ONFLEKKNKBK" => Some(Self::Onflekknkbk),
            "BattleCheckResultType_MHMNOBLJOJI" => Some(Self::Mhmnobljoji),
            _ => None,
        }
    }
}
/// Obf: KIKBMLPHKGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleModuleType {
    KikbmlphkgcIoajjlihoed = 0,
    KikbmlphkgcNingncfogcb = 1,
    KikbmlphkgcHibecghlgka = 2,
    KikbmlphkgcNifgmammggk = 3,
    KikbmlphkgcFophgelkibh = 4,
    KikbmlphkgcGalhgmokbjg = 5,
    KikbmlphkgcFidlfdmfokf = 6,
}
impl BattleModuleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KikbmlphkgcIoajjlihoed => "KIKBMLPHKGC_IOAJJLIHOED",
            Self::KikbmlphkgcNingncfogcb => "KIKBMLPHKGC_NINGNCFOGCB",
            Self::KikbmlphkgcHibecghlgka => "KIKBMLPHKGC_HIBECGHLGKA",
            Self::KikbmlphkgcNifgmammggk => "KIKBMLPHKGC_NIFGMAMMGGK",
            Self::KikbmlphkgcFophgelkibh => "KIKBMLPHKGC_FOPHGELKIBH",
            Self::KikbmlphkgcGalhgmokbjg => "KIKBMLPHKGC_GALHGMOKBJG",
            Self::KikbmlphkgcFidlfdmfokf => "KIKBMLPHKGC_FIDLFDMFOKF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KIKBMLPHKGC_IOAJJLIHOED" => Some(Self::KikbmlphkgcIoajjlihoed),
            "KIKBMLPHKGC_NINGNCFOGCB" => Some(Self::KikbmlphkgcNingncfogcb),
            "KIKBMLPHKGC_HIBECGHLGKA" => Some(Self::KikbmlphkgcHibecghlgka),
            "KIKBMLPHKGC_NIFGMAMMGGK" => Some(Self::KikbmlphkgcNifgmammggk),
            "KIKBMLPHKGC_FOPHGELKIBH" => Some(Self::KikbmlphkgcFophgelkibh),
            "KIKBMLPHKGC_GALHGMOKBJG" => Some(Self::KikbmlphkgcGalhgmokbjg),
            "KIKBMLPHKGC_FIDLFDMFOKF" => Some(Self::KikbmlphkgcFidlfdmfokf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AetherdivideSpiritLineupType {
    Lcakagmocpm = 0,
    Mojikilbepm = 1,
    Hnnekacachn = 2,
}
impl AetherdivideSpiritLineupType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lcakagmocpm => "AetherdivideSpiritLineupType_LCAKAGMOCPM",
            Self::Mojikilbepm => "AetherdivideSpiritLineupType_MOJIKILBEPM",
            Self::Hnnekacachn => "AetherdivideSpiritLineupType_HNNEKACACHN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AetherdivideSpiritLineupType_LCAKAGMOCPM" => Some(Self::Lcakagmocpm),
            "AetherdivideSpiritLineupType_MOJIKILBEPM" => Some(Self::Mojikilbepm),
            "AetherdivideSpiritLineupType_HNNEKACACHN" => Some(Self::Hnnekacachn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Elhloidglpc {
    Gkjbaodjmjg = 0,
    ScoreId = 1,
    Kfeeibhbipe = 2,
    Jhmaheecpoj = 3,
    Kkkdbalgcjc = 4,
    Bnicfgnnkpg = 5,
    Pnieeejimgf = 6,
}
impl Elhloidglpc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "ELHLOIDGLPC_GKJBAODJMJG",
            Self::ScoreId => "ELHLOIDGLPC_score_id",
            Self::Kfeeibhbipe => "ELHLOIDGLPC_KFEEIBHBIPE",
            Self::Jhmaheecpoj => "ELHLOIDGLPC_JHMAHEECPOJ",
            Self::Kkkdbalgcjc => "ELHLOIDGLPC_KKKDBALGCJC",
            Self::Bnicfgnnkpg => "ELHLOIDGLPC_BNICFGNNKPG",
            Self::Pnieeejimgf => "ELHLOIDGLPC_PNIEEEJIMGF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ELHLOIDGLPC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "ELHLOIDGLPC_score_id" => Some(Self::ScoreId),
            "ELHLOIDGLPC_KFEEIBHBIPE" => Some(Self::Kfeeibhbipe),
            "ELHLOIDGLPC_JHMAHEECPOJ" => Some(Self::Jhmaheecpoj),
            "ELHLOIDGLPC_KKKDBALGCJC" => Some(Self::Kkkdbalgcjc),
            "ELHLOIDGLPC_BNICFGNNKPG" => Some(Self::Bnicfgnnkpg),
            "ELHLOIDGLPC_PNIEEEJIMGF" => Some(Self::Pnieeejimgf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kdhdaocapia {
    Ffcaieadoig = 0,
    Bieaoonfhkh = 1,
    Kdjbgmgpfjg = 2,
    Bdhbleackho = 3,
}
impl Kdhdaocapia {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ffcaieadoig => "KDHDAOCAPIA_FFCAIEADOIG",
            Self::Bieaoonfhkh => "KDHDAOCAPIA_BIEAOONFHKH",
            Self::Kdjbgmgpfjg => "KDHDAOCAPIA_KDJBGMGPFJG",
            Self::Bdhbleackho => "KDHDAOCAPIA_BDHBLEACKHO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KDHDAOCAPIA_FFCAIEADOIG" => Some(Self::Ffcaieadoig),
            "KDHDAOCAPIA_BIEAOONFHKH" => Some(Self::Bieaoonfhkh),
            "KDHDAOCAPIA_KDJBGMGPFJG" => Some(Self::Kdjbgmgpfjg),
            "KDHDAOCAPIA_BDHBLEACKHO" => Some(Self::Bdhbleackho),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Djlemokikbc {
    Eijhfaoknjp = 0,
    Epnkkmflhnf = 1,
}
impl Djlemokikbc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Eijhfaoknjp => "DJLEMOKIKBC_EIJHFAOKNJP",
            Self::Epnkkmflhnf => "DJLEMOKIKBC_EPNKKMFLHNF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DJLEMOKIKBC_EIJHFAOKNJP" => Some(Self::Eijhfaoknjp),
            "DJLEMOKIKBC_EPNKKMFLHNF" => Some(Self::Epnkkmflhnf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfagpflckgb {
    Emlkplgkdic = 0,
    Mbhnlajaagp = 1,
}
impl Cfagpflckgb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Emlkplgkdic => "CFAGPFLCKGB_EMLKPLGKDIC",
            Self::Mbhnlajaagp => "CFAGPFLCKGB_MBHNLAJAAGP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CFAGPFLCKGB_EMLKPLGKDIC" => Some(Self::Emlkplgkdic),
            "CFAGPFLCKGB_MBHNLAJAAGP" => Some(Self::Mbhnlajaagp),
            _ => None,
        }
    }
}
/// Obf: EAOADBIBLBN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleEndReason {
    None = 0,
    AllDie = 1,
    TurnLimit = 2,
}
impl BattleEndReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "BATTLE_END_REASON_NONE",
            Self::AllDie => "BATTLE_END_REASON_ALL_DIE",
            Self::TurnLimit => "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::None),
            "BATTLE_END_REASON_ALL_DIE" => Some(Self::AllDie),
            "BATTLE_END_REASON_TURN_LIMIT" => Some(Self::TurnLimit),
            _ => None,
        }
    }
}
/// Obf: PIHPPKLPECA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleStaticticEventType {
    BattleStaticticEventNone = 0,
    BattleStaticticEventTreasureDungeonAddExplore = 1,
    BattleStaticticEventTreasureDungeonOpenGrid = 2,
    BattleStaticticEventTreasureDungeonPickupItem = 3,
    BattleStaticticEventTreasureDungeonUseBuff = 4,
    BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer = 5,
    BattleStaticticEventRogueTournTitanExtraCoin = 6,
    BattleStaticticEventRogueTournTitanExtraCoinTimes = 7,
}
impl BattleStaticticEventType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleStaticticEventNone => "BATTLE_STATICTIC_EVENT_NONE",
            Self::BattleStaticticEventTreasureDungeonAddExplore => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE"
            }
            Self::BattleStaticticEventTreasureDungeonOpenGrid => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID"
            }
            Self::BattleStaticticEventTreasureDungeonPickupItem => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM"
            }
            Self::BattleStaticticEventTreasureDungeonUseBuff => {
                "BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF"
            }
            Self::BattleStaticticEventTelevisionActivityUpdateMazeBuffLayer => {
                "BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER"
            }
            Self::BattleStaticticEventRogueTournTitanExtraCoin => {
                "BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN"
            }
            Self::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 Ccjokmajhon {
    Ibgnmookbko = 0,
    Lfnnnombdjm = 1,
    Bbjgaldkpdm = 2,
    Ilmnkhjlaoa = 3,
    Ohhaibmoajm = 4,
}
impl Ccjokmajhon {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ibgnmookbko => "CCJOKMAJHON_IBGNMOOKBKO",
            Self::Lfnnnombdjm => "CCJOKMAJHON_LFNNNOMBDJM",
            Self::Bbjgaldkpdm => "CCJOKMAJHON_BBJGALDKPDM",
            Self::Ilmnkhjlaoa => "CCJOKMAJHON_ILMNKHJLAOA",
            Self::Ohhaibmoajm => "CCJOKMAJHON_OHHAIBMOAJM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CCJOKMAJHON_IBGNMOOKBKO" => Some(Self::Ibgnmookbko),
            "CCJOKMAJHON_LFNNNOMBDJM" => Some(Self::Lfnnnombdjm),
            "CCJOKMAJHON_BBJGALDKPDM" => Some(Self::Bbjgaldkpdm),
            "CCJOKMAJHON_ILMNKHJLAOA" => Some(Self::Ilmnkhjlaoa),
            "CCJOKMAJHON_OHHAIBMOAJM" => Some(Self::Ohhaibmoajm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pkmokdanmbb {
    Pajgdhbefpi = 0,
    Daabkjmfmgc = 1,
    Fejophjiiia = 2,
}
impl Pkmokdanmbb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pajgdhbefpi => "PKMOKDANMBB_PAJGDHBEFPI",
            Self::Daabkjmfmgc => "PKMOKDANMBB_DAABKJMFMGC",
            Self::Fejophjiiia => "PKMOKDANMBB_FEJOPHJIIIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PKMOKDANMBB_PAJGDHBEFPI" => Some(Self::Pajgdhbefpi),
            "PKMOKDANMBB_DAABKJMFMGC" => Some(Self::Daabkjmfmgc),
            "PKMOKDANMBB_FEJOPHJIIIA" => Some(Self::Fejophjiiia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cnjclhjekge {
    Mipojledaje = 0,
    Mplcnhjofhb = 1,
    Jidjgamcngj = 2,
    Pajahfnelnj = 3,
    Jocilojpkfd = 4,
}
impl Cnjclhjekge {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mipojledaje => "CNJCLHJEKGE_MIPOJLEDAJE",
            Self::Mplcnhjofhb => "CNJCLHJEKGE_MPLCNHJOFHB",
            Self::Jidjgamcngj => "CNJCLHJEKGE_JIDJGAMCNGJ",
            Self::Pajahfnelnj => "CNJCLHJEKGE_PAJAHFNELNJ",
            Self::Jocilojpkfd => "CNJCLHJEKGE_JOCILOJPKFD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CNJCLHJEKGE_MIPOJLEDAJE" => Some(Self::Mipojledaje),
            "CNJCLHJEKGE_MPLCNHJOFHB" => Some(Self::Mplcnhjofhb),
            "CNJCLHJEKGE_JIDJGAMCNGJ" => Some(Self::Jidjgamcngj),
            "CNJCLHJEKGE_PAJAHFNELNJ" => Some(Self::Pajahfnelnj),
            "CNJCLHJEKGE_JOCILOJPKFD" => Some(Self::Jocilojpkfd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Abahmjiecoh {
    Klamkoiedgc = 0,
    Epakagcaekm = 1,
    Lengdoejnco = 2,
}
impl Abahmjiecoh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Klamkoiedgc => "ABAHMJIECOH_KLAMKOIEDGC",
            Self::Epakagcaekm => "ABAHMJIECOH_EPAKAGCAEKM",
            Self::Lengdoejnco => "ABAHMJIECOH_LENGDOEJNCO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABAHMJIECOH_KLAMKOIEDGC" => Some(Self::Klamkoiedgc),
            "ABAHMJIECOH_EPAKAGCAEKM" => Some(Self::Epakagcaekm),
            "ABAHMJIECOH_LENGDOEJNCO" => Some(Self::Lengdoejnco),
            _ => None,
        }
    }
}
/// Obf: PNBNLCPCAEK
#[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 {
            Self::BattleEndNone => "BATTLE_END_NONE",
            Self::BattleEndWin => "BATTLE_END_WIN",
            Self::BattleEndLose => "BATTLE_END_LOSE",
            Self::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 Moghnjidlbb {
    Dcfmieebmek = 0,
    Kecdidbpdcp = 1,
    Jajcfdkbhlc = 2,
}
impl Moghnjidlbb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dcfmieebmek => "MOGHNJIDLBB_DCFMIEEBMEK",
            Self::Kecdidbpdcp => "MOGHNJIDLBB_KECDIDBPDCP",
            Self::Jajcfdkbhlc => "MOGHNJIDLBB_JAJCFDKBHLC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MOGHNJIDLBB_DCFMIEEBMEK" => Some(Self::Dcfmieebmek),
            "MOGHNJIDLBB_KECDIDBPDCP" => Some(Self::Kecdidbpdcp),
            "MOGHNJIDLBB_JAJCFDKBHLC" => Some(Self::Jajcfdkbhlc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bljdhpmkadc {
    Gkjbaodjmjg = 0,
    Ncnneldocll = 1,
    RevcMessageData = 2,
    Oijnlbaaamn = 3,
    Ocdmojjnfif = 4,
    Kjcfnbcdedc = 5,
}
impl Bljdhpmkadc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "BLJDHPMKADC_GKJBAODJMJG",
            Self::Ncnneldocll => "BLJDHPMKADC_NCNNELDOCLL",
            Self::RevcMessageData => "BLJDHPMKADC_RevcMessageData",
            Self::Oijnlbaaamn => "BLJDHPMKADC_OIJNLBAAAMN",
            Self::Ocdmojjnfif => "BLJDHPMKADC_OCDMOJJNFIF",
            Self::Kjcfnbcdedc => "BLJDHPMKADC_KJCFNBCDEDC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BLJDHPMKADC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "BLJDHPMKADC_NCNNELDOCLL" => Some(Self::Ncnneldocll),
            "BLJDHPMKADC_RevcMessageData" => Some(Self::RevcMessageData),
            "BLJDHPMKADC_OIJNLBAAAMN" => Some(Self::Oijnlbaaamn),
            "BLJDHPMKADC_OCDMOJJNFIF" => Some(Self::Ocdmojjnfif),
            "BLJDHPMKADC_KJCFNBCDEDC" => Some(Self::Kjcfnbcdedc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fllgonopjlo {
    Gkjbaodjmjg = 0,
    Jfaanilicfa = 1,
    Hjihbfaamhk = 2,
}
impl Fllgonopjlo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FLLGONOPJLO_GKJBAODJMJG",
            Self::Jfaanilicfa => "FLLGONOPJLO_JFAANILICFA",
            Self::Hjihbfaamhk => "FLLGONOPJLO_HJIHBFAAMHK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FLLGONOPJLO_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FLLGONOPJLO_JFAANILICFA" => Some(Self::Jfaanilicfa),
            "FLLGONOPJLO_HJIHBFAAMHK" => Some(Self::Hjihbfaamhk),
            _ => None,
        }
    }
}
/// Obf: JILGMANNGNL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightGameMode {
    JilgmanngnlGkjbaodjmjg = 0,
    JilgmanngnlNebnpglhmjn = 1,
    JilgmanngnlIhiffjabnoa = 2,
    JilgmanngnlJiplgllpmka = 3,
    JilgmanngnlPjhapokippi = 4,
    JilgmanngnlLbpkpfdilbc = 5,
    JilgmanngnlOdliopedkgh = 6,
    JilgmanngnlCbamjjnpnkh = 7,
}
impl FightGameMode {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JilgmanngnlGkjbaodjmjg => "JILGMANNGNL_GKJBAODJMJG",
            Self::JilgmanngnlNebnpglhmjn => "JILGMANNGNL_NEBNPGLHMJN",
            Self::JilgmanngnlIhiffjabnoa => "JILGMANNGNL_IHIFFJABNOA",
            Self::JilgmanngnlJiplgllpmka => "JILGMANNGNL_JIPLGLLPMKA",
            Self::JilgmanngnlPjhapokippi => "JILGMANNGNL_PJHAPOKIPPI",
            Self::JilgmanngnlLbpkpfdilbc => "JILGMANNGNL_LBPKPFDILBC",
            Self::JilgmanngnlOdliopedkgh => "JILGMANNGNL_ODLIOPEDKGH",
            Self::JilgmanngnlCbamjjnpnkh => "JILGMANNGNL_CBAMJJNPNKH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JILGMANNGNL_GKJBAODJMJG" => Some(Self::JilgmanngnlGkjbaodjmjg),
            "JILGMANNGNL_NEBNPGLHMJN" => Some(Self::JilgmanngnlNebnpglhmjn),
            "JILGMANNGNL_IHIFFJABNOA" => Some(Self::JilgmanngnlIhiffjabnoa),
            "JILGMANNGNL_JIPLGLLPMKA" => Some(Self::JilgmanngnlJiplgllpmka),
            "JILGMANNGNL_PJHAPOKIPPI" => Some(Self::JilgmanngnlPjhapokippi),
            "JILGMANNGNL_LBPKPFDILBC" => Some(Self::JilgmanngnlLbpkpfdilbc),
            "JILGMANNGNL_ODLIOPEDKGH" => Some(Self::JilgmanngnlOdliopedkgh),
            "JILGMANNGNL_CBAMJJNPNKH" => Some(Self::JilgmanngnlCbamjjnpnkh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ahnofnbcabg {
    Odlocdbmmnc = 0,
    Lhenjliicgp = 1,
    Jnmjffiidge = 2,
    Jpgjfckkkpp = 3,
    Kckblggocah = 4,
}
impl Ahnofnbcabg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Odlocdbmmnc => "AHNOFNBCABG_ODLOCDBMMNC",
            Self::Lhenjliicgp => "AHNOFNBCABG_LHENJLIICGP",
            Self::Jnmjffiidge => "AHNOFNBCABG_JNMJFFIIDGE",
            Self::Jpgjfckkkpp => "AHNOFNBCABG_JPGJFCKKKPP",
            Self::Kckblggocah => "AHNOFNBCABG_KCKBLGGOCAH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AHNOFNBCABG_ODLOCDBMMNC" => Some(Self::Odlocdbmmnc),
            "AHNOFNBCABG_LHENJLIICGP" => Some(Self::Lhenjliicgp),
            "AHNOFNBCABG_JNMJFFIIDGE" => Some(Self::Jnmjffiidge),
            "AHNOFNBCABG_JPGJFCKKKPP" => Some(Self::Jpgjfckkkpp),
            "AHNOFNBCABG_KCKBLGGOCAH" => Some(Self::Kckblggocah),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyCharacterType {
    Gmhdcnjbfad = 0,
    Hchnlhhemee = 1,
    Hfhhhkhljcg = 2,
    Kbmpnmloboc = 3,
}
impl LobbyCharacterType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gmhdcnjbfad => "LobbyCharacterType_GMHDCNJBFAD",
            Self::Hchnlhhemee => "LobbyCharacterType_HCHNLHHEMEE",
            Self::Hfhhhkhljcg => "LobbyCharacterType_HFHHHKHLJCG",
            Self::Kbmpnmloboc => "LobbyCharacterType_KBMPNMLOBOC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LobbyCharacterType_GMHDCNJBFAD" => Some(Self::Gmhdcnjbfad),
            "LobbyCharacterType_HCHNLHHEMEE" => Some(Self::Hchnlhhemee),
            "LobbyCharacterType_HFHHHKHLJCG" => Some(Self::Hfhhhkhljcg),
            "LobbyCharacterType_KBMPNMLOBOC" => Some(Self::Kbmpnmloboc),
            _ => None,
        }
    }
}
/// Obf: FFDENDHDPCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyCharacterStatus {
    FfdendhdpcaGkjbaodjmjg = 0,
    FfdendhdpcaPcofpekekmd = 1,
    FfdendhdpcaIjojhgdcbfl = 2,
    FfdendhdpcaDoecgokijhb = 3,
    FfdendhdpcaBjnchimnhga = 4,
    FfdendhdpcaKdncabekmam = 5,
    FfdendhdpcaFejembemjbm = 6,
    FfdendhdpcaDkmlkbenokf = 7,
}
impl LobbyCharacterStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FfdendhdpcaGkjbaodjmjg => "FFDENDHDPCA_GKJBAODJMJG",
            Self::FfdendhdpcaPcofpekekmd => "FFDENDHDPCA_PCOFPEKEKMD",
            Self::FfdendhdpcaIjojhgdcbfl => "FFDENDHDPCA_IJOJHGDCBFL",
            Self::FfdendhdpcaDoecgokijhb => "FFDENDHDPCA_DOECGOKIJHB",
            Self::FfdendhdpcaBjnchimnhga => "FFDENDHDPCA_BJNCHIMNHGA",
            Self::FfdendhdpcaKdncabekmam => "FFDENDHDPCA_KDNCABEKMAM",
            Self::FfdendhdpcaFejembemjbm => "FFDENDHDPCA_FEJEMBEMJBM",
            Self::FfdendhdpcaDkmlkbenokf => "FFDENDHDPCA_DKMLKBENOKF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FFDENDHDPCA_GKJBAODJMJG" => Some(Self::FfdendhdpcaGkjbaodjmjg),
            "FFDENDHDPCA_PCOFPEKEKMD" => Some(Self::FfdendhdpcaPcofpekekmd),
            "FFDENDHDPCA_IJOJHGDCBFL" => Some(Self::FfdendhdpcaIjojhgdcbfl),
            "FFDENDHDPCA_DOECGOKIJHB" => Some(Self::FfdendhdpcaDoecgokijhb),
            "FFDENDHDPCA_BJNCHIMNHGA" => Some(Self::FfdendhdpcaBjnchimnhga),
            "FFDENDHDPCA_KDNCABEKMAM" => Some(Self::FfdendhdpcaKdncabekmam),
            "FFDENDHDPCA_FEJEMBEMJBM" => Some(Self::FfdendhdpcaFejembemjbm),
            "FFDENDHDPCA_DKMLKBENOKF" => Some(Self::FfdendhdpcaDkmlkbenokf),
            _ => None,
        }
    }
}
/// Obf: GPEFEDEGBJF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyModifyType {
    GpefedegbjfGkjbaodjmjg = 0,
    GpefedegbjfPcofpekekmd = 1,
    GpefedegbjfDoecgokijhb = 2,
    GpefedegbjfIjojhgdcbfl = 3,
    GpefedegbjfLknojeddalk = 4,
    GpefedegbjfFolkgdbmjjj = 5,
    GpefedegbjfMaldkieffim = 6,
    GpefedegbjfHnbngedakei = 7,
    GpefedegbjfHhcejpbondn = 8,
    GpefedegbjfDcjjfllehak = 9,
    GpefedegbjfFpklaajkjpi = 10,
    GpefedegbjfMhhlnfflhjf = 11,
    GpefedegbjfJcdpkbfbhjm = 12,
    GpefedegbjfDiogppeiahp = 13,
    GpefedegbjfIbhkgljjmfj = 14,
    GpefedegbjfCefogjafakn = 15,
    GpefedegbjfDkmlkbenokf = 16,
    GpefedegbjfGjncobedlhc = 17,
    GpefedegbjfLcnppcknkfo = 18,
}
impl LobbyModifyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GpefedegbjfGkjbaodjmjg => "GPEFEDEGBJF_GKJBAODJMJG",
            Self::GpefedegbjfPcofpekekmd => "GPEFEDEGBJF_PCOFPEKEKMD",
            Self::GpefedegbjfDoecgokijhb => "GPEFEDEGBJF_DOECGOKIJHB",
            Self::GpefedegbjfIjojhgdcbfl => "GPEFEDEGBJF_IJOJHGDCBFL",
            Self::GpefedegbjfLknojeddalk => "GPEFEDEGBJF_LKNOJEDDALK",
            Self::GpefedegbjfFolkgdbmjjj => "GPEFEDEGBJF_FOLKGDBMJJJ",
            Self::GpefedegbjfMaldkieffim => "GPEFEDEGBJF_MALDKIEFFIM",
            Self::GpefedegbjfHnbngedakei => "GPEFEDEGBJF_HNBNGEDAKEI",
            Self::GpefedegbjfHhcejpbondn => "GPEFEDEGBJF_HHCEJPBONDN",
            Self::GpefedegbjfDcjjfllehak => "GPEFEDEGBJF_DCJJFLLEHAK",
            Self::GpefedegbjfFpklaajkjpi => "GPEFEDEGBJF_FPKLAAJKJPI",
            Self::GpefedegbjfMhhlnfflhjf => "GPEFEDEGBJF_MHHLNFFLHJF",
            Self::GpefedegbjfJcdpkbfbhjm => "GPEFEDEGBJF_JCDPKBFBHJM",
            Self::GpefedegbjfDiogppeiahp => "GPEFEDEGBJF_DIOGPPEIAHP",
            Self::GpefedegbjfIbhkgljjmfj => "GPEFEDEGBJF_IBHKGLJJMFJ",
            Self::GpefedegbjfCefogjafakn => "GPEFEDEGBJF_CEFOGJAFAKN",
            Self::GpefedegbjfDkmlkbenokf => "GPEFEDEGBJF_DKMLKBENOKF",
            Self::GpefedegbjfGjncobedlhc => "GPEFEDEGBJF_GJNCOBEDLHC",
            Self::GpefedegbjfLcnppcknkfo => "GPEFEDEGBJF_LCNPPCKNKFO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GPEFEDEGBJF_GKJBAODJMJG" => Some(Self::GpefedegbjfGkjbaodjmjg),
            "GPEFEDEGBJF_PCOFPEKEKMD" => Some(Self::GpefedegbjfPcofpekekmd),
            "GPEFEDEGBJF_DOECGOKIJHB" => Some(Self::GpefedegbjfDoecgokijhb),
            "GPEFEDEGBJF_IJOJHGDCBFL" => Some(Self::GpefedegbjfIjojhgdcbfl),
            "GPEFEDEGBJF_LKNOJEDDALK" => Some(Self::GpefedegbjfLknojeddalk),
            "GPEFEDEGBJF_FOLKGDBMJJJ" => Some(Self::GpefedegbjfFolkgdbmjjj),
            "GPEFEDEGBJF_MALDKIEFFIM" => Some(Self::GpefedegbjfMaldkieffim),
            "GPEFEDEGBJF_HNBNGEDAKEI" => Some(Self::GpefedegbjfHnbngedakei),
            "GPEFEDEGBJF_HHCEJPBONDN" => Some(Self::GpefedegbjfHhcejpbondn),
            "GPEFEDEGBJF_DCJJFLLEHAK" => Some(Self::GpefedegbjfDcjjfllehak),
            "GPEFEDEGBJF_FPKLAAJKJPI" => Some(Self::GpefedegbjfFpklaajkjpi),
            "GPEFEDEGBJF_MHHLNFFLHJF" => Some(Self::GpefedegbjfMhhlnfflhjf),
            "GPEFEDEGBJF_JCDPKBFBHJM" => Some(Self::GpefedegbjfJcdpkbfbhjm),
            "GPEFEDEGBJF_DIOGPPEIAHP" => Some(Self::GpefedegbjfDiogppeiahp),
            "GPEFEDEGBJF_IBHKGLJJMFJ" => Some(Self::GpefedegbjfIbhkgljjmfj),
            "GPEFEDEGBJF_CEFOGJAFAKN" => Some(Self::GpefedegbjfCefogjafakn),
            "GPEFEDEGBJF_DKMLKBENOKF" => Some(Self::GpefedegbjfDkmlkbenokf),
            "GPEFEDEGBJF_GJNCOBEDLHC" => Some(Self::GpefedegbjfGjncobedlhc),
            "GPEFEDEGBJF_LCNPPCKNKFO" => Some(Self::GpefedegbjfLcnppcknkfo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ccnibloejlk {
    Akcilkjmlng = 0,
    Becadhhdnnd = 1,
    Cojhobmhled = 2,
}
impl Ccnibloejlk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Akcilkjmlng => "CCNIBLOEJLK_AKCILKJMLNG",
            Self::Becadhhdnnd => "CCNIBLOEJLK_BECADHHDNND",
            Self::Cojhobmhled => "CCNIBLOEJLK_COJHOBMHLED",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CCNIBLOEJLK_AKCILKJMLNG" => Some(Self::Akcilkjmlng),
            "CCNIBLOEJLK_BECADHHDNND" => Some(Self::Becadhhdnnd),
            "CCNIBLOEJLK_COJHOBMHLED" => Some(Self::Cojhobmhled),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iogebldflhf {
    Nckmfnejpmb = 0,
    Gkekpbjedih = 1,
    Gdmgfliaoej = 2,
    Ggklgnbadon = 3,
    Neaaobecigc = 4,
    Efkbgnbhenk = 5,
    Lnbmmelmljn = 6,
    Mkphkpmjoff = 7,
}
impl Iogebldflhf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nckmfnejpmb => "IOGEBLDFLHF_NCKMFNEJPMB",
            Self::Gkekpbjedih => "IOGEBLDFLHF_GKEKPBJEDIH",
            Self::Gdmgfliaoej => "IOGEBLDFLHF_GDMGFLIAOEJ",
            Self::Ggklgnbadon => "IOGEBLDFLHF_GGKLGNBADON",
            Self::Neaaobecigc => "IOGEBLDFLHF_NEAAOBECIGC",
            Self::Efkbgnbhenk => "IOGEBLDFLHF_EFKBGNBHENK",
            Self::Lnbmmelmljn => "IOGEBLDFLHF_LNBMMELMLJN",
            Self::Mkphkpmjoff => "IOGEBLDFLHF_MKPHKPMJOFF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IOGEBLDFLHF_NCKMFNEJPMB" => Some(Self::Nckmfnejpmb),
            "IOGEBLDFLHF_GKEKPBJEDIH" => Some(Self::Gkekpbjedih),
            "IOGEBLDFLHF_GDMGFLIAOEJ" => Some(Self::Gdmgfliaoej),
            "IOGEBLDFLHF_GGKLGNBADON" => Some(Self::Ggklgnbadon),
            "IOGEBLDFLHF_NEAAOBECIGC" => Some(Self::Neaaobecigc),
            "IOGEBLDFLHF_EFKBGNBHENK" => Some(Self::Efkbgnbhenk),
            "IOGEBLDFLHF_LNBMMELMLJN" => Some(Self::Lnbmmelmljn),
            "IOGEBLDFLHF_MKPHKPMJOFF" => Some(Self::Mkphkpmjoff),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fdmnkoadmej {
    Gkjbaodjmjg = 0,
    Jminjchekda = 1,
    Bkchbdclpmg = 2,
    Eanicnjpmae = 3,
}
impl Fdmnkoadmej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FDMNKOADMEJ_GKJBAODJMJG",
            Self::Jminjchekda => "FDMNKOADMEJ_JMINJCHEKDA",
            Self::Bkchbdclpmg => "FDMNKOADMEJ_BKCHBDCLPMG",
            Self::Eanicnjpmae => "FDMNKOADMEJ_EANICNJPMAE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDMNKOADMEJ_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FDMNKOADMEJ_JMINJCHEKDA" => Some(Self::Jminjchekda),
            "FDMNKOADMEJ_BKCHBDCLPMG" => Some(Self::Bkchbdclpmg),
            "FDMNKOADMEJ_EANICNJPMAE" => Some(Self::Eanicnjpmae),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ieonnijcjde {
    Gkjbaodjmjg = 0,
    Bgaednmfgoe = 1,
    Jcpdeoepafl = 2,
}
impl Ieonnijcjde {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IEONNIJCJDE_GKJBAODJMJG",
            Self::Bgaednmfgoe => "IEONNIJCJDE_BGAEDNMFGOE",
            Self::Jcpdeoepafl => "IEONNIJCJDE_JCPDEOEPAFL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IEONNIJCJDE_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IEONNIJCJDE_BGAEDNMFGOE" => Some(Self::Bgaednmfgoe),
            "IEONNIJCJDE_JCPDEOEPAFL" => Some(Self::Jcpdeoepafl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pdcegfopnpj {
    Bppdomkifpm = 0,
    Clhccabaecn = 1,
    Ipbdlhjejil = 2,
    Hgjclicglaj = 3,
}
impl Pdcegfopnpj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Bppdomkifpm => "PDCEGFOPNPJ_BPPDOMKIFPM",
            Self::Clhccabaecn => "PDCEGFOPNPJ_CLHCCABAECN",
            Self::Ipbdlhjejil => "PDCEGFOPNPJ_IPBDLHJEJIL",
            Self::Hgjclicglaj => "PDCEGFOPNPJ_HGJCLICGLAJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PDCEGFOPNPJ_BPPDOMKIFPM" => Some(Self::Bppdomkifpm),
            "PDCEGFOPNPJ_CLHCCABAECN" => Some(Self::Clhccabaecn),
            "PDCEGFOPNPJ_IPBDLHJEJIL" => Some(Self::Ipbdlhjejil),
            "PDCEGFOPNPJ_HGJCLICGLAJ" => Some(Self::Hgjclicglaj),
            _ => None,
        }
    }
}
/// Obf: KLBLCIOICIP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyInteractType {
    KlblcioicipGkjbaodjmjg = 0,
    KlblcioicipJknjjidfepi = 1,
}
impl LobbyInteractType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KlblcioicipGkjbaodjmjg => "KLBLCIOICIP_GKJBAODJMJG",
            Self::KlblcioicipJknjjidfepi => "KLBLCIOICIP_JKNJJIDFEPI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KLBLCIOICIP_GKJBAODJMJG" => Some(Self::KlblcioicipGkjbaodjmjg),
            "KLBLCIOICIP_JKNJJIDFEPI" => Some(Self::KlblcioicipJknjjidfepi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Debebndlkom {
    Gkjbaodjmjg = 0,
    Nkjjdiaoibe = 1,
    Klgkfgdmogj = 2,
}
impl Debebndlkom {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "DEBEBNDLKOM_GKJBAODJMJG",
            Self::Nkjjdiaoibe => "DEBEBNDLKOM_NKJJDIAOIBE",
            Self::Klgkfgdmogj => "DEBEBNDLKOM_KLGKFGDMOGJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEBEBNDLKOM_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "DEBEBNDLKOM_NKJJDIAOIBE" => Some(Self::Nkjjdiaoibe),
            "DEBEBNDLKOM_KLGKFGDMOGJ" => Some(Self::Klgkfgdmogj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Akodjpciodf {
    Benehikhbjm = 0,
    Micphbidbpd = 1,
    Nnenmgfpcch = 2,
}
impl Akodjpciodf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Benehikhbjm => "AKODJPCIODF_BENEHIKHBJM",
            Self::Micphbidbpd => "AKODJPCIODF_MICPHBIDBPD",
            Self::Nnenmgfpcch => "AKODJPCIODF_NNENMGFPCCH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AKODJPCIODF_BENEHIKHBJM" => Some(Self::Benehikhbjm),
            "AKODJPCIODF_MICPHBIDBPD" => Some(Self::Micphbidbpd),
            "AKODJPCIODF_NNENMGFPCCH" => Some(Self::Nnenmgfpcch),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ldcadcbbmim {
    Lagfiadidph = 0,
    Nhdjdgfemjf = 1,
    Cilbiofdokg = 2,
}
impl Ldcadcbbmim {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lagfiadidph => "LDCADCBBMIM_LAGFIADIDPH",
            Self::Nhdjdgfemjf => "LDCADCBBMIM_NHDJDGFEMJF",
            Self::Cilbiofdokg => "LDCADCBBMIM_CILBIOFDOKG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDCADCBBMIM_LAGFIADIDPH" => Some(Self::Lagfiadidph),
            "LDCADCBBMIM_NHDJDGFEMJF" => Some(Self::Nhdjdgfemjf),
            "LDCADCBBMIM_CILBIOFDOKG" => Some(Self::Cilbiofdokg),
            _ => 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,
    RetAvatarEnhancedIdNotExist = 1227,
    RetAvatarEnhancedIdAlreadySet = 1228,
    RetAvatarNotCurEnhancedId = 1229,
    RetPlayerOutfitConfigNotExist = 1230,
    RetPlayerOutfitSlotConflict = 1231,
    RetPlayerOutfitIsDefault = 1232,
    RetPlayerOutfitNotOwned = 1233,
    RetSkilltreeFastLevelUpClose = 1234,
    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,
    RetEquipmentAlreadyLevelup = 1386,
    RetEquipmentRarityError = 1387,
    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,
    RetStageFarmSweepCd = 1813,
    RetStageFarmElementChallengeCntInvalid = 1814,
    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,
    RetNotInCorrectScene = 2634,
    RetNotInCorrectDimension = 2635,
    RetNotCorrectGroupPropertyName = 2636,
    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,
    RetGachaLocked = 3011,
    RetGachaDecideItemTypeInvalid = 3012,
    RetGachaDecideItemIdInvalid = 3013,
    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,
    RetAvatarDeliverRewardPhaseError = 3319,
    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,
    RetAssistListStrangerConfigError = 3636,
    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,
    RetPlayerBoardPersonalCardNotExist = 3716,
    RetPlayerBoardPersonalCardLocked = 3717,
    RetPlayerBoardPersonalNoChange = 3718,
    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,
    RetPlayerReturnRelicTaken = 4807,
    RetPlayerReturnConfigError = 4808,
    RetPlayerReturnOptionalGiftInvalid = 4809,
    RetPlayerReturnOptionalGiftNotExist = 4810,
    RetPlayerReturnSignTypeInvalid = 4811,
    RetAetherDivideNoLineup = 4851,
    RetAetherDivideLineupInvalid = 4852,
    RetChatBubbleIdError = 4901,
    RetChatBubbleIdNotUnlock = 4902,
    RetPhoneThemeIdError = 4903,
    RetPhoneThemeIdNotUnlock = 4904,
    RetChatBubbleSelectIsCurrent = 4905,
    RetPhoneThemeSelectIsCurrent = 4906,
    RetPhoneCaseIdError = 4907,
    RetPhoneCaseIdNotUnlock = 4908,
    RetPhoneCaseSelectIsCurrent = 4909,
    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,
    RetDrinkMakerCheersNotAbleToNextGroup = 5707,
    RetDrinkMakerCheersDrinkAlreadyMade = 5708,
    RetDrinkMakerCheersActivityNotOpen = 5709,
    RetDrinkMakerCheersMakeDrinkPreMissionNotFinished = 5710,
    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,
    RetEvolveBuildSeasonError = 5718,
    RetEvolveBuildTeachSkipQuestNotFinish = 5719,
    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,
    RetLobbyStartFightDisable = 6254,
    RetLobbyStartFightPlayerLack = 6255,
    RetMatchClientDataVersionLow = 6256,
    RetLobbyStartMatchDisable = 6257,
    RetLobbyInteractInCd = 6258,
    RetLobbyOwnerStateErr = 6259,
    RetLobbyOpTooFast = 6260,
    RetFightMatch3SoloPlayerTurnErr = 6261,
    RetMatchPlayNotSupported = 6262,
    RetMatchPlayDataNotExist = 6263,
    RetMatchPlayNotSupportFriendRanking = 6264,
    RetMatchPlayGetFriendRankingInfoInCd = 6265,
    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,
    RetPlanetFesAvatarNotExist = 6641,
    RetPlanetFesLandNotExist = 6642,
    RetPlanetFesItemNotEnough = 6643,
    RetPlanetFesLandAlreadyUnlock = 6644,
    RetPlanetFesWorkAvatarRepeat = 6645,
    RetPlanetFesWorkAvatarTypeNotMatch = 6646,
    RetPlanetFesActivityNotOpen = 6647,
    RetPlanetFesSkilltreePhaseNotUnlock = 6648,
    RetPlanetFesSkillNotUnlock = 6649,
    RetPlanetFesConfigError = 6650,
    RetPlanetFesNotInBusinessDay = 6651,
    RetPlanetFesEventLocked = 6652,
    RetPlanetFesEventFinished = 6653,
    RetPlanetFesEventInCd = 6654,
    RetPlanetFesEventAlreadyInState = 6655,
    RetPlanetFesEventNoWorkAvatar = 6656,
    RetPlanetFesEventProcessingCannotDisappear = 6657,
    RetPlanetFesEventOptionPhaseWrong = 6658,
    RetPlanetFesFunctionNotUnlock = 6659,
    RetPlanetFesRewardAlreadyTaken = 6660,
    RetPlanetFesEventGameNotActive = 6661,
    RetPlanetFesRegionProgressNotEnough = 6662,
    RetPlanetFesFriendItemNotEnough = 6663,
    RetPlanetFesPiecePermissionBan = 6664,
    RetPlanetFesPieceOfferNotExist = 6665,
    RetPlanetFesPieceApplyInStackTooMuch = 6666,
    RetPlanetFesPieceApplyNotExist = 6667,
    RetPlanetFesGetFriendRankingListInCd = 6668,
    RetPlanetFesGivePieceOwnedByTarget = 6669,
    RetPlanetFesLevelMax = 6670,
    RetPlanetFesExclusiveEvent = 6671,
    RetMarbleSealAlreadyUnlocked = 6701,
    RetMarbleSealShopItemNotEnough = 6702,
    RetMarbleSealLocked = 6703,
    RetCakeRaceFieldLocked = 6751,
    RetCakeRaceFieldCostNotEnough = 6752,
    RetCakeRaceFieldPvpOnly = 6753,
    RetCakeRaceAlreadyInGame = 6754,
    RetCakeRaceGetFriendRankingListInCd = 6755,
    RetCakeRaceLikeFriendTargetNotFriend = 6756,
    RetCakeRaceLikeFriendDailyAlreadyLiked = 6757,
    RetCakeRaceLikeFriendInCd = 6758,
    RetFateStatusNotMatch = 6771,
    RetFateBuffSlotNotEnough = 6772,
    RetFateCoinNotEnough = 6773,
    RetFateReijuRerollCountNotEnough = 6774,
    RetFateBuffLevelMax = 6775,
    RetFateActionQueueNotEmpty = 6776,
    RetParkourActivityNotOpen = 6801,
    RetParkourLevelNotUnlock = 6802,
    RetParkourRailBallNotAllowed = 6803,
    RetParkourNotInLevel = 6804,
    RetParkourLevelNotMatch = 6805,
    RetParkourNotPlayedAllNonStoryLevel = 6806,
    RetFtcLimitNameChange = 6830,
    RetElfRestaurantConfigError = 6841,
    RetElfRestaurantFieldAlreadyBought = 6842,
    RetElfRestaurantFieldNotBought = 6843,
    RetElfRestaurantFieldCellInvalid = 6844,
    RetElfRestaurantFarmTypeInvalid = 6845,
    RetElfRestaurantShopItemNotExist = 6846,
    RetElfRestaurantShopItemCountLimit = 6847,
    RetElfRestaurantTradeOrderNotExist = 6848,
    RetElfRestaurantNoReward = 6849,
    RetElfRestaurantNotInit = 6850,
    RetGridFightConfMiss = 6900,
    RetGridFightRoleNotExist = 6901,
    RetGridFightRoleAlreadyExist = 6902,
    RetGridFightPosExistRole = 6903,
    RetGridFightPosNotValid = 6904,
    RetGridFightCoinNotEnough = 6905,
    RetGridFightEquipNotExist = 6906,
    RetGridFightEquipCannotDress = 6907,
    RetGridFightParamNotMatch = 6908,
    RetGridFightEquipDressSame = 6909,
    RetGridFightEquipDressed = 6910,
    RetGridFightRandomErr = 6911,
    RetGridFightGoodsSold = 6912,
    RetGridFightItemNotEnough = 6913,
    RetGridFightGameplayLevelMax = 6914,
    RetGridFightAlreadyInGameplay = 6915,
    RetGridFightEquipTraitLimit = 6916,
    RetGridFightRegionFull = 6917,
    RetGridFightTemporaryEquip = 6918,
    RetGridFightNotInGameplay = 6919,
    RetGridFightAddEquipFail = 6920,
    RetGridFightAddConsumableFail = 6921,
    RetGridFightCreateRoleFail = 6922,
    RetGridFightCannotUpgrade = 6923,
    RetGridFightNoEmptyPos = 6924,
    RetGridFightForgeNotExist = 6925,
    RetGridFightAddForgeFail = 6926,
    RetGridFightOrbNotEnough = 6927,
    RetGridFightOrbNotExist = 6928,
    RetGridFightSupplyNoReroll = 6929,
    RetGridFightHighRariyForCopy = 6930,
    RetGridFightRoleFullForCopy = 6931,
    RetGridFightUndressEquipFail = 6932,
    RetGridFightDataLocked = 6933,
    RetGridFightSameRoleInBattle = 6934,
    RetGridFightSupplyAllSelected = 6935,
    RetGridFightTraitTrackMax = 6936,
    RetGridFightPosBan = 6937,
    RetGridFightPosExistItem = 6938,
    RetGridFightTalentEnabled = 6939,
    RetGridFightTalentCostNotEnough = 6940,
    RetGridFightTalentPreNotEnabled = 6941,
    RetGridFightDivisionInvalid = 6942,
    RetGridFightTalentPermanentLimit = 6943,
    RetGridFightWeeklyRewardTaken = 6944,
    RetGridFightWeeklyScoreNotEnough = 6945,
    RetGridFightCraftCostEquipDressed = 6946,
    RetGridFightCreateNpcFail = 6947,
    RetGridFightNoPosCanPlace = 6948,
    RetGridFightNpcPosLimit = 6949,
    RetGridFightCraftEquipOnDiffRole = 6950,
    RetGridFightGlobalHpNotEnough = 6951,
    RetGridFightEquipTrackMax = 6952,
    RetGridFightNpcNotExist = 6953,
    RetGridFightRecycleRoleInTutorial = 6954,
    RetGridFightTutorialTaskNotFinished = 6955,
    RetGridFightTutorialUpdatePosIninvalid = 6956,
    RetGridFightNoRerollCnt = 6957,
    RetGridFightTutorialRefreshShopLimited = 6958,
    RetGridFightTutorialBuyShopLimited = 6959,
    RetGridFightOcUnlockQuestNotFinished = 6960,
    RetGridFightForgeLimitSelectIdxInTutorial = 6961,
    RetGridFightGameRefIdTooLong = 6962,
    RetGridFightFeatureSwitchClosed = 6963,
    RetGridFightEquipTraitExclusive = 6964,
    RetGridFightShopLocked = 6965,
    RetGridFightBuyExpLocked = 6966,
    RetHipplenAgendaWorkUnavaible = 7001,
    RetHipplenAgendaWorkConflict = 7002,
    RetHipplenAgendaActionLack = 7003,
    RetHipplenAgendaEnergyLack = 7004,
    RetHipplenAgendaNoWorkForSettle = 7005,
    RetHipplenAgendaSettleWorkMismatch = 7006,
    RetHipplenPhaseConfigNoFound = 7007,
    RetHipplenTrialMissionNotFinished = 7008,
    RetHipplenAgendaSetWhenTrial = 7009,
    RetHipplenAgendaOpenCycleFail = 7010,
    RetHipplenAgendaSettleParaInvalid = 7011,
    RetHipplenAgendaWorkSetTwice = 7012,
    RetHipplenAgendaWorkSettleTwice = 7013,
    RetHipplenOutfitNotWeared = 7014,
    RetHipplenOutfitNotOwn = 7015,
    RetHipplenOutfitInvalid = 7016,
    RetHipplenOutfitTypeWeared = 7017,
    RetHipplenAgendaWorkEmpty = 7018,
    RetHipplenEndingLock = 7019,
    RetHipplenEndingRewardAlreadyTaken = 7020,
    RetHipplenTraitLock = 7021,
    RetHipplenAgendaActionLeft = 7022,
    RetHipplenBackwardTrialMissionNotFinished = 7023,
    RetRelicboxHasPendingRelic = 7051,
    RetRelicboxNoPendingRelic = 7052,
    RetRelicboxTargetAvatarInvalid = 7053,
    RetRelicboxTargetRelicSetInvalid = 7054,
    RetRelicboxAllowPositionEmpty = 7055,
    RetRelicboxRelicConfigNotFound = 7056,
    RetRelicboxMainAffixIdInvalid = 7057,
    RetRelicboxSubAffixInvalid = 7058,
    RetRelicboxRelicCreateFail = 7059,
    RetRelicboxLibConfigNotFound = 7060,
    RetRelicboxShieldLock = 7061,
    RetRelicboxCustomAvatarInvalid = 7062,
    RetRelicboxCustomRelicSetInvalid = 7063,
    RetRelicboxRelicInBox = 7064,
    RetRelicboxOpenTargetConflict = 7065,
    RetRelicboxRelicTypeInvalid = 7066,
    Mbcabojapnf = 7101,
    Pjjkjlfajmd = 7102,
    Jmoaejmmlfk = 7103,
    Ogakndbohik = 7104,
    Nlncpekbkbg = 7105,
    Cnioinhagji = 7106,
    Okamekolpdb = 7107,
    Nbicfembgeb = 7108,
    Gfbendmkgmn = 7109,
    Dfjinchmdbh = 7110,
    Fdckoelbpff = 7111,
    Jhlelifpinj = 7112,
    Hkgaokdkfkc = 7113,
    Miighhkmghm = 7114,
    Ageiobencmj = 7115,
    Cbpgalljepd = 7116,
    Lfjcdigapnk = 7117,
    Nhbdpkemhjc = 7118,
    Efbljhopknh = 7201,
    Dcjiiahbeag = 7202,
    Kemibmafomd = 7203,
    Fgfmkafhioh = 7204,
    Jdhmbjekfeg = 7205,
    Pbplibbekce = 7206,
    Onfidlgnkca = 7207,
    Aelghbimhao = 7208,
    Bfellhhpkfo = 7301,
    Cablnlchhlp = 7302,
    Dbbipgkbkdh = 7303,
}
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 {
            Self::RetSucc => "RET_SUCC",
            Self::RetFail => "RET_FAIL",
            Self::RetServerInternalError => "RET_SERVER_INTERNAL_ERROR",
            Self::RetTimeout => "RET_TIMEOUT",
            Self::RetRepeatedReq => "RET_REPEATED_REQ",
            Self::RetReqParaInvalid => "RET_REQ_PARA_INVALID",
            Self::RetPlayerDataError => "RET_PLAYER_DATA_ERROR",
            Self::RetPlayerClientPaused => "RET_PLAYER_CLIENT_PAUSED",
            Self::RetFuncCheckFailed => "RET_FUNC_CHECK_FAILED",
            Self::RetFeatureSwitchClosed => "RET_FEATURE_SWITCH_CLOSED",
            Self::RetFreqOverLimit => "RET_FREQ_OVER_LIMIT",
            Self::RetSystemBusy => "RET_SYSTEM_BUSY",
            Self::RetPlayerNotOnline => "RET_PLAYER_NOT_ONLINE",
            Self::RetOperationInCd => "RET_OPERATION_IN_CD",
            Self::RetRepeateLogin => "RET_REPEATE_LOGIN",
            Self::RetRetryLogin => "RET_RETRY_LOGIN",
            Self::RetWaitLogin => "RET_WAIT_LOGIN",
            Self::RetNotInWhiteList => "RET_NOT_IN_WHITE_LIST",
            Self::RetInBlackList => "RET_IN_BLACK_LIST",
            Self::RetAccountVerifyError => "RET_ACCOUNT_VERIFY_ERROR",
            Self::RetAccountParaError => "RET_ACCOUNT_PARA_ERROR",
            Self::RetAntiAddictLogin => "RET_ANTI_ADDICT_LOGIN",
            Self::RetCheckSumError => "RET_CHECK_SUM_ERROR",
            Self::RetReachMaxPlayerNum => "RET_REACH_MAX_PLAYER_NUM",
            Self::RetAlreadyRegistered => "RET_ALREADY_REGISTERED",
            Self::RetGenderError => "RET_GENDER_ERROR",
            Self::SetNicknameRetCallbackProcessing => {
                "SET_NICKNAME_RET_CALLBACK_PROCESSING"
            }
            Self::RetInGmBindAccess => "RET_IN_GM_BIND_ACCESS",
            Self::RetQuestRewardAlreadyTaken => "RET_QUEST_REWARD_ALREADY_TAKEN",
            Self::RetQuestNotAccept => "RET_QUEST_NOT_ACCEPT",
            Self::RetQuestNotFinish => "RET_QUEST_NOT_FINISH",
            Self::RetQuestStatusError => "RET_QUEST_STATUS_ERROR",
            Self::RetAchievementLevelNotReach => "RET_ACHIEVEMENT_LEVEL_NOT_REACH",
            Self::RetAchievementLevelAlreadyTaken => {
                "RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN"
            }
            Self::RetAvatarNotExist => "RET_AVATAR_NOT_EXIST",
            Self::RetAvatarResExpNotEnough => "RET_AVATAR_RES_EXP_NOT_ENOUGH",
            Self::RetAvatarExpReachPromotionLimit => {
                "RET_AVATAR_EXP_REACH_PROMOTION_LIMIT"
            }
            Self::RetAvatarReachMaxPromotion => "RET_AVATAR_REACH_MAX_PROMOTION",
            Self::RetSkilltreeConfigNotExist => "RET_SKILLTREE_CONFIG_NOT_EXIST",
            Self::RetSkilltreeAlreadyUnlock => "RET_SKILLTREE_ALREADY_UNLOCK",
            Self::RetSkilltreePreLocked => "RET_SKILLTREE_PRE_LOCKED",
            Self::RetSkilltreeLevelNotMeet => "RET_SKILLTREE_LEVEL_NOT_MEET",
            Self::RetSkilltreeRankNotMeet => "RET_SKILLTREE_RANK_NOT_MEET",
            Self::RetAvatarDressNoEquipment => "RET_AVATAR_DRESS_NO_EQUIPMENT",
            Self::RetAvatarExpItemNotExist => "RET_AVATAR_EXP_ITEM_NOT_EXIST",
            Self::RetSkilltreePointLocked => "RET_SKILLTREE_POINT_LOCKED",
            Self::RetSkilltreePointLevelUpgradeNotMatch => {
                "RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH"
            }
            Self::RetSkilltreePointLevelReachMax => "RET_SKILLTREE_POINT_LEVEL_REACH_MAX",
            Self::RetWorldLevelNotMeet => "RET_WORLD_LEVEL_NOT_MEET",
            Self::RetPlayerLevelNotMeet => "RET_PLAYER_LEVEL_NOT_MEET",
            Self::RetAvatarRankNotMatch => "RET_AVATAR_RANK_NOT_MATCH",
            Self::RetAvatarRankReachMax => "RET_AVATAR_RANK_REACH_MAX",
            Self::RetHeroBasicTypeNotMatch => "RET_HERO_BASIC_TYPE_NOT_MATCH",
            Self::RetAvatarPromotionNotMeet => "RET_AVATAR_PROMOTION_NOT_MEET",
            Self::RetPromotionRewardConfigNotExist => {
                "RET_PROMOTION_REWARD_CONFIG_NOT_EXIST"
            }
            Self::RetPromotionRewardAlreadyTaken => "RET_PROMOTION_REWARD_ALREADY_TAKEN",
            Self::RetAvatarSkinItemNotExist => "RET_AVATAR_SKIN_ITEM_NOT_EXIST",
            Self::RetAvatarSkinAlreadyDressed => "RET_AVATAR_SKIN_ALREADY_DRESSED",
            Self::RetAvatarNotDressSkin => "RET_AVATAR_NOT_DRESS_SKIN",
            Self::RetAvatarSkinNotMatchAvatar => "RET_AVATAR_SKIN_NOT_MATCH_AVATAR",
            Self::RetAvatarPathNotMatch => "RET_AVATAR_PATH_NOT_MATCH",
            Self::RetAvatarEnhancedIdNotExist => "RET_AVATAR_ENHANCED_ID_NOT_EXIST",
            Self::RetAvatarEnhancedIdAlreadySet => "RET_AVATAR_ENHANCED_ID_ALREADY_SET",
            Self::RetAvatarNotCurEnhancedId => "RET_AVATAR_NOT_CUR_ENHANCED_ID",
            Self::RetPlayerOutfitConfigNotExist => "RET_PLAYER_OUTFIT_CONFIG_NOT_EXIST",
            Self::RetPlayerOutfitSlotConflict => "RET_PLAYER_OUTFIT_SLOT_CONFLICT",
            Self::RetPlayerOutfitIsDefault => "RET_PLAYER_OUTFIT_IS_DEFAULT",
            Self::RetPlayerOutfitNotOwned => "RET_PLAYER_OUTFIT_NOT_OWNED",
            Self::RetSkilltreeFastLevelUpClose => "RET_SKILLTREE_FAST_LEVEL_UP_CLOSE",
            Self::RetItemNotExist => "RET_ITEM_NOT_EXIST",
            Self::RetItemCostNotEnough => "RET_ITEM_COST_NOT_ENOUGH",
            Self::RetItemCostTooMuch => "RET_ITEM_COST_TOO_MUCH",
            Self::RetItemNoCost => "RET_ITEM_NO_COST",
            Self::RetItemNotEnough => "RET_ITEM_NOT_ENOUGH",
            Self::RetItemInvalid => "RET_ITEM_INVALID",
            Self::RetItemConfigNotExist => "RET_ITEM_CONFIG_NOT_EXIST",
            Self::RetScoinNotEnough => "RET_SCOIN_NOT_ENOUGH",
            Self::RetItemRewardExceedLimit => "RET_ITEM_REWARD_EXCEED_LIMIT",
            Self::RetItemInvalidUse => "RET_ITEM_INVALID_USE",
            Self::RetItemUseConfigNotExist => "RET_ITEM_USE_CONFIG_NOT_EXIST",
            Self::RetRewardConfigNotExist => "RET_REWARD_CONFIG_NOT_EXIST",
            Self::RetItemExceedLimit => "RET_ITEM_EXCEED_LIMIT",
            Self::RetItemCountInvalid => "RET_ITEM_COUNT_INVALID",
            Self::RetItemUseTargetTypeInvalid => "RET_ITEM_USE_TARGET_TYPE_INVALID",
            Self::RetItemUseSatietyFull => "RET_ITEM_USE_SATIETY_FULL",
            Self::RetItemComposeNotExist => "RET_ITEM_COMPOSE_NOT_EXIST",
            Self::RetRelicComposeNotExist => "RET_RELIC_COMPOSE_NOT_EXIST",
            Self::RetItemCanNotSell => "RET_ITEM_CAN_NOT_SELL",
            Self::RetItemSellExceddLimit => "RET_ITEM_SELL_EXCEDD_LIMIT",
            Self::RetItemNotInCostList => "RET_ITEM_NOT_IN_COST_LIST",
            Self::RetItemSpecialCostNotEnough => "RET_ITEM_SPECIAL_COST_NOT_ENOUGH",
            Self::RetItemSpecialCostTooMuch => "RET_ITEM_SPECIAL_COST_TOO_MUCH",
            Self::RetItemFormulaNotExist => "RET_ITEM_FORMULA_NOT_EXIST",
            Self::RetItemAutoGiftOptionalNotExist => {
                "RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST"
            }
            Self::RetRelicComposeRelicInvalid => "RET_RELIC_COMPOSE_RELIC_INVALID",
            Self::RetRelicComposeMainAffixIdInvalid => {
                "RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID"
            }
            Self::RetRelicComposeWrongFormulaType => {
                "RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE"
            }
            Self::RetRelicComposeRelicNotExist => "RET_RELIC_COMPOSE_RELIC_NOT_EXIST",
            Self::RetRelicComposeBlackGoldCountInvalid => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID"
            }
            Self::RetRelicComposeBlackGoldNotNeed => {
                "RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED"
            }
            Self::RetMonthCardCannotUse => "RET_MONTH_CARD_CANNOT_USE",
            Self::RetItemRewardExceedDisappear => "RET_ITEM_REWARD_EXCEED_DISAPPEAR",
            Self::RetItemNeedRecycle => "RET_ITEM_NEED_RECYCLE",
            Self::RetItemComposeExceedLimit => "RET_ITEM_COMPOSE_EXCEED_LIMIT",
            Self::RetItemCanNotDestroy => "RET_ITEM_CAN_NOT_DESTROY",
            Self::RetItemAlreadyMark => "RET_ITEM_ALREADY_MARK",
            Self::RetItemMarkExceedLimit => "RET_ITEM_MARK_EXCEED_LIMIT",
            Self::RetItemNotMark => "RET_ITEM_NOT_MARK",
            Self::RetItenTurnFoodNotSet => "RET_ITEN_TURN_FOOD_NOT_SET",
            Self::RetItemTurnFoodAlreadySet => "RET_ITEM_TURN_FOOD_ALREADY_SET",
            Self::RetItemTurnFoodConsumeTypeError => {
                "RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR"
            }
            Self::RetItemTurnFoodSwitchAlreadyOpen => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN"
            }
            Self::RetItemTurnFoodSwitchAlreadyClose => {
                "RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE"
            }
            Self::RetHcoinExchangeTooMuch => "RET_HCOIN_EXCHANGE_TOO_MUCH",
            Self::RetItemTurnFoodSceneTypeError => "RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR",
            Self::RetEquipmentAlreadyDressed => "RET_EQUIPMENT_ALREADY_DRESSED",
            Self::RetEquipmentNotExist => "RET_EQUIPMENT_NOT_EXIST",
            Self::RetEquipmentReachLevelLimit => "RET_EQUIPMENT_REACH_LEVEL_LIMIT",
            Self::RetEquipmentConsumeSelf => "RET_EQUIPMENT_CONSUME_SELF",
            Self::RetEquipmentAlreadyLocked => "RET_EQUIPMENT_ALREADY_LOCKED",
            Self::RetEquipmentAlreadyUnlocked => "RET_EQUIPMENT_ALREADY_UNLOCKED",
            Self::RetEquipmentLocked => "RET_EQUIPMENT_LOCKED",
            Self::RetEquipmentSelectNumOverLimit => "RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT",
            Self::RetEquipmentRankUpMustConsumeSameTid => {
                "RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID"
            }
            Self::RetEquipmentPromotionReachMax => "RET_EQUIPMENT_PROMOTION_REACH_MAX",
            Self::RetEquipmentRankUpReachMax => "RET_EQUIPMENT_RANK_UP_REACH_MAX",
            Self::RetEquipmentLevelReachMax => "RET_EQUIPMENT_LEVEL_REACH_MAX",
            Self::RetEquipmentExceedLimit => "RET_EQUIPMENT_EXCEED_LIMIT",
            Self::RetRelicNotExist => "RET_RELIC_NOT_EXIST",
            Self::RetRelicReachLevelLimit => "RET_RELIC_REACH_LEVEL_LIMIT",
            Self::RetRelicConsumeSelf => "RET_RELIC_CONSUME_SELF",
            Self::RetRelicAlreadyDressed => "RET_RELIC_ALREADY_DRESSED",
            Self::RetRelicLocked => "RET_RELIC_LOCKED",
            Self::RetRelicAlreadyLocked => "RET_RELIC_ALREADY_LOCKED",
            Self::RetRelicAlreadyUnlocked => "RET_RELIC_ALREADY_UNLOCKED",
            Self::RetRelicLevelIsNotZero => "RET_RELIC_LEVEL_IS_NOT_ZERO",
            Self::RetUniqueIdRepeated => "RET_UNIQUE_ID_REPEATED",
            Self::RetEquipmentLevelNotMeet => "RET_EQUIPMENT_LEVEL_NOT_MEET",
            Self::RetEquipmentItemNotInCostList => "RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST",
            Self::RetEquipmentLevelGreaterThanOne => {
                "RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE"
            }
            Self::RetEquipmentAlreadyRanked => "RET_EQUIPMENT_ALREADY_RANKED",
            Self::RetRelicExceedLimit => "RET_RELIC_EXCEED_LIMIT",
            Self::RetRelicAlreadyDiscarded => "RET_RELIC_ALREADY_DISCARDED",
            Self::RetRelicAlreadyUndiscarded => "RET_RELIC_ALREADY_UNDISCARDED",
            Self::RetEquipmentBatchLockTooFast => "RET_EQUIPMENT_BATCH_LOCK_TOO_FAST",
            Self::RetRelicFilterPlanSlotEmpty => "RET_RELIC_FILTER_PLAN_SLOT_EMPTY",
            Self::RetRelicFilterPlanNumExceedLimit => {
                "RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT"
            }
            Self::RetRelicFilterPlanNameUtf8Error => {
                "RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR"
            }
            Self::RetRelicFilterPlanNameFormatError => {
                "RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR"
            }
            Self::RetRelicFilterPlanNoChange => "RET_RELIC_FILTER_PLAN_NO_CHANGE",
            Self::RetRelicReforgeNotConfirmed => "RET_RELIC_REFORGE_NOT_CONFIRMED",
            Self::RetEquipmentAlreadyLevelup => "RET_EQUIPMENT_ALREADY_LEVELUP",
            Self::RetEquipmentRarityError => "RET_EQUIPMENT_RARITY_ERROR",
            Self::RetLineupInvalidIndex => "RET_LINEUP_INVALID_INDEX",
            Self::RetLineupInvalidMemberPos => "RET_LINEUP_INVALID_MEMBER_POS",
            Self::RetLineupSwapNotExist => "RET_LINEUP_SWAP_NOT_EXIST",
            Self::RetLineupAvatarAlreadyIn => "RET_LINEUP_AVATAR_ALREADY_IN",
            Self::RetLineupCreateAvatarError => "RET_LINEUP_CREATE_AVATAR_ERROR",
            Self::RetLineupAvatarInitError => "RET_LINEUP_AVATAR_INIT_ERROR",
            Self::RetLineupNotExist => "RET_LINEUP_NOT_EXIST",
            Self::RetLineupOnlyOneMember => "RET_LINEUP_ONLY_ONE_MEMBER",
            Self::RetLineupSameLeaderSlot => "RET_LINEUP_SAME_LEADER_SLOT",
            Self::RetLineupNoLeaderSelect => "RET_LINEUP_NO_LEADER_SELECT",
            Self::RetLineupSwapSameSlot => "RET_LINEUP_SWAP_SAME_SLOT",
            Self::RetLineupAvatarNotExist => "RET_LINEUP_AVATAR_NOT_EXIST",
            Self::RetLineupTrialAvatarCanNotQuit => {
                "RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT"
            }
            Self::RetLineupVirtualLineupPlaneNotMatch => {
                "RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH"
            }
            Self::RetLineupNotValidLeader => "RET_LINEUP_NOT_VALID_LEADER",
            Self::RetLineupSameIndex => "RET_LINEUP_SAME_INDEX",
            Self::RetLineupIsEmpty => "RET_LINEUP_IS_EMPTY",
            Self::RetLineupNameFormatError => "RET_LINEUP_NAME_FORMAT_ERROR",
            Self::RetLineupTypeNotMatch => "RET_LINEUP_TYPE_NOT_MATCH",
            Self::RetLineupReplaceAllFailed => "RET_LINEUP_REPLACE_ALL_FAILED",
            Self::RetLineupNotAllowEdit => "RET_LINEUP_NOT_ALLOW_EDIT",
            Self::RetLineupAvatarIsAlive => "RET_LINEUP_AVATAR_IS_ALIVE",
            Self::RetLineupAssistHasOnlyMember => "RET_LINEUP_ASSIST_HAS_ONLY_MEMBER",
            Self::RetLineupAssistCannotSwitch => "RET_LINEUP_ASSIST_CANNOT_SWITCH",
            Self::RetLineupAvatarTypeInvalid => "RET_LINEUP_AVATAR_TYPE_INVALID",
            Self::RetLineupNameUtf8Error => "RET_LINEUP_NAME_UTF8_ERROR",
            Self::RetLineupLeaderLock => "RET_LINEUP_LEADER_LOCK",
            Self::RetLineupStoryLineNotMatch => "RET_LINEUP_STORY_LINE_NOT_MATCH",
            Self::RetLineupAvatarLock => "RET_LINEUP_AVATAR_LOCK",
            Self::RetLineupAvatarInvalid => "RET_LINEUP_AVATAR_INVALID",
            Self::RetLineupAvatarAlreadyInit => "RET_LINEUP_AVATAR_ALREADY_INIT",
            Self::RetLineupLimited => "RET_LINEUP_LIMITED",
            Self::RetMailNotExist => "RET_MAIL_NOT_EXIST",
            Self::RetMailRangeInvalid => "RET_MAIL_RANGE_INVALID",
            Self::RetMailMailIdInvalid => "RET_MAIL_MAIL_ID_INVALID",
            Self::RetMailNoMailTakeAttachment => "RET_MAIL_NO_MAIL_TAKE_ATTACHMENT",
            Self::RetMailNoMailToDel => "RET_MAIL_NO_MAIL_TO_DEL",
            Self::RetMailTypeInvalid => "RET_MAIL_TYPE_INVALID",
            Self::RetMailParaInvalid => "RET_MAIL_PARA_INVALID",
            Self::RetMailAttachementInvalid => "RET_MAIL_ATTACHEMENT_INVALID",
            Self::RetMailTicketInvalid => "RET_MAIL_TICKET_INVALID",
            Self::RetMailTicketRepeated => "RET_MAIL_TICKET_REPEATED",
            Self::RetStageSettleError => "RET_STAGE_SETTLE_ERROR",
            Self::RetStageConfigNotExist => "RET_STAGE_CONFIG_NOT_EXIST",
            Self::RetStageNotFound => "RET_STAGE_NOT_FOUND",
            Self::RetStageCocoonPropNotValid => "RET_STAGE_COCOON_PROP_NOT_VALID",
            Self::RetStageCocoonWaveNotValid => "RET_STAGE_COCOON_WAVE_NOT_VALID",
            Self::RetStagePropIdNotEqual => "RET_STAGE_PROP_ID_NOT_EQUAL",
            Self::RetStageCocoonWaveOver => "RET_STAGE_COCOON_WAVE_OVER",
            Self::RetStageWeekCocoonOverCnt => "RET_STAGE_WEEK_COCOON_OVER_CNT",
            Self::RetStageCocoonNotOpen => "RET_STAGE_COCOON_NOT_OPEN",
            Self::RetStageTrialNotOpen => "RET_STAGE_TRIAL_NOT_OPEN",
            Self::RetStageFarmNotOpen => "RET_STAGE_FARM_NOT_OPEN",
            Self::RetStageFarmTypeError => "RET_STAGE_FARM_TYPE_ERROR",
            Self::RetStageFarmSweepCd => "RET_STAGE_FARM_SWEEP_CD",
            Self::RetStageFarmElementChallengeCntInvalid => {
                "RET_STAGE_FARM_ELEMENT_CHALLENGE_CNT_INVALID"
            }
            Self::RetChapterLock => "RET_CHAPTER_LOCK",
            Self::RetChapterChallengeNumNotEnough => {
                "RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH"
            }
            Self::RetChapterRewardIdNotExist => "RET_CHAPTER_REWARD_ID_NOT_EXIST",
            Self::RetChapterRewardAlreadyTaken => "RET_CHAPTER_REWARD_ALREADY_TAKEN",
            Self::RetBattleStageNotMatch => "RET_BATTLE_STAGE_NOT_MATCH",
            Self::RetInBattleNow => "RET_IN_BATTLE_NOW",
            Self::RetBattleCheat => "RET_BATTLE_CHEAT",
            Self::RetBattleFail => "RET_BATTLE_FAIL",
            Self::RetBattleNoLineup => "RET_BATTLE_NO_LINEUP",
            Self::RetBattleLineupEmpty => "RET_BATTLE_LINEUP_EMPTY",
            Self::RetBattleVersionNotMatch => "RET_BATTLE_VERSION_NOT_MATCH",
            Self::RetBattleQuitByServer => "RET_BATTLE_QUIT_BY_SERVER",
            Self::RetInBattleCheck => "RET_IN_BATTLE_CHECK",
            Self::RetBattleCheckNeedRetry => "RET_BATTLE_CHECK_NEED_RETRY",
            Self::RetBattleCostTimeCheckFail => "RET_BATTLE_COST_TIME_CHECK_FAIL",
            Self::RetLackExchangeStaminaTimes => "RET_LACK_EXCHANGE_STAMINA_TIMES",
            Self::RetLackStamina => "RET_LACK_STAMINA",
            Self::RetStaminaFull => "RET_STAMINA_FULL",
            Self::RetAuthkeySignTypeError => "RET_AUTHKEY_SIGN_TYPE_ERROR",
            Self::RetAuthkeySignVerError => "RET_AUTHKEY_SIGN_VER_ERROR",
            Self::RetNicknameFormatError => "RET_NICKNAME_FORMAT_ERROR",
            Self::RetSensitiveWords => "RET_SENSITIVE_WORDS",
            Self::RetLevelRewardHasTaken => "RET_LEVEL_REWARD_HAS_TAKEN",
            Self::RetLevelRewardLevelError => "RET_LEVEL_REWARD_LEVEL_ERROR",
            Self::RetLanguageInvalid => "RET_LANGUAGE_INVALID",
            Self::RetNicknameInCd => "RET_NICKNAME_IN_CD",
            Self::RetGameplayBirthdayInvalid => "RET_GAMEPLAY_BIRTHDAY_INVALID",
            Self::RetGameplayBirthdayAlreadySet => "RET_GAMEPLAY_BIRTHDAY_ALREADY_SET",
            Self::RetNicknameUtf8Error => "RET_NICKNAME_UTF8_ERROR",
            Self::RetNicknameDigitLimitError => "RET_NICKNAME_DIGIT_LIMIT_ERROR",
            Self::RetSensitiveWordsPlatformError => "RET_SENSITIVE_WORDS_PLATFORM_ERROR",
            Self::RetPlayerSettingTypeInvalid => "RET_PLAYER_SETTING_TYPE_INVALID",
            Self::RetMazeLackTicket => "RET_MAZE_LACK_TICKET",
            Self::RetMazeNotUnlock => "RET_MAZE_NOT_UNLOCK",
            Self::RetMazeNoAbility => "RET_MAZE_NO_ABILITY",
            Self::RetMazeNoPlane => "RET_MAZE_NO_PLANE",
            Self::RetMazeMapNotExist => "RET_MAZE_MAP_NOT_EXIST",
            Self::RetMazeMpNotEnough => "RET_MAZE_MP_NOT_ENOUGH",
            Self::RetSpringNotEnable => "RET_SPRING_NOT_ENABLE",
            Self::RetSpringTooFar => "RET_SPRING_TOO_FAR",
            Self::RetNotInMaze => "RET_NOT_IN_MAZE",
            Self::RetMazeTimeOfDayTypeError => "RET_MAZE_TIME_OF_DAY_TYPE_ERROR",
            Self::RetSceneTransferLockedByTask => "RET_SCENE_TRANSFER_LOCKED_BY_TASK",
            Self::RetPlotNotUnlock => "RET_PLOT_NOT_UNLOCK",
            Self::RetMissionNotExist => "RET_MISSION_NOT_EXIST",
            Self::RetMissionAlreadyDone => "RET_MISSION_ALREADY_DONE",
            Self::RetDailyTaskNotFinish => "RET_DAILY_TASK_NOT_FINISH",
            Self::RetDailyTaskRewardHasTaken => "RET_DAILY_TASK_REWARD_HAS_TAKEN",
            Self::RetMissionNotFinish => "RET_MISSION_NOT_FINISH",
            Self::RetMissionNotDoing => "RET_MISSION_NOT_DOING",
            Self::RetMissionFinishWayNotMatch => "RET_MISSION_FINISH_WAY_NOT_MATCH",
            Self::RetMissionSceneNotMatch => "RET_MISSION_SCENE_NOT_MATCH",
            Self::RetMissionCustomValueNotValid => "RET_MISSION_CUSTOM_VALUE_NOT_VALID",
            Self::RetMissionSubMissionNotMatch => "RET_MISSION_SUB_MISSION_NOT_MATCH",
            Self::RetAdventureMapNotExist => "RET_ADVENTURE_MAP_NOT_EXIST",
            Self::RetSceneEntityNotExist => "RET_SCENE_ENTITY_NOT_EXIST",
            Self::RetNotInScene => "RET_NOT_IN_SCENE",
            Self::RetSceneMonsterNotExist => "RET_SCENE_MONSTER_NOT_EXIST",
            Self::RetInteractConfigNotExist => "RET_INTERACT_CONFIG_NOT_EXIST",
            Self::RetUnsupportedPropState => "RET_UNSUPPORTED_PROP_STATE",
            Self::RetSceneEntryIdNotMatch => "RET_SCENE_ENTRY_ID_NOT_MATCH",
            Self::RetSceneEntityMoveCheckFailed => "RET_SCENE_ENTITY_MOVE_CHECK_FAILED",
            Self::RetAssistMonsterCountLimit => "RET_ASSIST_MONSTER_COUNT_LIMIT",
            Self::RetSceneUseSkillFail => "RET_SCENE_USE_SKILL_FAIL",
            Self::RetPropIsHidden => "RET_PROP_IS_HIDDEN",
            Self::RetLoadingSuccAlready => "RET_LOADING_SUCC_ALREADY",
            Self::RetSceneEntityTypeInvalid => "RET_SCENE_ENTITY_TYPE_INVALID",
            Self::RetInteractTypeInvalid => "RET_INTERACT_TYPE_INVALID",
            Self::RetInteractNotInRegion => "RET_INTERACT_NOT_IN_REGION",
            Self::RetInteractSubTypeInvalid => "RET_INTERACT_SUB_TYPE_INVALID",
            Self::RetNotLeaderEntity => "RET_NOT_LEADER_ENTITY",
            Self::RetMonsterIsNotFarmElement => "RET_MONSTER_IS_NOT_FARM_ELEMENT",
            Self::RetMonsterConfigNotExist => "RET_MONSTER_CONFIG_NOT_EXIST",
            Self::RetAvatarHpAlreadyFull => "RET_AVATAR_HP_ALREADY_FULL",
            Self::RetCurInteractEntityNotMatch => "RET_CUR_INTERACT_ENTITY_NOT_MATCH",
            Self::RetPlaneTypeNotAllow => "RET_PLANE_TYPE_NOT_ALLOW",
            Self::RetGroupNotExist => "RET_GROUP_NOT_EXIST",
            Self::RetGroupSaveDataInCd => "RET_GROUP_SAVE_DATA_IN_CD",
            Self::RetGroupSaveLenghReachMax => "RET_GROUP_SAVE_LENGH_REACH_MAX",
            Self::RetRecentElementNotExist => "RET_RECENT_ELEMENT_NOT_EXIST",
            Self::RetRecentElementStageNotMatch => "RET_RECENT_ELEMENT_STAGE_NOT_MATCH",
            Self::RetScenePositionVersionNotMatch => {
                "RET_SCENE_POSITION_VERSION_NOT_MATCH"
            }
            Self::RetGameplayCounterNotExist => "RET_GAMEPLAY_COUNTER_NOT_EXIST",
            Self::RetGameplayCounterNotEnough => "RET_GAMEPLAY_COUNTER_NOT_ENOUGH",
            Self::RetGroupStateNotMatch => "RET_GROUP_STATE_NOT_MATCH",
            Self::RetSceneEntityPosNotMatch => "RET_SCENE_ENTITY_POS_NOT_MATCH",
            Self::RetGroupStateCustomSaveDataOff => {
                "RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF"
            }
            Self::RetSceneNotMatch => "RET_SCENE_NOT_MATCH",
            Self::RetPropTypeInvalid => "RET_PROP_TYPE_INVALID",
            Self::RetNotInCorrectScene => "RET_NOT_IN_CORRECT_SCENE",
            Self::RetNotInCorrectDimension => "RET_NOT_IN_CORRECT_DIMENSION",
            Self::RetNotCorrectGroupPropertyName => "RET_NOT_CORRECT_GROUP_PROPERTY_NAME",
            Self::RetBuyTimesLimit => "RET_BUY_TIMES_LIMIT",
            Self::RetBuyLimitType => "RET_BUY_LIMIT_TYPE",
            Self::RetShopNotOpen => "RET_SHOP_NOT_OPEN",
            Self::RetGoodsNotOpen => "RET_GOODS_NOT_OPEN",
            Self::RetCityLevelRewardTaken => "RET_CITY_LEVEL_REWARD_TAKEN",
            Self::RetCityLevelNotMeet => "RET_CITY_LEVEL_NOT_MEET",
            Self::RetSingleBuyLimit => "RET_SINGLE_BUY_LIMIT",
            Self::RetTutorialNotUnlock => "RET_TUTORIAL_NOT_UNLOCK",
            Self::RetTutorialUnlockAlready => "RET_TUTORIAL_UNLOCK_ALREADY",
            Self::RetTutorialFinishAlready => "RET_TUTORIAL_FINISH_ALREADY",
            Self::RetTutorialPreNotUnlock => "RET_TUTORIAL_PRE_NOT_UNLOCK",
            Self::RetTutorialPlayerLevelNotMatch => "RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH",
            Self::RetTutorialTutorialNotFound => "RET_TUTORIAL_TUTORIAL_NOT_FOUND",
            Self::RetChallengeNotExist => "RET_CHALLENGE_NOT_EXIST",
            Self::RetChallengeNotUnlock => "RET_CHALLENGE_NOT_UNLOCK",
            Self::RetChallengeAlready => "RET_CHALLENGE_ALREADY",
            Self::RetChallengeLineupEditForbidden => {
                "RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN"
            }
            Self::RetChallengeLineupEmpty => "RET_CHALLENGE_LINEUP_EMPTY",
            Self::RetChallengeNotDoing => "RET_CHALLENGE_NOT_DOING",
            Self::RetChallengeNotFinish => "RET_CHALLENGE_NOT_FINISH",
            Self::RetChallengeTargetNotFinish => "RET_CHALLENGE_TARGET_NOT_FINISH",
            Self::RetChallengeTargetRewardTaken => "RET_CHALLENGE_TARGET_REWARD_TAKEN",
            Self::RetChallengeTimeNotValid => "RET_CHALLENGE_TIME_NOT_VALID",
            Self::RetChallengeStarsCountNotMeet => "RET_CHALLENGE_STARS_COUNT_NOT_MEET",
            Self::RetChallengeStarsRewardTaken => "RET_CHALLENGE_STARS_REWARD_TAKEN",
            Self::RetChallengeStarsNotExist => "RET_CHALLENGE_STARS_NOT_EXIST",
            Self::RetChallengeCurSceneNotEntryFloor => {
                "RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR"
            }
            Self::RetChallengeNoTeamArchive => "RET_CHALLENGE_NO_TEAM_ARCHIVE",
            Self::RetChallengeLineupAvatarTypeInvalid => {
                "RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID"
            }
            Self::RetChallengeLineupRecommendInCd => {
                "RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Self::RetBasicTypeAlready => "RET_BASIC_TYPE_ALREADY",
            Self::RetNoBasicType => "RET_NO_BASIC_TYPE",
            Self::RetNotChooseBasicType => "RET_NOT_CHOOSE_BASIC_TYPE",
            Self::RetNotFuncClose => "RET_NOT_FUNC_CLOSE",
            Self::RetNotChooseGender => "RET_NOT_CHOOSE_GENDER",
            Self::RetNotReqUnlockBasicType => "RET_NOT_REQ_UNLOCK_BASIC_TYPE",
            Self::RetAvatarPathLocked => "RET_AVATAR_PATH_LOCKED",
            Self::RetRogueStatusNotMatch => "RET_ROGUE_STATUS_NOT_MATCH",
            Self::RetRogueSelectBuffNotExist => "RET_ROGUE_SELECT_BUFF_NOT_EXIST",
            Self::RetRogueCoinNotEnough => "RET_ROGUE_COIN_NOT_ENOUGH",
            Self::RetRogueStaminaNotEnough => "RET_ROGUE_STAMINA_NOT_ENOUGH",
            Self::RetRogueAppraisalCountNotEnough => {
                "RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH"
            }
            Self::RetRoguePropAlreadyUsed => "RET_ROGUE_PROP_ALREADY_USED",
            Self::RetRogueRecordAlreadySaved => "RET_ROGUE_RECORD_ALREADY_SAVED",
            Self::RetRogueRollBuffMaxCount => "RET_ROGUE_ROLL_BUFF_MAX_COUNT",
            Self::RetRoguePickAvatarInvalid => "RET_ROGUE_PICK_AVATAR_INVALID",
            Self::RetRogueQuestExpire => "RET_ROGUE_QUEST_EXPIRE",
            Self::RetRogueQuestRewardAlready => "RET_ROGUE_QUEST_REWARD_ALREADY",
            Self::RetRogueReviveCountNotEnough => "RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH",
            Self::RetRogueAreaInvalid => "RET_ROGUE_AREA_INVALID",
            Self::RetRogueScoreRewardPoolInvalid => "RET_ROGUE_SCORE_REWARD_POOL_INVALID",
            Self::RetRogueScoreRewardRowInvalid => "RET_ROGUE_SCORE_REWARD_ROW_INVALID",
            Self::RetRogueAeonLevelNotMeet => "RET_ROGUE_AEON_LEVEL_NOT_MEET",
            Self::RetRogueAeonLevelRewardAlreadyTaken => {
                "RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Self::RetRogueAeonConfigNotExist => "RET_ROGUE_AEON_CONFIG_NOT_EXIST",
            Self::RetRogueTrialAvatarInvalid => "RET_ROGUE_TRIAL_AVATAR_INVALID",
            Self::RetRogueHandbookRewardAlreadyTaken => {
                "RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN"
            }
            Self::RetRogueRoomTypeNotMatch => "RET_ROGUE_ROOM_TYPE_NOT_MATCH",
            Self::RetRogueShopGoodNotFound => "RET_ROGUE_SHOP_GOOD_NOT_FOUND",
            Self::RetRogueShopGoodAlreadyBought => "RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT",
            Self::RetRogueShopGoodAlreadyOwn => "RET_ROGUE_SHOP_GOOD_ALREADY_OWN",
            Self::RetRogueShopMiracleNotExist => "RET_ROGUE_SHOP_MIRACLE_NOT_EXIST",
            Self::RetRogueShopNotExist => "RET_ROGUE_SHOP_NOT_EXIST",
            Self::RetRogueShopCannotRefresh => "RET_ROGUE_SHOP_CANNOT_REFRESH",
            Self::RetRogueSelectBuffCertainMismatch => {
                "RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH"
            }
            Self::RetRogueActionQueueNotEmptyBattle => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE"
            }
            Self::RetRogueActionQueueNotEmptyOthers => {
                "RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS"
            }
            Self::RetMissionEventConfigNotExist => "RET_MISSION_EVENT_CONFIG_NOT_EXIST",
            Self::RetMissionEventNotClient => "RET_MISSION_EVENT_NOT_CLIENT",
            Self::RetMissionEventFinished => "RET_MISSION_EVENT_FINISHED",
            Self::RetMissionEventDoing => "RET_MISSION_EVENT_DOING",
            Self::RetHasChallengeMissionEvent => "RET_HAS_CHALLENGE_MISSION_EVENT",
            Self::RetNotChallengeMissionEvent => "RET_NOT_CHALLENGE_MISSION_EVENT",
            Self::RetGachaIdNotExist => "RET_GACHA_ID_NOT_EXIST",
            Self::RetGachaNumInvalid => "RET_GACHA_NUM_INVALID",
            Self::RetGachaFirstGachaMustOne => "RET_GACHA_FIRST_GACHA_MUST_ONE",
            Self::RetGachaReqDuplicated => "RET_GACHA_REQ_DUPLICATED",
            Self::RetGachaNotInSchedule => "RET_GACHA_NOT_IN_SCHEDULE",
            Self::RetGachaNewbieClose => "RET_GACHA_NEWBIE_CLOSE",
            Self::RetGachaTodayLimited => "RET_GACHA_TODAY_LIMITED",
            Self::RetGachaNotSupport => "RET_GACHA_NOT_SUPPORT",
            Self::RetGachaCeilingNotEnough => "RET_GACHA_CEILING_NOT_ENOUGH",
            Self::RetGachaCeilingClose => "RET_GACHA_CEILING_CLOSE",
            Self::RetGachaLocked => "RET_GACHA_LOCKED",
            Self::RetGachaDecideItemTypeInvalid => "RET_GACHA_DECIDE_ITEM_TYPE_INVALID",
            Self::RetGachaDecideItemIdInvalid => "RET_GACHA_DECIDE_ITEM_ID_INVALID",
            Self::RetNotInRaid => "RET_NOT_IN_RAID",
            Self::RetRaidDoing => "RET_RAID_DOING",
            Self::RetNotProp => "RET_NOT_PROP",
            Self::RetRaidIdNotMatch => "RET_RAID_ID_NOT_MATCH",
            Self::RetRaidRestartNotMatch => "RET_RAID_RESTART_NOT_MATCH",
            Self::RetRaidLimit => "RET_RAID_LIMIT",
            Self::RetRaidAvatarListEmpty => "RET_RAID_AVATAR_LIST_EMPTY",
            Self::RetRaidAvatarNotExist => "RET_RAID_AVATAR_NOT_EXIST",
            Self::RetChallengeRaidRewardAlready => "RET_CHALLENGE_RAID_REWARD_ALREADY",
            Self::RetChallengeRaidScoreNotReach => "RET_CHALLENGE_RAID_SCORE_NOT_REACH",
            Self::RetChallengeRaidNotOpen => "RET_CHALLENGE_RAID_NOT_OPEN",
            Self::RetRaidFinished => "RET_RAID_FINISHED",
            Self::RetRaidWorldLevelNotLock => "RET_RAID_WORLD_LEVEL_NOT_LOCK",
            Self::RetRaidCannotUseAssist => "RET_RAID_CANNOT_USE_ASSIST",
            Self::RetRaidAvatarNotMatch => "RET_RAID_AVATAR_NOT_MATCH",
            Self::RetRaidCanNotSave => "RET_RAID_CAN_NOT_SAVE",
            Self::RetRaidNoSave => "RET_RAID_NO_SAVE",
            Self::RetActivityRaidNotOpen => "RET_ACTIVITY_RAID_NOT_OPEN",
            Self::RetRaidAvatarCaptainNotExist => "RET_RAID_AVATAR_CAPTAIN_NOT_EXIST",
            Self::RetRaidStoryLineNotMatch => "RET_RAID_STORY_LINE_NOT_MATCH",
            Self::RetTalkEventAlreadyTaken => "RET_TALK_EVENT_ALREADY_TAKEN",
            Self::RetNpcAlreadyMeet => "RET_NPC_ALREADY_MEET",
            Self::RetNpcNotInConfig => "RET_NPC_NOT_IN_CONFIG",
            Self::RetDialogueGroupDismatch => "RET_DIALOGUE_GROUP_DISMATCH",
            Self::RetDialogueEventInvalid => "RET_DIALOGUE_EVENT_INVALID",
            Self::RetTalkEventTakeProtoNotMatch => "RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH",
            Self::RetTalkEventNotValid => "RET_TALK_EVENT_NOT_VALID",
            Self::RetExpeditionConfigNotExist => "RET_EXPEDITION_CONFIG_NOT_EXIST",
            Self::RetExpeditionRewardConfigNotExist => {
                "RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST"
            }
            Self::RetExpeditionNotUnlocked => "RET_EXPEDITION_NOT_UNLOCKED",
            Self::RetExpeditionAlreadyAccepted => "RET_EXPEDITION_ALREADY_ACCEPTED",
            Self::RetExpeditionRepeatedAvatar => "RET_EXPEDITION_REPEATED_AVATAR",
            Self::RetAvatarAlreadyDispatched => "RET_AVATAR_ALREADY_DISPATCHED",
            Self::RetExpeditionNotAccepted => "RET_EXPEDITION_NOT_ACCEPTED",
            Self::RetExpeditionNotFinish => "RET_EXPEDITION_NOT_FINISH",
            Self::RetExpeditionAlreadyFinish => "RET_EXPEDITION_ALREADY_FINISH",
            Self::RetExpeditionTeamCountLimit => "RET_EXPEDITION_TEAM_COUNT_LIMIT",
            Self::RetExpeditionAvatarNumNotMatch => "RET_EXPEDITION_AVATAR_NUM_NOT_MATCH",
            Self::RetExpeditionNotOpen => "RET_EXPEDITION_NOT_OPEN",
            Self::RetExpeditionFriendAvatarNotValid => {
                "RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID"
            }
            Self::RetExpeditionNotPublished => "RET_EXPEDITION_NOT_PUBLISHED",
            Self::RetLoginActivityHasTaken => "RET_LOGIN_ACTIVITY_HAS_TAKEN",
            Self::RetLoginActivityDaysLack => "RET_LOGIN_ACTIVITY_DAYS_LACK",
            Self::RetTrialActivityRewardAlreadyTake => {
                "RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE"
            }
            Self::RetTrialActivityStageNotFinish => "RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH",
            Self::RetMaterialSubmitActivityHasTaken => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN"
            }
            Self::RetMaterialSubmitActivityMaterialNotSubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED"
            }
            Self::RetMaterialSubmitActivityMaterialAlreadySubmitted => {
                "RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED"
            }
            Self::RetFantasticStoryActivityStoryError => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR"
            }
            Self::RetFantasticStoryActivityStoryNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN"
            }
            Self::RetFantasticStoryActivityBattleError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR"
            }
            Self::RetFantasticStoryActivityBattleNotOpen => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN"
            }
            Self::RetFantasticStoryActivityBattleAvatarError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR"
            }
            Self::RetFantasticStoryActivityBattleBuffError => {
                "RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR"
            }
            Self::RetFantasticStoryActivityPreBattleScoreNotEnough => {
                "RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH"
            }
            Self::RetTrialActivityAlreadyInTrialActivity => {
                "RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY"
            }
            Self::RetCommonActivityNotOpen => "RET_COMMON_ACTIVITY_NOT_OPEN",
            Self::RetBenefitNotReady => "RET_BENEFIT_NOT_READY",
            Self::RetCommonActivityBusy => "RET_COMMON_ACTIVITY_BUSY",
            Self::RetAvatarDeliverRewardPhaseError => {
                "RET_AVATAR_DELIVER_REWARD_PHASE_ERROR"
            }
            Self::RetMessageConfigNotExist => "RET_MESSAGE_CONFIG_NOT_EXIST",
            Self::RetMessageSectionNotTake => "RET_MESSAGE_SECTION_NOT_TAKE",
            Self::RetMessageGroupNotTake => "RET_MESSAGE_GROUP_NOT_TAKE",
            Self::RetMessageSectionIdNotMatch => "RET_MESSAGE_SECTION_ID_NOT_MATCH",
            Self::RetMessageSectionCanNotFinish => "RET_MESSAGE_SECTION_CAN_NOT_FINISH",
            Self::RetMessageItemCanNotFinish => "RET_MESSAGE_ITEM_CAN_NOT_FINISH",
            Self::RetMessageItemRaidCanNotFinish => {
                "RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH"
            }
            Self::RetFriendAlreadyIsFriend => "RET_FRIEND_ALREADY_IS_FRIEND",
            Self::RetFriendIsNotFriend => "RET_FRIEND_IS_NOT_FRIEND",
            Self::RetFriendApplyExpire => "RET_FRIEND_APPLY_EXPIRE",
            Self::RetFriendInBlacklist => "RET_FRIEND_IN_BLACKLIST",
            Self::RetFriendNotInBlacklist => "RET_FRIEND_NOT_IN_BLACKLIST",
            Self::RetFriendNumberLimit => "RET_FRIEND_NUMBER_LIMIT",
            Self::RetFriendBlacklistNumberLimit => "RET_FRIEND_BLACKLIST_NUMBER_LIMIT",
            Self::RetFriendDailyApplyLimit => "RET_FRIEND_DAILY_APPLY_LIMIT",
            Self::RetFriendInHandleLimit => "RET_FRIEND_IN_HANDLE_LIMIT",
            Self::RetFriendApplyInCd => "RET_FRIEND_APPLY_IN_CD",
            Self::RetFriendRemarkNameFormatError => "RET_FRIEND_REMARK_NAME_FORMAT_ERROR",
            Self::RetFriendPlayerNotFound => "RET_FRIEND_PLAYER_NOT_FOUND",
            Self::RetFriendInTargetBlacklist => "RET_FRIEND_IN_TARGET_BLACKLIST",
            Self::RetFriendTargetNumberLimit => "RET_FRIEND_TARGET_NUMBER_LIMIT",
            Self::RetAssistQueryTooFast => "RET_ASSIST_QUERY_TOO_FAST",
            Self::RetAssistNotExist => "RET_ASSIST_NOT_EXIST",
            Self::RetAssistUsedAlready => "RET_ASSIST_USED_ALREADY",
            Self::RetFriendReportReasonFormatError => {
                "RET_FRIEND_REPORT_REASON_FORMAT_ERROR"
            }
            Self::RetFriendReportSensitiveWords => "RET_FRIEND_REPORT_SENSITIVE_WORDS",
            Self::RetAssistUsedTimesOver => "RET_ASSIST_USED_TIMES_OVER",
            Self::RetAssistQuitAlready => "RET_ASSIST_QUIT_ALREADY",
            Self::RetAssistAvatarInLineup => "RET_ASSIST_AVATAR_IN_LINEUP",
            Self::RetAssistNoReward => "RET_ASSIST_NO_REWARD",
            Self::RetFriendSearchNumLimit => "RET_FRIEND_SEARCH_NUM_LIMIT",
            Self::RetFriendSearchInCd => "RET_FRIEND_SEARCH_IN_CD",
            Self::RetFriendRemarkNameUtf8Error => "RET_FRIEND_REMARK_NAME_UTF8_ERROR",
            Self::RetFriendReportReasonUtf8Error => "RET_FRIEND_REPORT_REASON_UTF8_ERROR",
            Self::RetAssistSetAlready => "RET_ASSIST_SET_ALREADY",
            Self::RetFriendTargetForbidOtherApply => {
                "RET_FRIEND_TARGET_FORBID_OTHER_APPLY"
            }
            Self::RetFriendMarkedCntMax => "RET_FRIEND_MARKED_CNT_MAX",
            Self::RetFriendMarkedAlready => "RET_FRIEND_MARKED_ALREADY",
            Self::RetFriendNotMarked => "RET_FRIEND_NOT_MARKED",
            Self::RetFriendChallengeLineupRecommendInCd => {
                "RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD"
            }
            Self::RetViewPlayerCardInCd => "RET_VIEW_PLAYER_CARD_IN_CD",
            Self::RetViewPlayerBattleRecordInCd => "RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD",
            Self::RetAssistListStrangerConfigError => {
                "RET_ASSIST_LIST_STRANGER_CONFIG_ERROR"
            }
            Self::RetPlayerBoardHeadIconNotExist => {
                "RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST"
            }
            Self::RetPlayerBoardHeadIconLocked => "RET_PLAYER_BOARD_HEAD_ICON_LOCKED",
            Self::RetPlayerBoardHeadIconAlreadyUnlocked => {
                "RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED"
            }
            Self::RetPlayerBoardDisplayAvatarNotExist => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST"
            }
            Self::RetPlayerBoardDisplayAvatarExceedLimit => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT"
            }
            Self::RetPlayerBoardDisplayRepeatedAvatar => {
                "RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR"
            }
            Self::RetPlayerBoardDisplayAvatarSamePos => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS"
            }
            Self::RetPlayerBoardDisplayAvatarLocked => {
                "RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED"
            }
            Self::RetSignatureLengthExceedLimit => "RET_SIGNATURE_LENGTH_EXCEED_LIMIT",
            Self::RetSignatureSensitiveWords => "RET_SIGNATURE_SENSITIVE_WORDS",
            Self::RetPlayerBoardAssistAvatarNotExist => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST"
            }
            Self::RetPlayerBoardAssistAvatarLocked => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED"
            }
            Self::RetSignatureUtf8Error => "RET_SIGNATURE_UTF8_ERROR",
            Self::RetPlayerBoardAssistAvatarCntError => {
                "RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR"
            }
            Self::RetPlayerBoardPersonalCardNotExist => {
                "RET_PLAYER_BOARD_PERSONAL_CARD_NOT_EXIST"
            }
            Self::RetPlayerBoardPersonalCardLocked => {
                "RET_PLAYER_BOARD_PERSONAL_CARD_LOCKED"
            }
            Self::RetPlayerBoardPersonalNoChange => "RET_PLAYER_BOARD_PERSONAL_NO_CHANGE",
            Self::RetBattlePassTierNotValid => "RET_BATTLE_PASS_TIER_NOT_VALID",
            Self::RetBattlePassLevelNotMeet => "RET_BATTLE_PASS_LEVEL_NOT_MEET",
            Self::RetBattlePassRewardTakeAlready => "RET_BATTLE_PASS_REWARD_TAKE_ALREADY",
            Self::RetBattlePassNotPremium => "RET_BATTLE_PASS_NOT_PREMIUM",
            Self::RetBattlePassNotDoing => "RET_BATTLE_PASS_NOT_DOING",
            Self::RetBattlePassLevelInvalid => "RET_BATTLE_PASS_LEVEL_INVALID",
            Self::RetBattlePassNotUnlock => "RET_BATTLE_PASS_NOT_UNLOCK",
            Self::RetBattlePassNoReward => "RET_BATTLE_PASS_NO_REWARD",
            Self::RetBattlePassQuestNotValid => "RET_BATTLE_PASS_QUEST_NOT_VALID",
            Self::RetBattlePassNotChooseOptional => "RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL",
            Self::RetBattlePassNotTakeReward => "RET_BATTLE_PASS_NOT_TAKE_REWARD",
            Self::RetBattlePassOptionalNotValid => "RET_BATTLE_PASS_OPTIONAL_NOT_VALID",
            Self::RetBattlePassBuyAlready => "RET_BATTLE_PASS_BUY_ALREADY",
            Self::RetBattlePassNearEnd => "RET_BATTLE_PASS_NEAR_END",
            Self::RetMusicLocked => "RET_MUSIC_LOCKED",
            Self::RetMusicNotExist => "RET_MUSIC_NOT_EXIST",
            Self::RetMusicUnlockFailed => "RET_MUSIC_UNLOCK_FAILED",
            Self::RetPunkLordLackSummonTimes => "RET_PUNK_LORD_LACK_SUMMON_TIMES",
            Self::RetPunkLordAttackingMonsterLimit => {
                "RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT"
            }
            Self::RetPunkLordMonsterNotExist => "RET_PUNK_LORD_MONSTER_NOT_EXIST",
            Self::RetPunkLordMonsterAlreadyShared => {
                "RET_PUNK_LORD_MONSTER_ALREADY_SHARED"
            }
            Self::RetPunkLordMonsterExpired => "RET_PUNK_LORD_MONSTER_EXPIRED",
            Self::RetPunkLordSelfMonsterAttackLimit => {
                "RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT"
            }
            Self::RetPunkLordLackSupportTimes => "RET_PUNK_LORD_LACK_SUPPORT_TIMES",
            Self::RetPunkLordMonsterAlreadyKilled => {
                "RET_PUNK_LORD_MONSTER_ALREADY_KILLED"
            }
            Self::RetPunkLordMonsterAttackerLimit => {
                "RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT"
            }
            Self::RetPunkLordWorldLevleNotValid => "RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID",
            Self::RetPunkLordRewardLevleNotExist => {
                "RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST"
            }
            Self::RetPunkLordPointNotMeet => "RET_PUNK_LORD_POINT_NOT_MEET",
            Self::RetPunkLordInAttacking => "RET_PUNK_LORD_IN_ATTACKING",
            Self::RetPunkLordOperationInCd => "RET_PUNK_LORD_OPERATION_IN_CD",
            Self::RetPunkLordRewardAlreadyTaken => "RET_PUNK_LORD_REWARD_ALREADY_TAKEN",
            Self::RetPunkLordOverBonusRewardLimit => {
                "RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT"
            }
            Self::RetPunkLordNotInSchedule => "RET_PUNK_LORD_NOT_IN_SCHEDULE",
            Self::RetPunkLordMonsterNotAttacked => "RET_PUNK_LORD_MONSTER_NOT_ATTACKED",
            Self::RetPunkLordMonsterNotKilled => "RET_PUNK_LORD_MONSTER_NOT_KILLED",
            Self::RetPunkLordMonsterKilledScoreAlreadyTake => {
                "RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE"
            }
            Self::RetPunkLordRewardLevleAlreadyTake => {
                "RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE"
            }
            Self::RetDailyActiveLevelInvalid => "RET_DAILY_ACTIVE_LEVEL_INVALID",
            Self::RetDailyActiveLevelRewardAlreadyTaken => {
                "RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN"
            }
            Self::RetDailyActiveLevelApNotEnough => {
                "RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH"
            }
            Self::RetDailyMeetPam => "RET_DAILY_MEET_PAM",
            Self::RetReplayIdNotMatch => "RET_REPLAY_ID_NOT_MATCH",
            Self::RetReplayReqNotValid => "RET_REPLAY_REQ_NOT_VALID",
            Self::RetFightActivityDifficultyLevelNotPassed => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED"
            }
            Self::RetFightActivityDifficultyLevelRewardAlreadyTake => {
                "RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE"
            }
            Self::RetFightActivityStageNotOpen => "RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN",
            Self::RetFightActivityLevelNotUnlock => "RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK",
            Self::RetTrainVisitorVisitorNotExist => "RET_TRAIN_VISITOR_VISITOR_NOT_EXIST",
            Self::RetTrainVisitorBehaviorNotExist => {
                "RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST"
            }
            Self::RetTrainVisitorBehaviorFinished => {
                "RET_TRAIN_VISITOR_BEHAVIOR_FINISHED"
            }
            Self::RetTrainVisitorAllBehaviorRewardTaken => {
                "RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN"
            }
            Self::RetTrainVisitorGetOnMissionNotFinish => {
                "RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH"
            }
            Self::RetTrainVisitorNotGetOffOrBeTrainMember => {
                "RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER"
            }
            Self::RetTextJoinUnknowIsOverride => "RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE",
            Self::RetTextJoinIdNotExist => "RET_TEXT_JOIN_ID_NOT_EXIST",
            Self::RetTextJoinCanNotOverride => "RET_TEXT_JOIN_CAN_NOT_OVERRIDE",
            Self::RetTextJoinItemIdError => "RET_TEXT_JOIN_ITEM_ID_ERROR",
            Self::RetTextJoinSensitiveCheckError => "RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR",
            Self::RetTextJoinMustOverride => "RET_TEXT_JOIN_MUST_OVERRIDE",
            Self::RetTextJoinTextEmpty => "RET_TEXT_JOIN_TEXT_EMPTY",
            Self::RetTextJoinTextFormatError => "RET_TEXT_JOIN_TEXT_FORMAT_ERROR",
            Self::RetTextJoinTextUtf8Error => "RET_TEXT_JOIN_TEXT_UTF8_ERROR",
            Self::RetTextJoinBatchReqIdRepeat => "RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT",
            Self::RetTextJoinTypeNotSupportBatchReq => {
                "RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ"
            }
            Self::RetTextJoinAvatarIdNotExist => "RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST",
            Self::RetTextJoinUnknowType => "RET_TEXT_JOIN_UNKNOW_TYPE",
            Self::RetPamMissionMissionIdError => "RET_PAM_MISSION_MISSION_ID_ERROR",
            Self::RetPamMissionMissionExpire => "RET_PAM_MISSION_MISSION_EXPIRE",
            Self::RetChatTypeNotExist => "RET_CHAT_TYPE_NOT_EXIST",
            Self::RetMsgTypeNotExist => "RET_MSG_TYPE_NOT_EXIST",
            Self::RetChatNoTargetUid => "RET_CHAT_NO_TARGET_UID",
            Self::RetChatMsgEmpty => "RET_CHAT_MSG_EMPTY",
            Self::RetChatMsgExceedLimit => "RET_CHAT_MSG_EXCEED_LIMIT",
            Self::RetChatMsgSensitiveCheckError => "RET_CHAT_MSG_SENSITIVE_CHECK_ERROR",
            Self::RetChatMsgUtf8Error => "RET_CHAT_MSG_UTF8_ERROR",
            Self::RetChatForbidSwitchOpen => "RET_CHAT_FORBID_SWITCH_OPEN",
            Self::RetChatForbid => "RET_CHAT_FORBID",
            Self::RetChatMsgIncludeSpecialStr => "RET_CHAT_MSG_INCLUDE_SPECIAL_STR",
            Self::RetChatMsgEmojiNotExist => "RET_CHAT_MSG_EMOJI_NOT_EXIST",
            Self::RetChatMsgEmojiGenderNotMatch => "RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH",
            Self::RetChatMsgEmojiNotMarked => "RET_CHAT_MSG_EMOJI_NOT_MARKED",
            Self::RetChatMsgEmojiAlreadyMarked => "RET_CHAT_MSG_EMOJI_ALREADY_MARKED",
            Self::RetChatMsgEmojiMarkedMaxLimit => "RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT",
            Self::RetBoxingClubChallengeNotOpen => "RET_BOXING_CLUB_CHALLENGE_NOT_OPEN",
            Self::RetMuseumNotOpen => "RET_MUSEUM_NOT_OPEN",
            Self::RetMuseumTurnCntNotMatch => "RET_MUSEUM_TURN_CNT_NOT_MATCH",
            Self::RetMuseumPhaseNotReach => "RET_MUSEUM_PHASE_NOT_REACH",
            Self::RetMuseumUnknowStuff => "RET_MUSEUM_UNKNOW_STUFF",
            Self::RetMuseumUnknowArea => "RET_MUSEUM_UNKNOW_AREA",
            Self::RetMuseumUnknowPos => "RET_MUSEUM_UNKNOW_POS",
            Self::RetMuseumStuffAlreadyInArea => "RET_MUSEUM_STUFF_ALREADY_IN_AREA",
            Self::RetMuseumStuffNotInArea => "RET_MUSEUM_STUFF_NOT_IN_AREA",
            Self::RetMuseumGetNpcRepeat => "RET_MUSEUM_GET_NPC_REPEAT",
            Self::RetMuseumGetNpcUnlock => "RET_MUSEUM_GET_NPC_UNLOCK",
            Self::RetMuseumGetNpcNotEnough => "RET_MUSEUM_GET_NPC_NOT_ENOUGH",
            Self::RetMuseumChangeStuffAreaError => "RET_MUSEUM_CHANGE_STUFF_AREA_ERROR",
            Self::RetMuseumNotInit => "RET_MUSEUM_NOT_INIT",
            Self::RetMuseumEventError => "RET_MUSEUM_EVENT_ERROR",
            Self::RetMuseumUnknowChooseEventId => "RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID",
            Self::RetMuseumEventOrderNotMatch => "RET_MUSEUM_EVENT_ORDER_NOT_MATCH",
            Self::RetMuseumEventPhaseNotUnlock => "RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK",
            Self::RetMuseumEventMissionNotFound => "RET_MUSEUM_EVENT_MISSION_NOT_FOUND",
            Self::RetMuseumAreaLevelUpAlready => "RET_MUSEUM_AREA_LEVEL_UP_ALREADY",
            Self::RetMuseumStuffAlreadyUsed => "RET_MUSEUM_STUFF_ALREADY_USED",
            Self::RetMuseumEventRoundNotUnlock => "RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK",
            Self::RetMuseumStuffInArea => "RET_MUSEUM_STUFF_IN_AREA",
            Self::RetMuseumStuffDispatch => "RET_MUSEUM_STUFF_DISPATCH",
            Self::RetMuseumIsEnd => "RET_MUSEUM_IS_END",
            Self::RetMuseumStuffLeaving => "RET_MUSEUM_STUFF_LEAVING",
            Self::RetMuseumEventMissionNotFinish => "RET_MUSEUM_EVENT_MISSION_NOT_FINISH",
            Self::RetMuseumCollectRewardNotExist => "RET_MUSEUM_COLLECT_REWARD_NOT_EXIST",
            Self::RetMuseumCollectRewardAlreadyTaken => {
                "RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN"
            }
            Self::RetMuseumAcceptMissionMaxLimit => "RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT",
            Self::RetRogueChallengeNotOpen => "RET_ROGUE_CHALLENGE_NOT_OPEN",
            Self::RetRogueChallengeAssisRefreshLimit => {
                "RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT"
            }
            Self::RetAlleyNotInit => "RET_ALLEY_NOT_INIT",
            Self::RetAlleyNotOpen => "RET_ALLEY_NOT_OPEN",
            Self::RetAlleyMapNotExist => "RET_ALLEY_MAP_NOT_EXIST",
            Self::RetAlleyEmptyPosList => "RET_ALLEY_EMPTY_POS_LIST",
            Self::RetAlleyLinePosInvalid => "RET_ALLEY_LINE_POS_INVALID",
            Self::RetAlleyShopNotUnlock => "RET_ALLEY_SHOP_NOT_UNLOCK",
            Self::RetAlleyDepotFull => "RET_ALLEY_DEPOT_FULL",
            Self::RetAlleyShopNotInclude => "RET_ALLEY_SHOP_NOT_INCLUDE",
            Self::RetAlleyEventNotUnlock => "RET_ALLEY_EVENT_NOT_UNLOCK",
            Self::RetAlleyEventNotRefresh => "RET_ALLEY_EVENT_NOT_REFRESH",
            Self::RetAlleyEventStateDoing => "RET_ALLEY_EVENT_STATE_DOING",
            Self::RetAlleyEventStateFinish => "RET_ALLEY_EVENT_STATE_FINISH",
            Self::RetAlleyEventError => "RET_ALLEY_EVENT_ERROR",
            Self::RetAlleyRewardLevelError => "RET_ALLEY_REWARD_LEVEL_ERROR",
            Self::RetAlleyRewardPrestigeNotEnough => {
                "RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH"
            }
            Self::RetAlleyShipEmpty => "RET_ALLEY_SHIP_EMPTY",
            Self::RetAlleyShipIdDismatch => "RET_ALLEY_SHIP_ID_DISMATCH",
            Self::RetAlleyShipNotExist => "RET_ALLEY_SHIP_NOT_EXIST",
            Self::RetAlleyShipNotUnlock => "RET_ALLEY_SHIP_NOT_UNLOCK",
            Self::RetAlleyGoodsNotExist => "RET_ALLEY_GOODS_NOT_EXIST",
            Self::RetAlleyGoodsNotUnlock => "RET_ALLEY_GOODS_NOT_UNLOCK",
            Self::RetAlleyProfitNotPositive => "RET_ALLEY_PROFIT_NOT_POSITIVE",
            Self::RetAlleySpecialOrderDismatch => "RET_ALLEY_SPECIAL_ORDER_DISMATCH",
            Self::RetAlleyOrderGoodsOverLimit => "RET_ALLEY_ORDER_GOODS_OVER_LIMIT",
            Self::RetAlleySpecialOrderConditionNotMeet => {
                "RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET"
            }
            Self::RetAlleyDepotSizeOverLimit => "RET_ALLEY_DEPOT_SIZE_OVER_LIMIT",
            Self::RetAlleyGoodsNotEnough => "RET_ALLEY_GOODS_NOT_ENOUGH",
            Self::RetAlleyOrderIndexInvalid => "RET_ALLEY_ORDER_INDEX_INVALID",
            Self::RetAlleyRewardAlreadyTake => "RET_ALLEY_REWARD_ALREADY_TAKE",
            Self::RetAlleyRewardNotExist => "RET_ALLEY_REWARD_NOT_EXIST",
            Self::RetAlleyMainMissionNotDoing => "RET_ALLEY_MAIN_MISSION_NOT_DOING",
            Self::RetAlleyCriticalEventNotFinish => "RET_ALLEY_CRITICAL_EVENT_NOT_FINISH",
            Self::RetAlleyShopGoodsNotValid => "RET_ALLEY_SHOP_GOODS_NOT_VALID",
            Self::RetAlleySlashNotOpen => "RET_ALLEY_SLASH_NOT_OPEN",
            Self::RetAlleyPlacingAnchorInvalid => "RET_ALLEY_PLACING_ANCHOR_INVALID",
            Self::RetAlleyPlacingGoodsIndexInvalid => {
                "RET_ALLEY_PLACING_GOODS_INDEX_INVALID"
            }
            Self::RetAlleySaveMapTooQuick => "RET_ALLEY_SAVE_MAP_TOO_QUICK",
            Self::RetAlleyMapNotLink => "RET_ALLEY_MAP_NOT_LINK",
            Self::RetAlleyFundsNotLowerBase => "RET_ALLEY_FUNDS_NOT_LOWER_BASE",
            Self::RetAlleyEventNotFinish => "RET_ALLEY_EVENT_NOT_FINISH",
            Self::RetAlleyNormalOrderNotMeet => "RET_ALLEY_NORMAL_ORDER_NOT_MEET",
            Self::RetPlayerReturnNotOpen => "RET_PLAYER_RETURN_NOT_OPEN",
            Self::RetPlayerReturnIsSigned => "RET_PLAYER_RETURN_IS_SIGNED",
            Self::RetPlayerReturnPointNotEnough => "RET_PLAYER_RETURN_POINT_NOT_ENOUGH",
            Self::RetPlayerReturnConditionInvalid => {
                "RET_PLAYER_RETURN_CONDITION_INVALID"
            }
            Self::RetPlayerReturnHasSigned => "RET_PLAYER_RETURN_HAS_SIGNED",
            Self::RetPlayerReturnRewardTaken => "RET_PLAYER_RETURN_REWARD_TAKEN",
            Self::RetPlayerReturnRelicTaken => "RET_PLAYER_RETURN_RELIC_TAKEN",
            Self::RetPlayerReturnConfigError => "RET_PLAYER_RETURN_CONFIG_ERROR",
            Self::RetPlayerReturnOptionalGiftInvalid => {
                "RET_PLAYER_RETURN_OPTIONAL_GIFT_INVALID"
            }
            Self::RetPlayerReturnOptionalGiftNotExist => {
                "RET_PLAYER_RETURN_OPTIONAL_GIFT_NOT_EXIST"
            }
            Self::RetPlayerReturnSignTypeInvalid => "RET_PLAYER_RETURN_SIGN_TYPE_INVALID",
            Self::RetAetherDivideNoLineup => "RET_AETHER_DIVIDE_NO_LINEUP",
            Self::RetAetherDivideLineupInvalid => "RET_AETHER_DIVIDE_LINEUP_INVALID",
            Self::RetChatBubbleIdError => "RET_CHAT_BUBBLE_ID_ERROR",
            Self::RetChatBubbleIdNotUnlock => "RET_CHAT_BUBBLE_ID_NOT_UNLOCK",
            Self::RetPhoneThemeIdError => "RET_PHONE_THEME_ID_ERROR",
            Self::RetPhoneThemeIdNotUnlock => "RET_PHONE_THEME_ID_NOT_UNLOCK",
            Self::RetChatBubbleSelectIsCurrent => "RET_CHAT_BUBBLE_SELECT_IS_CURRENT",
            Self::RetPhoneThemeSelectIsCurrent => "RET_PHONE_THEME_SELECT_IS_CURRENT",
            Self::RetPhoneCaseIdError => "RET_PHONE_CASE_ID_ERROR",
            Self::RetPhoneCaseIdNotUnlock => "RET_PHONE_CASE_ID_NOT_UNLOCK",
            Self::RetPhoneCaseSelectIsCurrent => "RET_PHONE_CASE_SELECT_IS_CURRENT",
            Self::RetChessRogueConfigNotFound => "RET_CHESS_ROGUE_CONFIG_NOT_FOUND",
            Self::RetChessRogueConfigInvalid => "RET_CHESS_ROGUE_CONFIG_INVALID",
            Self::RetChessRogueNoValidRoom => "RET_CHESS_ROGUE_NO_VALID_ROOM",
            Self::RetChessRogueNoCellInfo => "RET_CHESS_ROGUE_NO_CELL_INFO",
            Self::RetChessRogueCellNotFinish => "RET_CHESS_ROGUE_CELL_NOT_FINISH",
            Self::RetChessRogueCellIsLocked => "RET_CHESS_ROGUE_CELL_IS_LOCKED",
            Self::RetChessRogueScheduleNotMatch => "RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH",
            Self::RetChessRogueStatusFail => "RET_CHESS_ROGUE_STATUS_FAIL",
            Self::RetChessRogueAreaNotExist => "RET_CHESS_ROGUE_AREA_NOT_EXIST",
            Self::RetChessRogueLineupFail => "RET_CHESS_ROGUE_LINEUP_FAIL",
            Self::RetChessRogueAeonFail => "RET_CHESS_ROGUE_AEON_FAIL",
            Self::RetChessRogueEnterCellFail => "RET_CHESS_ROGUE_ENTER_CELL_FAIL",
            Self::RetChessRogueRollDiceFail => "RET_CHESS_ROGUE_ROLL_DICE_FAIL",
            Self::RetChessRogueDiceStatusFail => "RET_CHESS_ROGUE_DICE_STATUS_FAIL",
            Self::RetChessRogueDiceCntNotFull => "RET_CHESS_ROGUE_DICE_CNT_NOT_FULL",
            Self::RetChessRogueUnlock => "RET_CHESS_ROGUE_UNLOCK",
            Self::RetChessRoguePickAvatarFail => "RET_CHESS_ROGUE_PICK_AVATAR_FAIL",
            Self::RetChessRogueAvatarInvalid => "RET_CHESS_ROGUE_AVATAR_INVALID",
            Self::RetChessRogueCellCanNotSelect => "RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT",
            Self::RetChessRogueDiceConfirmed => "RET_CHESS_ROGUE_DICE_CONFIRMED",
            Self::RetChessRogueNousDiceNotMatch => "RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH",
            Self::RetChessRogueNousDiceRarityFail => {
                "RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL"
            }
            Self::RetChessRogueNousDiceSurfaceDuplicate => {
                "RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE"
            }
            Self::RetChessRogueNotInRogue => "RET_CHESS_ROGUE_NOT_IN_ROGUE",
            Self::RetChessRogueNousDiceBranchLimit => {
                "RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT"
            }
            Self::RetHeliobusNotOpen => "RET_HELIOBUS_NOT_OPEN",
            Self::RetHeliobusSnsPostNotUnlock => "RET_HELIOBUS_SNS_POST_NOT_UNLOCK",
            Self::RetHeliobusSnsAlreadyRead => "RET_HELIOBUS_SNS_ALREADY_READ",
            Self::RetHeliobusSnsAlreadyLiked => "RET_HELIOBUS_SNS_ALREADY_LIKED",
            Self::RetHeliobusSnsAlreadyCommented => "RET_HELIOBUS_SNS_ALREADY_COMMENTED",
            Self::RetHeliobusSnsInMission => "RET_HELIOBUS_SNS_IN_MISSION",
            Self::RetHeliobusSnsAlreadyPosted => "RET_HELIOBUS_SNS_ALREADY_POSTED",
            Self::RetHeliobusSnsNotDoingMission => "RET_HELIOBUS_SNS_NOT_DOING_MISSION",
            Self::RetHeliobusRewardLevelMax => "RET_HELIOBUS_REWARD_LEVEL_MAX",
            Self::RetHeliobusIncomeNotEnough => "RET_HELIOBUS_INCOME_NOT_ENOUGH",
            Self::RetHeliobusSnsCommentNotUnlock => "RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK",
            Self::RetHeliobusChallengeNotUnlock => "RET_HELIOBUS_CHALLENGE_NOT_UNLOCK",
            Self::RetHeliobusChallengeIdError => "RET_HELIOBUS_CHALLENGE_ID_ERROR",
            Self::RetHeliobusSkillNotUnlock => "RET_HELIOBUS_SKILL_NOT_UNLOCK",
            Self::RetHeliobusAcceptPostMissionFail => {
                "RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL"
            }
            Self::RetHeliobusSkillNotSelected => "RET_HELIOBUS_SKILL_NOT_SELECTED",
            Self::RetHeliobusPlaneTypeInvalid => "RET_HELIOBUS_PLANE_TYPE_INVALID",
            Self::RetReddotParamInvalid => "RET_REDDOT_PARAM_INVALID",
            Self::RetReddotActivityNotOpen => "RET_REDDOT_ACTIVITY_NOT_OPEN",
            Self::RetRogueEndlessActivityConfigError => {
                "RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR"
            }
            Self::RetRogueEndlessActivityNotOpen => "RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN",
            Self::RetRogueEndlessActivityOverBonusRewardLimit => {
                "RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT"
            }
            Self::RetRogueEndlessActivityScoreNotMeet => {
                "RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET"
            }
            Self::RetRogueEndlessActivityRewardLevleAlreadyTake => {
                "RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE"
            }
            Self::RetHeartDialScriptNotFound => "RET_HEART_DIAL_SCRIPT_NOT_FOUND",
            Self::RetHeartDialScriptEmotionTheSame => {
                "RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME"
            }
            Self::RetHeartDialScriptStepNotNormal => {
                "RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL"
            }
            Self::RetHeartDialScriptConditionNotMatch => {
                "RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH"
            }
            Self::RetHeartDialScriptSubmitItemNumNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH"
            }
            Self::RetHeartDialScriptSubmitItemIdNotMatch => {
                "RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH"
            }
            Self::RetHeartDialDialogueNotFound => "RET_HEART_DIAL_DIALOGUE_NOT_FOUND",
            Self::RetHeartDialDialogueAlreadyPerformed => {
                "RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED"
            }
            Self::RetHeartDialNpcNotFound => "RET_HEART_DIAL_NPC_NOT_FOUND",
            Self::RetHeartDialTraceConfigNotFound => {
                "RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND"
            }
            Self::RetHeartDialFloorTraceExist => "RET_HEART_DIAL_FLOOR_TRACE_EXIST",
            Self::RetHeartDialTraceFloorNotMatch => {
                "RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH"
            }
            Self::RetTravelBrochureConfigError => "RET_TRAVEL_BROCHURE_CONFIG_ERROR",
            Self::RetTravelBrochureParamInvalid => "RET_TRAVEL_BROCHURE_PARAM_INVALID",
            Self::RetTravelBrochureLocked => "RET_TRAVEL_BROCHURE_LOCKED",
            Self::RetTravelBrochureCannotOperate => "RET_TRAVEL_BROCHURE_CANNOT_OPERATE",
            Self::RetTravelBrochureWorldIdNotMatch => {
                "RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH"
            }
            Self::RetTravelBrochureHasNoWorldBook => {
                "RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK"
            }
            Self::RetTravelBrochurePageFull => "RET_TRAVEL_BROCHURE_PAGE_FULL",
            Self::RetMapRotationNotInRegion => "RET_MAP_ROTATION_NOT_IN_REGION",
            Self::RetMapRotationRotaterAlreadyDeployed => {
                "RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED"
            }
            Self::RetMapRotationEnergyNotEnough => "RET_MAP_ROTATION_ENERGY_NOT_ENOUGH",
            Self::RetMapRotationEntityNotOnCurPose => {
                "RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE"
            }
            Self::RetMapRotationRotaterNotDeployed => {
                "RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED"
            }
            Self::RetMapRotationPoseRotaterMismatch => {
                "RET_MAP_ROTATION_POSE_ROTATER_MISMATCH"
            }
            Self::RetMapRotationRotaterNotRemovable => {
                "RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE"
            }
            Self::RetMapRotationRotaterDisposable => {
                "RET_MAP_ROTATION_ROTATER_DISPOSABLE"
            }
            Self::RetSpaceZooActivityCatNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatParamInvalid => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID"
            }
            Self::RetSpaceZooActivityCatItemNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH"
            }
            Self::RetSpaceZooActivityCatBagFull => "RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL",
            Self::RetSpaceZooActivityCatNotToMutate => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE"
            }
            Self::RetSpaceZooActivityCatStateError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR"
            }
            Self::RetSpaceZooActivityCatCatteryLocked => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED"
            }
            Self::RetSpaceZooActivityCatOutNow => "RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW",
            Self::RetSpaceZooActivityCatConfigNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatFeatureNotFound => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND"
            }
            Self::RetSpaceZooActivityCatAddCatError => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR"
            }
            Self::RetSpaceZooActivityCatMoneyNotEnough => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH"
            }
            Self::RetSpaceZooActivityCatCondNotMatch => {
                "RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH"
            }
            Self::RetStrongChallengeActivityStageCfgMiss => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS"
            }
            Self::RetStrongChallengeActivityStageNotOpen => {
                "RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN"
            }
            Self::RetStrongChallengeActivityBuffError => {
                "RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR"
            }
            Self::RetRollShopNotFound => "RET_ROLL_SHOP_NOT_FOUND",
            Self::RetRollShopGroupEmpty => "RET_ROLL_SHOP_GROUP_EMPTY",
            Self::RetRollShopEmpty => "RET_ROLL_SHOP_EMPTY",
            Self::RetRollShopGachaReqDuplicated => "RET_ROLL_SHOP_GACHA_REQ_DUPLICATED",
            Self::RetRollShopRandomError => "RET_ROLL_SHOP_RANDOM_ERROR",
            Self::RetRollShopGroupTypeNotFound => "RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND",
            Self::RetRollShopHasStoredRewardAlready => {
                "RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY"
            }
            Self::RetRollShopNoStoredReward => "RET_ROLL_SHOP_NO_STORED_REWARD",
            Self::RetRollShopNotInValidScene => "RET_ROLL_SHOP_NOT_IN_VALID_SCENE",
            Self::RetRollShopInvalidRollShopType => {
                "RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE"
            }
            Self::RetActivityRaidCollectionPrevNotFinish => {
                "RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH"
            }
            Self::RetActivityRaidCollectionGroupEnterNextUnavailable => {
                "RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE"
            }
            Self::RetActivityRaidCollectionIsLast => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_LAST"
            }
            Self::RetActivityRaidCollectionIsNotNext => {
                "RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT"
            }
            Self::RetOfferingNotUnlock => "RET_OFFERING_NOT_UNLOCK",
            Self::RetOfferingLevelNotUnlock => "RET_OFFERING_LEVEL_NOT_UNLOCK",
            Self::RetOfferingReachMaxLevel => "RET_OFFERING_REACH_MAX_LEVEL",
            Self::RetOfferingItemNotEnough => "RET_OFFERING_ITEM_NOT_ENOUGH",
            Self::RetOfferingLongtailNotOpen => "RET_OFFERING_LONGTAIL_NOT_OPEN",
            Self::RetOfferingRewardCondition => "RET_OFFERING_REWARD_CONDITION",
            Self::RetDrinkMakerChatInvalid => "RET_DRINK_MAKER_CHAT_INVALID",
            Self::RetDrinkMakerParamInvalid => "RET_DRINK_MAKER_PARAM_INVALID",
            Self::RetDrinkMakerParamNotUnlock => "RET_DRINK_MAKER_PARAM_NOT_UNLOCK",
            Self::RetDrinkMakerConfigNotFound => "RET_DRINK_MAKER_CONFIG_NOT_FOUND",
            Self::RetDrinkMakerNotLastChat => "RET_DRINK_MAKER_NOT_LAST_CHAT",
            Self::RetDrinkMakerDayAndFreePhaseNotOpen => {
                "RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN"
            }
            Self::RetDrinkMakerCheersNotAbleToNextGroup => {
                "RET_DRINK_MAKER_CHEERS_NOT_ABLE_TO_NEXT_GROUP"
            }
            Self::RetDrinkMakerCheersDrinkAlreadyMade => {
                "RET_DRINK_MAKER_CHEERS_DRINK_ALREADY_MADE"
            }
            Self::RetDrinkMakerCheersActivityNotOpen => {
                "RET_DRINK_MAKER_CHEERS_ACTIVITY_NOT_OPEN"
            }
            Self::RetDrinkMakerCheersMakeDrinkPreMissionNotFinished => {
                "RET_DRINK_MAKER_CHEERS_MAKE_DRINK_PRE_MISSION_NOT_FINISHED"
            }
            Self::RetMonopolyNotOpen => "RET_MONOPOLY_NOT_OPEN",
            Self::RetMonopolyConfigError => "RET_MONOPOLY_CONFIG_ERROR",
            Self::RetMonopolyDiceNotEnough => "RET_MONOPOLY_DICE_NOT_ENOUGH",
            Self::RetMonopolyCurCellNotFinish => "RET_MONOPOLY_CUR_CELL_NOT_FINISH",
            Self::RetMonopolyCoinNotEnough => "RET_MONOPOLY_COIN_NOT_ENOUGH",
            Self::RetMonopolyCellWaitPending => "RET_MONOPOLY_CELL_WAIT_PENDING",
            Self::RetMonopolyCellStateError => "RET_MONOPOLY_CELL_STATE_ERROR",
            Self::RetMonopolyCellContentError => "RET_MONOPOLY_CELL_CONTENT_ERROR",
            Self::RetMonopolyItemNotEnough => "RET_MONOPOLY_ITEM_NOT_ENOUGH",
            Self::RetMonopolyCellContentCannotGiveup => {
                "RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP"
            }
            Self::RetMonopolyAssetLevelInvalid => "RET_MONOPOLY_ASSET_LEVEL_INVALID",
            Self::RetMonopolyTurnNotFinish => "RET_MONOPOLY_TURN_NOT_FINISH",
            Self::RetMonopolyGuideNotFinish => "RET_MONOPOLY_GUIDE_NOT_FINISH",
            Self::RetMonopolyRaffleRewardReissued => {
                "RET_MONOPOLY_RAFFLE_REWARD_REISSUED"
            }
            Self::RetMonopolyNoGameActive => "RET_MONOPOLY_NO_GAME_ACTIVE",
            Self::RetMonopolyGameRatioNotIncreasable => {
                "RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE"
            }
            Self::RetMonopolyGameRatioMax => "RET_MONOPOLY_GAME_RATIO_MAX",
            Self::RetMonopolyGameTargetRatioInvalid => {
                "RET_MONOPOLY_GAME_TARGET_RATIO_INVALID"
            }
            Self::RetMonopolyGameBingoFlipPosInvalid => {
                "RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID"
            }
            Self::RetMonopolyGameGuessAlreadyChoose => {
                "RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE"
            }
            Self::RetMonopolyGameGuessChooseInvalid => {
                "RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID"
            }
            Self::RetMonopolyGameGuessInformationAlreadyBought => {
                "RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT"
            }
            Self::RetMonopolyGameRaiseRatioNotUnlock => {
                "RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK"
            }
            Self::RetMonopolyFriendNotSynced => "RET_MONOPOLY_FRIEND_NOT_SYNCED",
            Self::RetMonopolyGetFriendRankingListInCd => {
                "RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Self::RetMonopolyLikeTargetNotFriend => "RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND",
            Self::RetMonopolyDailyAlreadyLiked => "RET_MONOPOLY_DAILY_ALREADY_LIKED",
            Self::RetMonopolySocialEventStatusNotMatch => {
                "RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH"
            }
            Self::RetMonopolySocialEventServerCacheNotExist => {
                "RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST"
            }
            Self::RetMonopolyActivityIdNotMatch => "RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH",
            Self::RetMonopolyRafflePoolNotExist => "RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST",
            Self::RetMonopolyRafflePoolTimeNotMatch => {
                "RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH"
            }
            Self::RetMonopolyRafflePoolPhaseNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET"
            }
            Self::RetMonopolyRafflePoolShowTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET"
            }
            Self::RetMonopolyRaffleTicketNotFound => {
                "RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND"
            }
            Self::RetMonopolyRaffleTicketTimeNotMeet => {
                "RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET"
            }
            Self::RetMonopolyRaffleTicketRewardAlreadyTaken => {
                "RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN"
            }
            Self::RetMonopolyRafflePoolNotInRaffleTime => {
                "RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME"
            }
            Self::RetMonopolyMbtiReportRewardAlreadyTaken => {
                "RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN"
            }
            Self::RetEvolveBuildLevelGaming => "RET_EVOLVE_BUILD_LEVEL_GAMING",
            Self::RetEveolveBuildLevelBanRandom => "RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM",
            Self::RetEvolveBuildFirstRewardAlreadyTaken => {
                "RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN"
            }
            Self::RetEvolveBuildLevelUnfinish => "RET_EVOLVE_BUILD_LEVEL_UNFINISH",
            Self::RetEvolveBuildShopAbilityMaxLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL"
            }
            Self::RetEvolveBuildShopAbilityMinLevel => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL"
            }
            Self::RetEvolveBuildShopAbilityNotGet => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET"
            }
            Self::RetEvolveBuildLevelLock => "RET_EVOLVE_BUILD_LEVEL_LOCK",
            Self::RetEvolveBuildExpNotEnough => "RET_EVOLVE_BUILD_EXP_NOT_ENOUGH",
            Self::RetEvolveBuildShopAbilityLevelError => {
                "RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR"
            }
            Self::RetEvolveBuildActivityNotOpen => "RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN",
            Self::RetEvolveBuildShopAbilityEmpty => "RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY",
            Self::RetEvolveBuildLevelNotStart => "RET_EVOLVE_BUILD_LEVEL_NOT_START",
            Self::RetEvolveBuildShopLock => "RET_EVOLVE_BUILD_SHOP_LOCK",
            Self::RetEvolveBuildRewardLock => "RET_EVOLVE_BUILD_REWARD_LOCK",
            Self::RetEvolveBuildRewardLevelMax => "RET_EVOLVE_BUILD_REWARD_LEVEL_MAX",
            Self::RetEvolveBuildRewardAlreadyAllTaken => {
                "RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN"
            }
            Self::RetEvolveBuildSeasonError => "RET_EVOLVE_BUILD_SEASON_ERROR",
            Self::RetEvolveBuildTeachSkipQuestNotFinish => {
                "RET_EVOLVE_BUILD_TEACH_SKIP_QUEST_NOT_FINISH"
            }
            Self::RetClockParkConfigError => "RET_CLOCK_PARK_CONFIG_ERROR",
            Self::RetClockParkEffectError => "RET_CLOCK_PARK_EFFECT_ERROR",
            Self::RetClockParkScriptAlreadyUnlock => {
                "RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK"
            }
            Self::RetClockParkScriptUnlockConditionNotMeet => {
                "RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET"
            }
            Self::RetClockParkTalentAlreadyUnlock => {
                "RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK"
            }
            Self::RetClockParkScriptLocked => "RET_CLOCK_PARK_SCRIPT_LOCKED",
            Self::RetClockParkHasOngoingScript => "RET_CLOCK_PARK_HAS_ONGOING_SCRIPT",
            Self::RetClockParkNoOngoingScript => "RET_CLOCK_PARK_NO_ONGOING_SCRIPT",
            Self::RetClockParkDicePlacementError => "RET_CLOCK_PARK_DICE_PLACEMENT_ERROR",
            Self::RetClockParkMismatchStatus => "RET_CLOCK_PARK_MISMATCH_STATUS",
            Self::RetClockParkNoBuff => "RET_CLOCK_PARK_NO_BUFF",
            Self::RetClockParkSlotMachineGachaReqDuplicated => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED"
            }
            Self::RetClockParkSlotMachineCostNotEnough => {
                "RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH"
            }
            Self::RetClockParkSlotMachineGachaCntExceedLimit => {
                "RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT"
            }
            Self::RetClockParkNotOpen => "RET_CLOCK_PARK_NOT_OPEN",
            Self::RetTournRogueStatusMismatch => "RET_TOURN_ROGUE_STATUS_MISMATCH",
            Self::RetMagicRogueStatusMismatch => "RET_MAGIC_ROGUE_STATUS_MISMATCH",
            Self::RetAutoMountMagicUnitNoMatchedMagicScepter => {
                "RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER"
            }
            Self::RetMagicUnitWorkbenchReforgeGenFail => {
                "RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL"
            }
            Self::RetMatchAlreadyInMatch => "RET_MATCH_ALREADY_IN_MATCH",
            Self::RetMatchNotInMatch => "RET_MATCH_NOT_IN_MATCH",
            Self::RetMatchPlayNotOpen => "RET_MATCH_PLAY_NOT_OPEN",
            Self::RetCrossStateError => "RET_CROSS_STATE_ERROR",
            Self::RetMatchVersionNotEqual => "RET_MATCH_VERSION_NOT_EQUAL",
            Self::RetMatchPlayerNotInLobbyRoom => "RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM",
            Self::RetLobbyStateNotMatch => "RET_LOBBY_STATE_NOT_MATCH",
            Self::RetLobbyRoomNotExist => "RET_LOBBY_ROOM_NOT_EXIST",
            Self::RetLobbyRoomPalyerFull => "RET_LOBBY_ROOM_PALYER_FULL",
            Self::RetLobbyRoomPalyerNotReady => "RET_LOBBY_ROOM_PALYER_NOT_READY",
            Self::RetLobbyRoomPalyerFighting => "RET_LOBBY_ROOM_PALYER_FIGHTING",
            Self::RetFightRoomNotExist => "RET_FIGHT_ROOM_NOT_EXIST",
            Self::RetFightMatch3PlayerStateErr => "RET_FIGHT_MATCH3_PLAYER_STATE_ERR",
            Self::RetFightMatch3RoomStateErr => "RET_FIGHT_MATCH3_ROOM_STATE_ERR",
            Self::RetCrossStateTimeOut => "RET_CROSS_STATE_TIME_OUT",
            Self::RetLobbyStartFightDisable => "RET_LOBBY_START_FIGHT_DISABLE",
            Self::RetLobbyStartFightPlayerLack => "RET_LOBBY_START_FIGHT_PLAYER_LACK",
            Self::RetMatchClientDataVersionLow => "RET_MATCH_CLIENT_DATA_VERSION_LOW",
            Self::RetLobbyStartMatchDisable => "RET_LOBBY_START_MATCH_DISABLE",
            Self::RetLobbyInteractInCd => "RET_LOBBY_INTERACT_IN_CD",
            Self::RetLobbyOwnerStateErr => "RET_LOBBY_OWNER_STATE_ERR",
            Self::RetLobbyOpTooFast => "RET_LOBBY_OP_TOO_FAST",
            Self::RetFightMatch3SoloPlayerTurnErr => {
                "RET_FIGHT_MATCH3_SOLO_PLAYER_TURN_ERR"
            }
            Self::RetMatchPlayNotSupported => "RET_MATCH_PLAY_NOT_SUPPORTED",
            Self::RetMatchPlayDataNotExist => "RET_MATCH_PLAY_DATA_NOT_EXIST",
            Self::RetMatchPlayNotSupportFriendRanking => {
                "RET_MATCH_PLAY_NOT_SUPPORT_FRIEND_RANKING"
            }
            Self::RetMatchPlayGetFriendRankingInfoInCd => {
                "RET_MATCH_PLAY_GET_FRIEND_RANKING_INFO_IN_CD"
            }
            Self::RetSwordTrainingNoActiveGame => "RET_SWORD_TRAINING_NO_ACTIVE_GAME",
            Self::RetSwordTrainingNoPendingActionMatch => {
                "RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH"
            }
            Self::RetSwordTrainingPartnerAbilityInvalid => {
                "RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID"
            }
            Self::RetSwordTrainingSkillAlreadyLearned => {
                "RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED"
            }
            Self::RetSwordTrainingConditionNotMeet => {
                "RET_SWORD_TRAINING_CONDITION_NOT_MEET"
            }
            Self::RetSwordTrainingParentSkillNotLearned => {
                "RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED"
            }
            Self::RetSwordTrainingSkillTypeNotUnlock => {
                "RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK"
            }
            Self::RetSwordTrainingGameAlreadyExist => {
                "RET_SWORD_TRAINING_GAME_ALREADY_EXIST"
            }
            Self::RetSwordTrainingEndingHintNotMatch => {
                "RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH"
            }
            Self::RetSwordTrainingStorylineConfigNotFound => {
                "RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND"
            }
            Self::RetSwordTrainingStoryConfigNotFound => {
                "RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND"
            }
            Self::RetSwordTrainingUnlockNotFinish => {
                "RET_SWORD_TRAINING_UNLOCK_NOT_FINISH"
            }
            Self::RetSwordTrainingOptionMismatch => "RET_SWORD_TRAINING_OPTION_MISMATCH",
            Self::RetSwordTrainingRestoreWithoutExamFailed => {
                "RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED"
            }
            Self::RetSwordTrainingNoRestoreGameAvailable => {
                "RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE"
            }
            Self::RetSwordTrainingEndingStoryNotMatch => {
                "RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH"
            }
            Self::RetSwordTrainingEndingNotFinish => {
                "RET_SWORD_TRAINING_ENDING_NOT_FINISH"
            }
            Self::RetSwordTrainingEndingRewardTaken => {
                "RET_SWORD_TRAINING_ENDING_REWARD_TAKEN"
            }
            Self::RetSwordTrainingCombatRankNotChange => {
                "RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE"
            }
            Self::RetSwordTrainingDirectBattleDisable => {
                "RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE"
            }
            Self::RetFightFestPhaseNotMatch => "RET_FIGHT_FEST_PHASE_NOT_MATCH",
            Self::RetFightFestScoreRaceAlreadyFinish => {
                "RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH"
            }
            Self::RetFightFestChallengeLocked => "RET_FIGHT_FEST_CHALLENGE_LOCKED",
            Self::RetFightFestCoachSkillLocked => "RET_FIGHT_FEST_COACH_SKILL_LOCKED",
            Self::RetFightFestCoachSkillEquipTypeExisted => {
                "RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED"
            }
            Self::RetFightFestScoreRaceMissionDoind => {
                "RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND"
            }
            Self::RetFightFestCoachSkillNoEquip => "RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP",
            Self::RetPetNotExist => "RET_PET_NOT_EXIST",
            Self::RetPetAlreadySummoned => "RET_PET_ALREADY_SUMMONED",
            Self::RetPetNotSummoned => "RET_PET_NOT_SUMMONED",
            Self::RetMusicRhythmLevelTimeTooShort => {
                "RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT"
            }
            Self::RetMusicRhythmNotInLevel => "RET_MUSIC_RHYTHM_NOT_IN_LEVEL",
            Self::RetMusicRhythmPreDifficultyNotPass => {
                "RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS"
            }
            Self::RetMusicRhythmSongLimited => "RET_MUSIC_RHYTHM_SONG_LIMITED",
            Self::RetMusicRhythmSongLocked => "RET_MUSIC_RHYTHM_SONG_LOCKED",
            Self::RetMusicRhythmTrackLocked => "RET_MUSIC_RHYTHM_TRACK_LOCKED",
            Self::RetMusicRhythmLevelNotUnlock => "RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK",
            Self::RetMusicRhythmSongSfxLocked => "RET_MUSIC_RHYTHM_SONG_SFX_LOCKED",
            Self::RetTrainPartyCoinNotEnough => "RET_TRAIN_PARTY_COIN_NOT_ENOUGH",
            Self::RetTrainPartyDiyTagNotMatch => "RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH",
            Self::RetTrainPartyUseCardMobilityNotEnough => {
                "RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH"
            }
            Self::RetTrainPartyAreaUnlockCoinNotEnough => {
                "RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH"
            }
            Self::RetTarotBookEnergyNotEnough => "RET_TAROT_BOOK_ENERGY_NOT_ENOUGH",
            Self::RetTarotBookPackNotAvailable => "RET_TAROT_BOOK_PACK_NOT_AVAILABLE",
            Self::RetTarotBookStoryAlreadyUnlock => "RET_TAROT_BOOK_STORY_ALREADY_UNLOCK",
            Self::RetTarotBookCardNotEnough => "RET_TAROT_BOOK_CARD_NOT_ENOUGH",
            Self::RetTarotBookClueNotEnough => "RET_TAROT_BOOK_CLUE_NOT_ENOUGH",
            Self::RetTarotBookUnlockStoryCardNotSame => {
                "RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME"
            }
            Self::RetTarotBookStoryNotUnlock => "RET_TAROT_BOOK_STORY_NOT_UNLOCK",
            Self::RetTarotBookStoryAlreadyFinish => "RET_TAROT_BOOK_STORY_ALREADY_FINISH",
            Self::RetTarotBookInteractionAlreadyFinish => {
                "RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH"
            }
            Self::RetChimeraChimeraNotUnlock => "RET_CHIMERA_CHIMERA_NOT_UNLOCK",
            Self::RetChimeraChimeraDuplicated => "RET_CHIMERA_CHIMERA_DUPLICATED",
            Self::RetChimeraChimeraTypeError => "RET_CHIMERA_CHIMERA_TYPE_ERROR",
            Self::RetChimeraWorkMismatchRound => "RET_CHIMERA_WORK_MISMATCH_ROUND",
            Self::RetChimeraWorkRoundOptionNotMeet => {
                "RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET"
            }
            Self::RetChimeraEndlessNotUnlock => "RET_CHIMERA_ENDLESS_NOT_UNLOCK",
            Self::RetChimeraInEndless => "RET_CHIMERA_IN_ENDLESS",
            Self::RetChimeraNotInEndless => "RET_CHIMERA_NOT_IN_ENDLESS",
            Self::RetChimeraChimeraFallInEndless => "RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS",
            Self::RetPlanetFesAvatarNotExist => "RET_PLANET_FES_AVATAR_NOT_EXIST",
            Self::RetPlanetFesLandNotExist => "RET_PLANET_FES_LAND_NOT_EXIST",
            Self::RetPlanetFesItemNotEnough => "RET_PLANET_FES_ITEM_NOT_ENOUGH",
            Self::RetPlanetFesLandAlreadyUnlock => "RET_PLANET_FES_LAND_ALREADY_UNLOCK",
            Self::RetPlanetFesWorkAvatarRepeat => "RET_PLANET_FES_WORK_AVATAR_REPEAT",
            Self::RetPlanetFesWorkAvatarTypeNotMatch => {
                "RET_PLANET_FES_WORK_AVATAR_TYPE_NOT_MATCH"
            }
            Self::RetPlanetFesActivityNotOpen => "RET_PLANET_FES_ACTIVITY_NOT_OPEN",
            Self::RetPlanetFesSkilltreePhaseNotUnlock => {
                "RET_PLANET_FES_SKILLTREE_PHASE_NOT_UNLOCK"
            }
            Self::RetPlanetFesSkillNotUnlock => "RET_PLANET_FES_SKILL_NOT_UNLOCK",
            Self::RetPlanetFesConfigError => "RET_PLANET_FES_CONFIG_ERROR",
            Self::RetPlanetFesNotInBusinessDay => "RET_PLANET_FES_NOT_IN_BUSINESS_DAY",
            Self::RetPlanetFesEventLocked => "RET_PLANET_FES_EVENT_LOCKED",
            Self::RetPlanetFesEventFinished => "RET_PLANET_FES_EVENT_FINISHED",
            Self::RetPlanetFesEventInCd => "RET_PLANET_FES_EVENT_IN_CD",
            Self::RetPlanetFesEventAlreadyInState => {
                "RET_PLANET_FES_EVENT_ALREADY_IN_STATE"
            }
            Self::RetPlanetFesEventNoWorkAvatar => "RET_PLANET_FES_EVENT_NO_WORK_AVATAR",
            Self::RetPlanetFesEventProcessingCannotDisappear => {
                "RET_PLANET_FES_EVENT_PROCESSING_CANNOT_DISAPPEAR"
            }
            Self::RetPlanetFesEventOptionPhaseWrong => {
                "RET_PLANET_FES_EVENT_OPTION_PHASE_WRONG"
            }
            Self::RetPlanetFesFunctionNotUnlock => "RET_PLANET_FES_FUNCTION_NOT_UNLOCK",
            Self::RetPlanetFesRewardAlreadyTaken => "RET_PLANET_FES_REWARD_ALREADY_TAKEN",
            Self::RetPlanetFesEventGameNotActive => {
                "RET_PLANET_FES_EVENT_GAME_NOT_ACTIVE"
            }
            Self::RetPlanetFesRegionProgressNotEnough => {
                "RET_PLANET_FES_REGION_PROGRESS_NOT_ENOUGH"
            }
            Self::RetPlanetFesFriendItemNotEnough => {
                "RET_PLANET_FES_FRIEND_ITEM_NOT_ENOUGH"
            }
            Self::RetPlanetFesPiecePermissionBan => "RET_PLANET_FES_PIECE_PERMISSION_BAN",
            Self::RetPlanetFesPieceOfferNotExist => {
                "RET_PLANET_FES_PIECE_OFFER_NOT_EXIST"
            }
            Self::RetPlanetFesPieceApplyInStackTooMuch => {
                "RET_PLANET_FES_PIECE_APPLY_IN_STACK_TOO_MUCH"
            }
            Self::RetPlanetFesPieceApplyNotExist => {
                "RET_PLANET_FES_PIECE_APPLY_NOT_EXIST"
            }
            Self::RetPlanetFesGetFriendRankingListInCd => {
                "RET_PLANET_FES_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Self::RetPlanetFesGivePieceOwnedByTarget => {
                "RET_PLANET_FES_GIVE_PIECE_OWNED_BY_TARGET"
            }
            Self::RetPlanetFesLevelMax => "RET_PLANET_FES_LEVEL_MAX",
            Self::RetPlanetFesExclusiveEvent => "RET_PLANET_FES_EXCLUSIVE_EVENT",
            Self::RetMarbleSealAlreadyUnlocked => "RET_MARBLE_SEAL_ALREADY_UNLOCKED",
            Self::RetMarbleSealShopItemNotEnough => {
                "RET_MARBLE_SEAL_SHOP_ITEM_NOT_ENOUGH"
            }
            Self::RetMarbleSealLocked => "RET_MARBLE_SEAL_LOCKED",
            Self::RetCakeRaceFieldLocked => "RET_CAKE_RACE_FIELD_LOCKED",
            Self::RetCakeRaceFieldCostNotEnough => "RET_CAKE_RACE_FIELD_COST_NOT_ENOUGH",
            Self::RetCakeRaceFieldPvpOnly => "RET_CAKE_RACE_FIELD_PVP_ONLY",
            Self::RetCakeRaceAlreadyInGame => "RET_CAKE_RACE_ALREADY_IN_GAME",
            Self::RetCakeRaceGetFriendRankingListInCd => {
                "RET_CAKE_RACE_GET_FRIEND_RANKING_LIST_IN_CD"
            }
            Self::RetCakeRaceLikeFriendTargetNotFriend => {
                "RET_CAKE_RACE_LIKE_FRIEND_TARGET_NOT_FRIEND"
            }
            Self::RetCakeRaceLikeFriendDailyAlreadyLiked => {
                "RET_CAKE_RACE_LIKE_FRIEND_DAILY_ALREADY_LIKED"
            }
            Self::RetCakeRaceLikeFriendInCd => "RET_CAKE_RACE_LIKE_FRIEND_IN_CD",
            Self::RetFateStatusNotMatch => "RET_FATE_STATUS_NOT_MATCH",
            Self::RetFateBuffSlotNotEnough => "RET_FATE_BUFF_SLOT_NOT_ENOUGH",
            Self::RetFateCoinNotEnough => "RET_FATE_COIN_NOT_ENOUGH",
            Self::RetFateReijuRerollCountNotEnough => {
                "RET_FATE_REIJU_REROLL_COUNT_NOT_ENOUGH"
            }
            Self::RetFateBuffLevelMax => "RET_FATE_BUFF_LEVEL_MAX",
            Self::RetFateActionQueueNotEmpty => "RET_FATE_ACTION_QUEUE_NOT_EMPTY",
            Self::RetParkourActivityNotOpen => "RET_PARKOUR_ACTIVITY_NOT_OPEN",
            Self::RetParkourLevelNotUnlock => "RET_PARKOUR_LEVEL_NOT_UNLOCK",
            Self::RetParkourRailBallNotAllowed => "RET_PARKOUR_RAIL_BALL_NOT_ALLOWED",
            Self::RetParkourNotInLevel => "RET_PARKOUR_NOT_IN_LEVEL",
            Self::RetParkourLevelNotMatch => "RET_PARKOUR_LEVEL_NOT_MATCH",
            Self::RetParkourNotPlayedAllNonStoryLevel => {
                "RET_PARKOUR_NOT_PLAYED_ALL_NON_STORY_LEVEL"
            }
            Self::RetFtcLimitNameChange => "RET_FTC_LIMIT_NAME_CHANGE",
            Self::RetElfRestaurantConfigError => "RET_ELF_RESTAURANT_CONFIG_ERROR",
            Self::RetElfRestaurantFieldAlreadyBought => {
                "RET_ELF_RESTAURANT_FIELD_ALREADY_BOUGHT"
            }
            Self::RetElfRestaurantFieldNotBought => "RET_ELF_RESTAURANT_FIELD_NOT_BOUGHT",
            Self::RetElfRestaurantFieldCellInvalid => {
                "RET_ELF_RESTAURANT_FIELD_CELL_INVALID"
            }
            Self::RetElfRestaurantFarmTypeInvalid => {
                "RET_ELF_RESTAURANT_FARM_TYPE_INVALID"
            }
            Self::RetElfRestaurantShopItemNotExist => {
                "RET_ELF_RESTAURANT_SHOP_ITEM_NOT_EXIST"
            }
            Self::RetElfRestaurantShopItemCountLimit => {
                "RET_ELF_RESTAURANT_SHOP_ITEM_COUNT_LIMIT"
            }
            Self::RetElfRestaurantTradeOrderNotExist => {
                "RET_ELF_RESTAURANT_TRADE_ORDER_NOT_EXIST"
            }
            Self::RetElfRestaurantNoReward => "RET_ELF_RESTAURANT_NO_REWARD",
            Self::RetElfRestaurantNotInit => "RET_ELF_RESTAURANT_NOT_INIT",
            Self::RetGridFightConfMiss => "RET_GRID_FIGHT_CONF_MISS",
            Self::RetGridFightRoleNotExist => "RET_GRID_FIGHT_ROLE_NOT_EXIST",
            Self::RetGridFightRoleAlreadyExist => "RET_GRID_FIGHT_ROLE_ALREADY_EXIST",
            Self::RetGridFightPosExistRole => "RET_GRID_FIGHT_POS_EXIST_ROLE",
            Self::RetGridFightPosNotValid => "RET_GRID_FIGHT_POS_NOT_VALID",
            Self::RetGridFightCoinNotEnough => "RET_GRID_FIGHT_COIN_NOT_ENOUGH",
            Self::RetGridFightEquipNotExist => "RET_GRID_FIGHT_EQUIP_NOT_EXIST",
            Self::RetGridFightEquipCannotDress => "RET_GRID_FIGHT_EQUIP_CANNOT_DRESS",
            Self::RetGridFightParamNotMatch => "RET_GRID_FIGHT_PARAM_NOT_MATCH",
            Self::RetGridFightEquipDressSame => "RET_GRID_FIGHT_EQUIP_DRESS_SAME",
            Self::RetGridFightEquipDressed => "RET_GRID_FIGHT_EQUIP_DRESSED",
            Self::RetGridFightRandomErr => "RET_GRID_FIGHT_RANDOM_ERR",
            Self::RetGridFightGoodsSold => "RET_GRID_FIGHT_GOODS_SOLD",
            Self::RetGridFightItemNotEnough => "RET_GRID_FIGHT_ITEM_NOT_ENOUGH",
            Self::RetGridFightGameplayLevelMax => "RET_GRID_FIGHT_GAMEPLAY_LEVEL_MAX",
            Self::RetGridFightAlreadyInGameplay => "RET_GRID_FIGHT_ALREADY_IN_GAMEPLAY",
            Self::RetGridFightEquipTraitLimit => "RET_GRID_FIGHT_EQUIP_TRAIT_LIMIT",
            Self::RetGridFightRegionFull => "RET_GRID_FIGHT_REGION_FULL",
            Self::RetGridFightTemporaryEquip => "RET_GRID_FIGHT_TEMPORARY_EQUIP",
            Self::RetGridFightNotInGameplay => "RET_GRID_FIGHT_NOT_IN_GAMEPLAY",
            Self::RetGridFightAddEquipFail => "RET_GRID_FIGHT_ADD_EQUIP_FAIL",
            Self::RetGridFightAddConsumableFail => "RET_GRID_FIGHT_ADD_CONSUMABLE_FAIL",
            Self::RetGridFightCreateRoleFail => "RET_GRID_FIGHT_CREATE_ROLE_FAIL",
            Self::RetGridFightCannotUpgrade => "RET_GRID_FIGHT_CANNOT_UPGRADE",
            Self::RetGridFightNoEmptyPos => "RET_GRID_FIGHT_NO_EMPTY_POS",
            Self::RetGridFightForgeNotExist => "RET_GRID_FIGHT_FORGE_NOT_EXIST",
            Self::RetGridFightAddForgeFail => "RET_GRID_FIGHT_ADD_FORGE_FAIL",
            Self::RetGridFightOrbNotEnough => "RET_GRID_FIGHT_ORB_NOT_ENOUGH",
            Self::RetGridFightOrbNotExist => "RET_GRID_FIGHT_ORB_NOT_EXIST",
            Self::RetGridFightSupplyNoReroll => "RET_GRID_FIGHT_SUPPLY_NO_REROLL",
            Self::RetGridFightHighRariyForCopy => "RET_GRID_FIGHT_HIGH_RARIY_FOR_COPY",
            Self::RetGridFightRoleFullForCopy => "RET_GRID_FIGHT_ROLE_FULL_FOR_COPY",
            Self::RetGridFightUndressEquipFail => "RET_GRID_FIGHT_UNDRESS_EQUIP_FAIL",
            Self::RetGridFightDataLocked => "RET_GRID_FIGHT_DATA_LOCKED",
            Self::RetGridFightSameRoleInBattle => "RET_GRID_FIGHT_SAME_ROLE_IN_BATTLE",
            Self::RetGridFightSupplyAllSelected => "RET_GRID_FIGHT_SUPPLY_ALL_SELECTED",
            Self::RetGridFightTraitTrackMax => "RET_GRID_FIGHT_TRAIT_TRACK_MAX",
            Self::RetGridFightPosBan => "RET_GRID_FIGHT_POS_BAN",
            Self::RetGridFightPosExistItem => "RET_GRID_FIGHT_POS_EXIST_ITEM",
            Self::RetGridFightTalentEnabled => "RET_GRID_FIGHT_TALENT_ENABLED",
            Self::RetGridFightTalentCostNotEnough => {
                "RET_GRID_FIGHT_TALENT_COST_NOT_ENOUGH"
            }
            Self::RetGridFightTalentPreNotEnabled => {
                "RET_GRID_FIGHT_TALENT_PRE_NOT_ENABLED"
            }
            Self::RetGridFightDivisionInvalid => "RET_GRID_FIGHT_DIVISION_INVALID",
            Self::RetGridFightTalentPermanentLimit => {
                "RET_GRID_FIGHT_TALENT_PERMANENT_LIMIT"
            }
            Self::RetGridFightWeeklyRewardTaken => "RET_GRID_FIGHT_WEEKLY_REWARD_TAKEN",
            Self::RetGridFightWeeklyScoreNotEnough => {
                "RET_GRID_FIGHT_WEEKLY_SCORE_NOT_ENOUGH"
            }
            Self::RetGridFightCraftCostEquipDressed => {
                "RET_GRID_FIGHT_CRAFT_COST_EQUIP_DRESSED"
            }
            Self::RetGridFightCreateNpcFail => "RET_GRID_FIGHT_CREATE_NPC_FAIL",
            Self::RetGridFightNoPosCanPlace => "RET_GRID_FIGHT_NO_POS_CAN_PLACE",
            Self::RetGridFightNpcPosLimit => "RET_GRID_FIGHT_NPC_POS_LIMIT",
            Self::RetGridFightCraftEquipOnDiffRole => {
                "RET_GRID_FIGHT_CRAFT_EQUIP_ON_DIFF_ROLE"
            }
            Self::RetGridFightGlobalHpNotEnough => "RET_GRID_FIGHT_GLOBAL_HP_NOT_ENOUGH",
            Self::RetGridFightEquipTrackMax => "RET_GRID_FIGHT_EQUIP_TRACK_MAX",
            Self::RetGridFightNpcNotExist => "RET_GRID_FIGHT_NPC_NOT_EXIST",
            Self::RetGridFightRecycleRoleInTutorial => {
                "RET_GRID_FIGHT_RECYCLE_ROLE_IN_TUTORIAL"
            }
            Self::RetGridFightTutorialTaskNotFinished => {
                "RET_GRID_FIGHT_TUTORIAL_TASK_NOT_FINISHED"
            }
            Self::RetGridFightTutorialUpdatePosIninvalid => {
                "RET_GRID_FIGHT_TUTORIAL_UPDATE_POS_ININVALID"
            }
            Self::RetGridFightNoRerollCnt => "RET_GRID_FIGHT_NO_REROLL_CNT",
            Self::RetGridFightTutorialRefreshShopLimited => {
                "RET_GRID_FIGHT_TUTORIAL_REFRESH_SHOP_LIMITED"
            }
            Self::RetGridFightTutorialBuyShopLimited => {
                "RET_GRID_FIGHT_TUTORIAL_BUY_SHOP_LIMITED"
            }
            Self::RetGridFightOcUnlockQuestNotFinished => {
                "RET_GRID_FIGHT_OC_UNLOCK_QUEST_NOT_FINISHED"
            }
            Self::RetGridFightForgeLimitSelectIdxInTutorial => {
                "RET_GRID_FIGHT_FORGE_LIMIT_SELECT_IDX_IN_TUTORIAL"
            }
            Self::RetGridFightGameRefIdTooLong => "RET_GRID_FIGHT_GAME_REF_ID_TOO_LONG",
            Self::RetGridFightFeatureSwitchClosed => {
                "RET_GRID_FIGHT_FEATURE_SWITCH_CLOSED"
            }
            Self::RetGridFightEquipTraitExclusive => {
                "RET_GRID_FIGHT_EQUIP_TRAIT_EXCLUSIVE"
            }
            Self::RetGridFightShopLocked => "RET_GRID_FIGHT_SHOP_LOCKED",
            Self::RetGridFightBuyExpLocked => "RET_GRID_FIGHT_BUY_EXP_LOCKED",
            Self::RetHipplenAgendaWorkUnavaible => "RET_HIPPLEN_AGENDA_WORK_UNAVAIBLE",
            Self::RetHipplenAgendaWorkConflict => "RET_HIPPLEN_AGENDA_WORK_CONFLICT",
            Self::RetHipplenAgendaActionLack => "RET_HIPPLEN_AGENDA_ACTION_LACK",
            Self::RetHipplenAgendaEnergyLack => "RET_HIPPLEN_AGENDA_ENERGY_LACK",
            Self::RetHipplenAgendaNoWorkForSettle => {
                "RET_HIPPLEN_AGENDA_NO_WORK_FOR_SETTLE"
            }
            Self::RetHipplenAgendaSettleWorkMismatch => {
                "RET_HIPPLEN_AGENDA_SETTLE_WORK_MISMATCH"
            }
            Self::RetHipplenPhaseConfigNoFound => "RET_HIPPLEN_PHASE_CONFIG_NO_FOUND",
            Self::RetHipplenTrialMissionNotFinished => {
                "RET_HIPPLEN_TRIAL_MISSION_NOT_FINISHED"
            }
            Self::RetHipplenAgendaSetWhenTrial => "RET_HIPPLEN_AGENDA_SET_WHEN_TRIAL",
            Self::RetHipplenAgendaOpenCycleFail => "RET_HIPPLEN_AGENDA_OPEN_CYCLE_FAIL",
            Self::RetHipplenAgendaSettleParaInvalid => {
                "RET_HIPPLEN_AGENDA_SETTLE_PARA_INVALID"
            }
            Self::RetHipplenAgendaWorkSetTwice => "RET_HIPPLEN_AGENDA_WORK_SET_TWICE",
            Self::RetHipplenAgendaWorkSettleTwice => {
                "RET_HIPPLEN_AGENDA_WORK_SETTLE_TWICE"
            }
            Self::RetHipplenOutfitNotWeared => "RET_HIPPLEN_OUTFIT_NOT_WEARED",
            Self::RetHipplenOutfitNotOwn => "RET_HIPPLEN_OUTFIT_NOT_OWN",
            Self::RetHipplenOutfitInvalid => "RET_HIPPLEN_OUTFIT_INVALID",
            Self::RetHipplenOutfitTypeWeared => "RET_HIPPLEN_OUTFIT_TYPE_WEARED",
            Self::RetHipplenAgendaWorkEmpty => "RET_HIPPLEN_AGENDA_WORK_EMPTY",
            Self::RetHipplenEndingLock => "RET_HIPPLEN_ENDING_LOCK",
            Self::RetHipplenEndingRewardAlreadyTaken => {
                "RET_HIPPLEN_ENDING_REWARD_ALREADY_TAKEN"
            }
            Self::RetHipplenTraitLock => "RET_HIPPLEN_TRAIT_LOCK",
            Self::RetHipplenAgendaActionLeft => "RET_HIPPLEN_AGENDA_ACTION_LEFT",
            Self::RetHipplenBackwardTrialMissionNotFinished => {
                "RET_HIPPLEN_BACKWARD_TRIAL_MISSION_NOT_FINISHED"
            }
            Self::RetRelicboxHasPendingRelic => "RET_RELICBOX_HAS_PENDING_RELIC",
            Self::RetRelicboxNoPendingRelic => "RET_RELICBOX_NO_PENDING_RELIC",
            Self::RetRelicboxTargetAvatarInvalid => "RET_RELICBOX_TARGET_AVATAR_INVALID",
            Self::RetRelicboxTargetRelicSetInvalid => {
                "RET_RELICBOX_TARGET_RELIC_SET_INVALID"
            }
            Self::RetRelicboxAllowPositionEmpty => "RET_RELICBOX_ALLOW_POSITION_EMPTY",
            Self::RetRelicboxRelicConfigNotFound => "RET_RELICBOX_RELIC_CONFIG_NOT_FOUND",
            Self::RetRelicboxMainAffixIdInvalid => "RET_RELICBOX_MAIN_AFFIX_ID_INVALID",
            Self::RetRelicboxSubAffixInvalid => "RET_RELICBOX_SUB_AFFIX_INVALID",
            Self::RetRelicboxRelicCreateFail => "RET_RELICBOX_RELIC_CREATE_FAIL",
            Self::RetRelicboxLibConfigNotFound => "RET_RELICBOX_LIB_CONFIG_NOT_FOUND",
            Self::RetRelicboxShieldLock => "RET_RELICBOX_SHIELD_LOCK",
            Self::RetRelicboxCustomAvatarInvalid => "RET_RELICBOX_CUSTOM_AVATAR_INVALID",
            Self::RetRelicboxCustomRelicSetInvalid => {
                "RET_RELICBOX_CUSTOM_RELIC_SET_INVALID"
            }
            Self::RetRelicboxRelicInBox => "RET_RELICBOX_RELIC_IN_BOX",
            Self::RetRelicboxOpenTargetConflict => "RET_RELICBOX_OPEN_TARGET_CONFLICT",
            Self::RetRelicboxRelicTypeInvalid => "RET_RELICBOX_RELIC_TYPE_INVALID",
            Self::Mbcabojapnf => "Retcode_MBCABOJAPNF",
            Self::Pjjkjlfajmd => "Retcode_PJJKJLFAJMD",
            Self::Jmoaejmmlfk => "Retcode_JMOAEJMMLFK",
            Self::Ogakndbohik => "Retcode_OGAKNDBOHIK",
            Self::Nlncpekbkbg => "Retcode_NLNCPEKBKBG",
            Self::Cnioinhagji => "Retcode_CNIOINHAGJI",
            Self::Okamekolpdb => "Retcode_OKAMEKOLPDB",
            Self::Nbicfembgeb => "Retcode_NBICFEMBGEB",
            Self::Gfbendmkgmn => "Retcode_GFBENDMKGMN",
            Self::Dfjinchmdbh => "Retcode_DFJINCHMDBH",
            Self::Fdckoelbpff => "Retcode_FDCKOELBPFF",
            Self::Jhlelifpinj => "Retcode_JHLELIFPINJ",
            Self::Hkgaokdkfkc => "Retcode_HKGAOKDKFKC",
            Self::Miighhkmghm => "Retcode_MIIGHHKMGHM",
            Self::Ageiobencmj => "Retcode_AGEIOBENCMJ",
            Self::Cbpgalljepd => "Retcode_CBPGALLJEPD",
            Self::Lfjcdigapnk => "Retcode_LFJCDIGAPNK",
            Self::Nhbdpkemhjc => "Retcode_NHBDPKEMHJC",
            Self::Efbljhopknh => "Retcode_EFBLJHOPKNH",
            Self::Dcjiiahbeag => "Retcode_DCJIIAHBEAG",
            Self::Kemibmafomd => "Retcode_KEMIBMAFOMD",
            Self::Fgfmkafhioh => "Retcode_FGFMKAFHIOH",
            Self::Jdhmbjekfeg => "Retcode_JDHMBJEKFEG",
            Self::Pbplibbekce => "Retcode_PBPLIBBEKCE",
            Self::Onfidlgnkca => "Retcode_ONFIDLGNKCA",
            Self::Aelghbimhao => "Retcode_AELGHBIMHAO",
            Self::Bfellhhpkfo => "Retcode_BFELLHHPKFO",
            Self::Cablnlchhlp => "Retcode_CABLNLCHHLP",
            Self::Dbbipgkbkdh => "Retcode_DBBIPGKBKDH",
        }
    }
    /// 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_AVATAR_ENHANCED_ID_NOT_EXIST" => Some(Self::RetAvatarEnhancedIdNotExist),
            "RET_AVATAR_ENHANCED_ID_ALREADY_SET" => {
                Some(Self::RetAvatarEnhancedIdAlreadySet)
            }
            "RET_AVATAR_NOT_CUR_ENHANCED_ID" => Some(Self::RetAvatarNotCurEnhancedId),
            "RET_PLAYER_OUTFIT_CONFIG_NOT_EXIST" => {
                Some(Self::RetPlayerOutfitConfigNotExist)
            }
            "RET_PLAYER_OUTFIT_SLOT_CONFLICT" => Some(Self::RetPlayerOutfitSlotConflict),
            "RET_PLAYER_OUTFIT_IS_DEFAULT" => Some(Self::RetPlayerOutfitIsDefault),
            "RET_PLAYER_OUTFIT_NOT_OWNED" => Some(Self::RetPlayerOutfitNotOwned),
            "RET_SKILLTREE_FAST_LEVEL_UP_CLOSE" => {
                Some(Self::RetSkilltreeFastLevelUpClose)
            }
            "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_EQUIPMENT_ALREADY_LEVELUP" => Some(Self::RetEquipmentAlreadyLevelup),
            "RET_EQUIPMENT_RARITY_ERROR" => Some(Self::RetEquipmentRarityError),
            "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_STAGE_FARM_SWEEP_CD" => Some(Self::RetStageFarmSweepCd),
            "RET_STAGE_FARM_ELEMENT_CHALLENGE_CNT_INVALID" => {
                Some(Self::RetStageFarmElementChallengeCntInvalid)
            }
            "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_NOT_IN_CORRECT_SCENE" => Some(Self::RetNotInCorrectScene),
            "RET_NOT_IN_CORRECT_DIMENSION" => Some(Self::RetNotInCorrectDimension),
            "RET_NOT_CORRECT_GROUP_PROPERTY_NAME" => {
                Some(Self::RetNotCorrectGroupPropertyName)
            }
            "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_GACHA_LOCKED" => Some(Self::RetGachaLocked),
            "RET_GACHA_DECIDE_ITEM_TYPE_INVALID" => {
                Some(Self::RetGachaDecideItemTypeInvalid)
            }
            "RET_GACHA_DECIDE_ITEM_ID_INVALID" => Some(Self::RetGachaDecideItemIdInvalid),
            "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_AVATAR_DELIVER_REWARD_PHASE_ERROR" => {
                Some(Self::RetAvatarDeliverRewardPhaseError)
            }
            "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_ASSIST_LIST_STRANGER_CONFIG_ERROR" => {
                Some(Self::RetAssistListStrangerConfigError)
            }
            "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_PLAYER_BOARD_PERSONAL_CARD_NOT_EXIST" => {
                Some(Self::RetPlayerBoardPersonalCardNotExist)
            }
            "RET_PLAYER_BOARD_PERSONAL_CARD_LOCKED" => {
                Some(Self::RetPlayerBoardPersonalCardLocked)
            }
            "RET_PLAYER_BOARD_PERSONAL_NO_CHANGE" => {
                Some(Self::RetPlayerBoardPersonalNoChange)
            }
            "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_PLAYER_RETURN_RELIC_TAKEN" => Some(Self::RetPlayerReturnRelicTaken),
            "RET_PLAYER_RETURN_CONFIG_ERROR" => Some(Self::RetPlayerReturnConfigError),
            "RET_PLAYER_RETURN_OPTIONAL_GIFT_INVALID" => {
                Some(Self::RetPlayerReturnOptionalGiftInvalid)
            }
            "RET_PLAYER_RETURN_OPTIONAL_GIFT_NOT_EXIST" => {
                Some(Self::RetPlayerReturnOptionalGiftNotExist)
            }
            "RET_PLAYER_RETURN_SIGN_TYPE_INVALID" => {
                Some(Self::RetPlayerReturnSignTypeInvalid)
            }
            "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_PHONE_CASE_ID_ERROR" => Some(Self::RetPhoneCaseIdError),
            "RET_PHONE_CASE_ID_NOT_UNLOCK" => Some(Self::RetPhoneCaseIdNotUnlock),
            "RET_PHONE_CASE_SELECT_IS_CURRENT" => Some(Self::RetPhoneCaseSelectIsCurrent),
            "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_DRINK_MAKER_CHEERS_NOT_ABLE_TO_NEXT_GROUP" => {
                Some(Self::RetDrinkMakerCheersNotAbleToNextGroup)
            }
            "RET_DRINK_MAKER_CHEERS_DRINK_ALREADY_MADE" => {
                Some(Self::RetDrinkMakerCheersDrinkAlreadyMade)
            }
            "RET_DRINK_MAKER_CHEERS_ACTIVITY_NOT_OPEN" => {
                Some(Self::RetDrinkMakerCheersActivityNotOpen)
            }
            "RET_DRINK_MAKER_CHEERS_MAKE_DRINK_PRE_MISSION_NOT_FINISHED" => {
                Some(Self::RetDrinkMakerCheersMakeDrinkPreMissionNotFinished)
            }
            "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_EVOLVE_BUILD_SEASON_ERROR" => Some(Self::RetEvolveBuildSeasonError),
            "RET_EVOLVE_BUILD_TEACH_SKIP_QUEST_NOT_FINISH" => {
                Some(Self::RetEvolveBuildTeachSkipQuestNotFinish)
            }
            "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_LOBBY_START_FIGHT_DISABLE" => Some(Self::RetLobbyStartFightDisable),
            "RET_LOBBY_START_FIGHT_PLAYER_LACK" => {
                Some(Self::RetLobbyStartFightPlayerLack)
            }
            "RET_MATCH_CLIENT_DATA_VERSION_LOW" => {
                Some(Self::RetMatchClientDataVersionLow)
            }
            "RET_LOBBY_START_MATCH_DISABLE" => Some(Self::RetLobbyStartMatchDisable),
            "RET_LOBBY_INTERACT_IN_CD" => Some(Self::RetLobbyInteractInCd),
            "RET_LOBBY_OWNER_STATE_ERR" => Some(Self::RetLobbyOwnerStateErr),
            "RET_LOBBY_OP_TOO_FAST" => Some(Self::RetLobbyOpTooFast),
            "RET_FIGHT_MATCH3_SOLO_PLAYER_TURN_ERR" => {
                Some(Self::RetFightMatch3SoloPlayerTurnErr)
            }
            "RET_MATCH_PLAY_NOT_SUPPORTED" => Some(Self::RetMatchPlayNotSupported),
            "RET_MATCH_PLAY_DATA_NOT_EXIST" => Some(Self::RetMatchPlayDataNotExist),
            "RET_MATCH_PLAY_NOT_SUPPORT_FRIEND_RANKING" => {
                Some(Self::RetMatchPlayNotSupportFriendRanking)
            }
            "RET_MATCH_PLAY_GET_FRIEND_RANKING_INFO_IN_CD" => {
                Some(Self::RetMatchPlayGetFriendRankingInfoInCd)
            }
            "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)
            }
            "RET_PLANET_FES_AVATAR_NOT_EXIST" => Some(Self::RetPlanetFesAvatarNotExist),
            "RET_PLANET_FES_LAND_NOT_EXIST" => Some(Self::RetPlanetFesLandNotExist),
            "RET_PLANET_FES_ITEM_NOT_ENOUGH" => Some(Self::RetPlanetFesItemNotEnough),
            "RET_PLANET_FES_LAND_ALREADY_UNLOCK" => {
                Some(Self::RetPlanetFesLandAlreadyUnlock)
            }
            "RET_PLANET_FES_WORK_AVATAR_REPEAT" => {
                Some(Self::RetPlanetFesWorkAvatarRepeat)
            }
            "RET_PLANET_FES_WORK_AVATAR_TYPE_NOT_MATCH" => {
                Some(Self::RetPlanetFesWorkAvatarTypeNotMatch)
            }
            "RET_PLANET_FES_ACTIVITY_NOT_OPEN" => Some(Self::RetPlanetFesActivityNotOpen),
            "RET_PLANET_FES_SKILLTREE_PHASE_NOT_UNLOCK" => {
                Some(Self::RetPlanetFesSkilltreePhaseNotUnlock)
            }
            "RET_PLANET_FES_SKILL_NOT_UNLOCK" => Some(Self::RetPlanetFesSkillNotUnlock),
            "RET_PLANET_FES_CONFIG_ERROR" => Some(Self::RetPlanetFesConfigError),
            "RET_PLANET_FES_NOT_IN_BUSINESS_DAY" => {
                Some(Self::RetPlanetFesNotInBusinessDay)
            }
            "RET_PLANET_FES_EVENT_LOCKED" => Some(Self::RetPlanetFesEventLocked),
            "RET_PLANET_FES_EVENT_FINISHED" => Some(Self::RetPlanetFesEventFinished),
            "RET_PLANET_FES_EVENT_IN_CD" => Some(Self::RetPlanetFesEventInCd),
            "RET_PLANET_FES_EVENT_ALREADY_IN_STATE" => {
                Some(Self::RetPlanetFesEventAlreadyInState)
            }
            "RET_PLANET_FES_EVENT_NO_WORK_AVATAR" => {
                Some(Self::RetPlanetFesEventNoWorkAvatar)
            }
            "RET_PLANET_FES_EVENT_PROCESSING_CANNOT_DISAPPEAR" => {
                Some(Self::RetPlanetFesEventProcessingCannotDisappear)
            }
            "RET_PLANET_FES_EVENT_OPTION_PHASE_WRONG" => {
                Some(Self::RetPlanetFesEventOptionPhaseWrong)
            }
            "RET_PLANET_FES_FUNCTION_NOT_UNLOCK" => {
                Some(Self::RetPlanetFesFunctionNotUnlock)
            }
            "RET_PLANET_FES_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetPlanetFesRewardAlreadyTaken)
            }
            "RET_PLANET_FES_EVENT_GAME_NOT_ACTIVE" => {
                Some(Self::RetPlanetFesEventGameNotActive)
            }
            "RET_PLANET_FES_REGION_PROGRESS_NOT_ENOUGH" => {
                Some(Self::RetPlanetFesRegionProgressNotEnough)
            }
            "RET_PLANET_FES_FRIEND_ITEM_NOT_ENOUGH" => {
                Some(Self::RetPlanetFesFriendItemNotEnough)
            }
            "RET_PLANET_FES_PIECE_PERMISSION_BAN" => {
                Some(Self::RetPlanetFesPiecePermissionBan)
            }
            "RET_PLANET_FES_PIECE_OFFER_NOT_EXIST" => {
                Some(Self::RetPlanetFesPieceOfferNotExist)
            }
            "RET_PLANET_FES_PIECE_APPLY_IN_STACK_TOO_MUCH" => {
                Some(Self::RetPlanetFesPieceApplyInStackTooMuch)
            }
            "RET_PLANET_FES_PIECE_APPLY_NOT_EXIST" => {
                Some(Self::RetPlanetFesPieceApplyNotExist)
            }
            "RET_PLANET_FES_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetPlanetFesGetFriendRankingListInCd)
            }
            "RET_PLANET_FES_GIVE_PIECE_OWNED_BY_TARGET" => {
                Some(Self::RetPlanetFesGivePieceOwnedByTarget)
            }
            "RET_PLANET_FES_LEVEL_MAX" => Some(Self::RetPlanetFesLevelMax),
            "RET_PLANET_FES_EXCLUSIVE_EVENT" => Some(Self::RetPlanetFesExclusiveEvent),
            "RET_MARBLE_SEAL_ALREADY_UNLOCKED" => {
                Some(Self::RetMarbleSealAlreadyUnlocked)
            }
            "RET_MARBLE_SEAL_SHOP_ITEM_NOT_ENOUGH" => {
                Some(Self::RetMarbleSealShopItemNotEnough)
            }
            "RET_MARBLE_SEAL_LOCKED" => Some(Self::RetMarbleSealLocked),
            "RET_CAKE_RACE_FIELD_LOCKED" => Some(Self::RetCakeRaceFieldLocked),
            "RET_CAKE_RACE_FIELD_COST_NOT_ENOUGH" => {
                Some(Self::RetCakeRaceFieldCostNotEnough)
            }
            "RET_CAKE_RACE_FIELD_PVP_ONLY" => Some(Self::RetCakeRaceFieldPvpOnly),
            "RET_CAKE_RACE_ALREADY_IN_GAME" => Some(Self::RetCakeRaceAlreadyInGame),
            "RET_CAKE_RACE_GET_FRIEND_RANKING_LIST_IN_CD" => {
                Some(Self::RetCakeRaceGetFriendRankingListInCd)
            }
            "RET_CAKE_RACE_LIKE_FRIEND_TARGET_NOT_FRIEND" => {
                Some(Self::RetCakeRaceLikeFriendTargetNotFriend)
            }
            "RET_CAKE_RACE_LIKE_FRIEND_DAILY_ALREADY_LIKED" => {
                Some(Self::RetCakeRaceLikeFriendDailyAlreadyLiked)
            }
            "RET_CAKE_RACE_LIKE_FRIEND_IN_CD" => Some(Self::RetCakeRaceLikeFriendInCd),
            "RET_FATE_STATUS_NOT_MATCH" => Some(Self::RetFateStatusNotMatch),
            "RET_FATE_BUFF_SLOT_NOT_ENOUGH" => Some(Self::RetFateBuffSlotNotEnough),
            "RET_FATE_COIN_NOT_ENOUGH" => Some(Self::RetFateCoinNotEnough),
            "RET_FATE_REIJU_REROLL_COUNT_NOT_ENOUGH" => {
                Some(Self::RetFateReijuRerollCountNotEnough)
            }
            "RET_FATE_BUFF_LEVEL_MAX" => Some(Self::RetFateBuffLevelMax),
            "RET_FATE_ACTION_QUEUE_NOT_EMPTY" => Some(Self::RetFateActionQueueNotEmpty),
            "RET_PARKOUR_ACTIVITY_NOT_OPEN" => Some(Self::RetParkourActivityNotOpen),
            "RET_PARKOUR_LEVEL_NOT_UNLOCK" => Some(Self::RetParkourLevelNotUnlock),
            "RET_PARKOUR_RAIL_BALL_NOT_ALLOWED" => {
                Some(Self::RetParkourRailBallNotAllowed)
            }
            "RET_PARKOUR_NOT_IN_LEVEL" => Some(Self::RetParkourNotInLevel),
            "RET_PARKOUR_LEVEL_NOT_MATCH" => Some(Self::RetParkourLevelNotMatch),
            "RET_PARKOUR_NOT_PLAYED_ALL_NON_STORY_LEVEL" => {
                Some(Self::RetParkourNotPlayedAllNonStoryLevel)
            }
            "RET_FTC_LIMIT_NAME_CHANGE" => Some(Self::RetFtcLimitNameChange),
            "RET_ELF_RESTAURANT_CONFIG_ERROR" => Some(Self::RetElfRestaurantConfigError),
            "RET_ELF_RESTAURANT_FIELD_ALREADY_BOUGHT" => {
                Some(Self::RetElfRestaurantFieldAlreadyBought)
            }
            "RET_ELF_RESTAURANT_FIELD_NOT_BOUGHT" => {
                Some(Self::RetElfRestaurantFieldNotBought)
            }
            "RET_ELF_RESTAURANT_FIELD_CELL_INVALID" => {
                Some(Self::RetElfRestaurantFieldCellInvalid)
            }
            "RET_ELF_RESTAURANT_FARM_TYPE_INVALID" => {
                Some(Self::RetElfRestaurantFarmTypeInvalid)
            }
            "RET_ELF_RESTAURANT_SHOP_ITEM_NOT_EXIST" => {
                Some(Self::RetElfRestaurantShopItemNotExist)
            }
            "RET_ELF_RESTAURANT_SHOP_ITEM_COUNT_LIMIT" => {
                Some(Self::RetElfRestaurantShopItemCountLimit)
            }
            "RET_ELF_RESTAURANT_TRADE_ORDER_NOT_EXIST" => {
                Some(Self::RetElfRestaurantTradeOrderNotExist)
            }
            "RET_ELF_RESTAURANT_NO_REWARD" => Some(Self::RetElfRestaurantNoReward),
            "RET_ELF_RESTAURANT_NOT_INIT" => Some(Self::RetElfRestaurantNotInit),
            "RET_GRID_FIGHT_CONF_MISS" => Some(Self::RetGridFightConfMiss),
            "RET_GRID_FIGHT_ROLE_NOT_EXIST" => Some(Self::RetGridFightRoleNotExist),
            "RET_GRID_FIGHT_ROLE_ALREADY_EXIST" => {
                Some(Self::RetGridFightRoleAlreadyExist)
            }
            "RET_GRID_FIGHT_POS_EXIST_ROLE" => Some(Self::RetGridFightPosExistRole),
            "RET_GRID_FIGHT_POS_NOT_VALID" => Some(Self::RetGridFightPosNotValid),
            "RET_GRID_FIGHT_COIN_NOT_ENOUGH" => Some(Self::RetGridFightCoinNotEnough),
            "RET_GRID_FIGHT_EQUIP_NOT_EXIST" => Some(Self::RetGridFightEquipNotExist),
            "RET_GRID_FIGHT_EQUIP_CANNOT_DRESS" => {
                Some(Self::RetGridFightEquipCannotDress)
            }
            "RET_GRID_FIGHT_PARAM_NOT_MATCH" => Some(Self::RetGridFightParamNotMatch),
            "RET_GRID_FIGHT_EQUIP_DRESS_SAME" => Some(Self::RetGridFightEquipDressSame),
            "RET_GRID_FIGHT_EQUIP_DRESSED" => Some(Self::RetGridFightEquipDressed),
            "RET_GRID_FIGHT_RANDOM_ERR" => Some(Self::RetGridFightRandomErr),
            "RET_GRID_FIGHT_GOODS_SOLD" => Some(Self::RetGridFightGoodsSold),
            "RET_GRID_FIGHT_ITEM_NOT_ENOUGH" => Some(Self::RetGridFightItemNotEnough),
            "RET_GRID_FIGHT_GAMEPLAY_LEVEL_MAX" => {
                Some(Self::RetGridFightGameplayLevelMax)
            }
            "RET_GRID_FIGHT_ALREADY_IN_GAMEPLAY" => {
                Some(Self::RetGridFightAlreadyInGameplay)
            }
            "RET_GRID_FIGHT_EQUIP_TRAIT_LIMIT" => Some(Self::RetGridFightEquipTraitLimit),
            "RET_GRID_FIGHT_REGION_FULL" => Some(Self::RetGridFightRegionFull),
            "RET_GRID_FIGHT_TEMPORARY_EQUIP" => Some(Self::RetGridFightTemporaryEquip),
            "RET_GRID_FIGHT_NOT_IN_GAMEPLAY" => Some(Self::RetGridFightNotInGameplay),
            "RET_GRID_FIGHT_ADD_EQUIP_FAIL" => Some(Self::RetGridFightAddEquipFail),
            "RET_GRID_FIGHT_ADD_CONSUMABLE_FAIL" => {
                Some(Self::RetGridFightAddConsumableFail)
            }
            "RET_GRID_FIGHT_CREATE_ROLE_FAIL" => Some(Self::RetGridFightCreateRoleFail),
            "RET_GRID_FIGHT_CANNOT_UPGRADE" => Some(Self::RetGridFightCannotUpgrade),
            "RET_GRID_FIGHT_NO_EMPTY_POS" => Some(Self::RetGridFightNoEmptyPos),
            "RET_GRID_FIGHT_FORGE_NOT_EXIST" => Some(Self::RetGridFightForgeNotExist),
            "RET_GRID_FIGHT_ADD_FORGE_FAIL" => Some(Self::RetGridFightAddForgeFail),
            "RET_GRID_FIGHT_ORB_NOT_ENOUGH" => Some(Self::RetGridFightOrbNotEnough),
            "RET_GRID_FIGHT_ORB_NOT_EXIST" => Some(Self::RetGridFightOrbNotExist),
            "RET_GRID_FIGHT_SUPPLY_NO_REROLL" => Some(Self::RetGridFightSupplyNoReroll),
            "RET_GRID_FIGHT_HIGH_RARIY_FOR_COPY" => {
                Some(Self::RetGridFightHighRariyForCopy)
            }
            "RET_GRID_FIGHT_ROLE_FULL_FOR_COPY" => {
                Some(Self::RetGridFightRoleFullForCopy)
            }
            "RET_GRID_FIGHT_UNDRESS_EQUIP_FAIL" => {
                Some(Self::RetGridFightUndressEquipFail)
            }
            "RET_GRID_FIGHT_DATA_LOCKED" => Some(Self::RetGridFightDataLocked),
            "RET_GRID_FIGHT_SAME_ROLE_IN_BATTLE" => {
                Some(Self::RetGridFightSameRoleInBattle)
            }
            "RET_GRID_FIGHT_SUPPLY_ALL_SELECTED" => {
                Some(Self::RetGridFightSupplyAllSelected)
            }
            "RET_GRID_FIGHT_TRAIT_TRACK_MAX" => Some(Self::RetGridFightTraitTrackMax),
            "RET_GRID_FIGHT_POS_BAN" => Some(Self::RetGridFightPosBan),
            "RET_GRID_FIGHT_POS_EXIST_ITEM" => Some(Self::RetGridFightPosExistItem),
            "RET_GRID_FIGHT_TALENT_ENABLED" => Some(Self::RetGridFightTalentEnabled),
            "RET_GRID_FIGHT_TALENT_COST_NOT_ENOUGH" => {
                Some(Self::RetGridFightTalentCostNotEnough)
            }
            "RET_GRID_FIGHT_TALENT_PRE_NOT_ENABLED" => {
                Some(Self::RetGridFightTalentPreNotEnabled)
            }
            "RET_GRID_FIGHT_DIVISION_INVALID" => Some(Self::RetGridFightDivisionInvalid),
            "RET_GRID_FIGHT_TALENT_PERMANENT_LIMIT" => {
                Some(Self::RetGridFightTalentPermanentLimit)
            }
            "RET_GRID_FIGHT_WEEKLY_REWARD_TAKEN" => {
                Some(Self::RetGridFightWeeklyRewardTaken)
            }
            "RET_GRID_FIGHT_WEEKLY_SCORE_NOT_ENOUGH" => {
                Some(Self::RetGridFightWeeklyScoreNotEnough)
            }
            "RET_GRID_FIGHT_CRAFT_COST_EQUIP_DRESSED" => {
                Some(Self::RetGridFightCraftCostEquipDressed)
            }
            "RET_GRID_FIGHT_CREATE_NPC_FAIL" => Some(Self::RetGridFightCreateNpcFail),
            "RET_GRID_FIGHT_NO_POS_CAN_PLACE" => Some(Self::RetGridFightNoPosCanPlace),
            "RET_GRID_FIGHT_NPC_POS_LIMIT" => Some(Self::RetGridFightNpcPosLimit),
            "RET_GRID_FIGHT_CRAFT_EQUIP_ON_DIFF_ROLE" => {
                Some(Self::RetGridFightCraftEquipOnDiffRole)
            }
            "RET_GRID_FIGHT_GLOBAL_HP_NOT_ENOUGH" => {
                Some(Self::RetGridFightGlobalHpNotEnough)
            }
            "RET_GRID_FIGHT_EQUIP_TRACK_MAX" => Some(Self::RetGridFightEquipTrackMax),
            "RET_GRID_FIGHT_NPC_NOT_EXIST" => Some(Self::RetGridFightNpcNotExist),
            "RET_GRID_FIGHT_RECYCLE_ROLE_IN_TUTORIAL" => {
                Some(Self::RetGridFightRecycleRoleInTutorial)
            }
            "RET_GRID_FIGHT_TUTORIAL_TASK_NOT_FINISHED" => {
                Some(Self::RetGridFightTutorialTaskNotFinished)
            }
            "RET_GRID_FIGHT_TUTORIAL_UPDATE_POS_ININVALID" => {
                Some(Self::RetGridFightTutorialUpdatePosIninvalid)
            }
            "RET_GRID_FIGHT_NO_REROLL_CNT" => Some(Self::RetGridFightNoRerollCnt),
            "RET_GRID_FIGHT_TUTORIAL_REFRESH_SHOP_LIMITED" => {
                Some(Self::RetGridFightTutorialRefreshShopLimited)
            }
            "RET_GRID_FIGHT_TUTORIAL_BUY_SHOP_LIMITED" => {
                Some(Self::RetGridFightTutorialBuyShopLimited)
            }
            "RET_GRID_FIGHT_OC_UNLOCK_QUEST_NOT_FINISHED" => {
                Some(Self::RetGridFightOcUnlockQuestNotFinished)
            }
            "RET_GRID_FIGHT_FORGE_LIMIT_SELECT_IDX_IN_TUTORIAL" => {
                Some(Self::RetGridFightForgeLimitSelectIdxInTutorial)
            }
            "RET_GRID_FIGHT_GAME_REF_ID_TOO_LONG" => {
                Some(Self::RetGridFightGameRefIdTooLong)
            }
            "RET_GRID_FIGHT_FEATURE_SWITCH_CLOSED" => {
                Some(Self::RetGridFightFeatureSwitchClosed)
            }
            "RET_GRID_FIGHT_EQUIP_TRAIT_EXCLUSIVE" => {
                Some(Self::RetGridFightEquipTraitExclusive)
            }
            "RET_GRID_FIGHT_SHOP_LOCKED" => Some(Self::RetGridFightShopLocked),
            "RET_GRID_FIGHT_BUY_EXP_LOCKED" => Some(Self::RetGridFightBuyExpLocked),
            "RET_HIPPLEN_AGENDA_WORK_UNAVAIBLE" => {
                Some(Self::RetHipplenAgendaWorkUnavaible)
            }
            "RET_HIPPLEN_AGENDA_WORK_CONFLICT" => {
                Some(Self::RetHipplenAgendaWorkConflict)
            }
            "RET_HIPPLEN_AGENDA_ACTION_LACK" => Some(Self::RetHipplenAgendaActionLack),
            "RET_HIPPLEN_AGENDA_ENERGY_LACK" => Some(Self::RetHipplenAgendaEnergyLack),
            "RET_HIPPLEN_AGENDA_NO_WORK_FOR_SETTLE" => {
                Some(Self::RetHipplenAgendaNoWorkForSettle)
            }
            "RET_HIPPLEN_AGENDA_SETTLE_WORK_MISMATCH" => {
                Some(Self::RetHipplenAgendaSettleWorkMismatch)
            }
            "RET_HIPPLEN_PHASE_CONFIG_NO_FOUND" => {
                Some(Self::RetHipplenPhaseConfigNoFound)
            }
            "RET_HIPPLEN_TRIAL_MISSION_NOT_FINISHED" => {
                Some(Self::RetHipplenTrialMissionNotFinished)
            }
            "RET_HIPPLEN_AGENDA_SET_WHEN_TRIAL" => {
                Some(Self::RetHipplenAgendaSetWhenTrial)
            }
            "RET_HIPPLEN_AGENDA_OPEN_CYCLE_FAIL" => {
                Some(Self::RetHipplenAgendaOpenCycleFail)
            }
            "RET_HIPPLEN_AGENDA_SETTLE_PARA_INVALID" => {
                Some(Self::RetHipplenAgendaSettleParaInvalid)
            }
            "RET_HIPPLEN_AGENDA_WORK_SET_TWICE" => {
                Some(Self::RetHipplenAgendaWorkSetTwice)
            }
            "RET_HIPPLEN_AGENDA_WORK_SETTLE_TWICE" => {
                Some(Self::RetHipplenAgendaWorkSettleTwice)
            }
            "RET_HIPPLEN_OUTFIT_NOT_WEARED" => Some(Self::RetHipplenOutfitNotWeared),
            "RET_HIPPLEN_OUTFIT_NOT_OWN" => Some(Self::RetHipplenOutfitNotOwn),
            "RET_HIPPLEN_OUTFIT_INVALID" => Some(Self::RetHipplenOutfitInvalid),
            "RET_HIPPLEN_OUTFIT_TYPE_WEARED" => Some(Self::RetHipplenOutfitTypeWeared),
            "RET_HIPPLEN_AGENDA_WORK_EMPTY" => Some(Self::RetHipplenAgendaWorkEmpty),
            "RET_HIPPLEN_ENDING_LOCK" => Some(Self::RetHipplenEndingLock),
            "RET_HIPPLEN_ENDING_REWARD_ALREADY_TAKEN" => {
                Some(Self::RetHipplenEndingRewardAlreadyTaken)
            }
            "RET_HIPPLEN_TRAIT_LOCK" => Some(Self::RetHipplenTraitLock),
            "RET_HIPPLEN_AGENDA_ACTION_LEFT" => Some(Self::RetHipplenAgendaActionLeft),
            "RET_HIPPLEN_BACKWARD_TRIAL_MISSION_NOT_FINISHED" => {
                Some(Self::RetHipplenBackwardTrialMissionNotFinished)
            }
            "RET_RELICBOX_HAS_PENDING_RELIC" => Some(Self::RetRelicboxHasPendingRelic),
            "RET_RELICBOX_NO_PENDING_RELIC" => Some(Self::RetRelicboxNoPendingRelic),
            "RET_RELICBOX_TARGET_AVATAR_INVALID" => {
                Some(Self::RetRelicboxTargetAvatarInvalid)
            }
            "RET_RELICBOX_TARGET_RELIC_SET_INVALID" => {
                Some(Self::RetRelicboxTargetRelicSetInvalid)
            }
            "RET_RELICBOX_ALLOW_POSITION_EMPTY" => {
                Some(Self::RetRelicboxAllowPositionEmpty)
            }
            "RET_RELICBOX_RELIC_CONFIG_NOT_FOUND" => {
                Some(Self::RetRelicboxRelicConfigNotFound)
            }
            "RET_RELICBOX_MAIN_AFFIX_ID_INVALID" => {
                Some(Self::RetRelicboxMainAffixIdInvalid)
            }
            "RET_RELICBOX_SUB_AFFIX_INVALID" => Some(Self::RetRelicboxSubAffixInvalid),
            "RET_RELICBOX_RELIC_CREATE_FAIL" => Some(Self::RetRelicboxRelicCreateFail),
            "RET_RELICBOX_LIB_CONFIG_NOT_FOUND" => {
                Some(Self::RetRelicboxLibConfigNotFound)
            }
            "RET_RELICBOX_SHIELD_LOCK" => Some(Self::RetRelicboxShieldLock),
            "RET_RELICBOX_CUSTOM_AVATAR_INVALID" => {
                Some(Self::RetRelicboxCustomAvatarInvalid)
            }
            "RET_RELICBOX_CUSTOM_RELIC_SET_INVALID" => {
                Some(Self::RetRelicboxCustomRelicSetInvalid)
            }
            "RET_RELICBOX_RELIC_IN_BOX" => Some(Self::RetRelicboxRelicInBox),
            "RET_RELICBOX_OPEN_TARGET_CONFLICT" => {
                Some(Self::RetRelicboxOpenTargetConflict)
            }
            "RET_RELICBOX_RELIC_TYPE_INVALID" => Some(Self::RetRelicboxRelicTypeInvalid),
            "Retcode_MBCABOJAPNF" => Some(Self::Mbcabojapnf),
            "Retcode_PJJKJLFAJMD" => Some(Self::Pjjkjlfajmd),
            "Retcode_JMOAEJMMLFK" => Some(Self::Jmoaejmmlfk),
            "Retcode_OGAKNDBOHIK" => Some(Self::Ogakndbohik),
            "Retcode_NLNCPEKBKBG" => Some(Self::Nlncpekbkbg),
            "Retcode_CNIOINHAGJI" => Some(Self::Cnioinhagji),
            "Retcode_OKAMEKOLPDB" => Some(Self::Okamekolpdb),
            "Retcode_NBICFEMBGEB" => Some(Self::Nbicfembgeb),
            "Retcode_GFBENDMKGMN" => Some(Self::Gfbendmkgmn),
            "Retcode_DFJINCHMDBH" => Some(Self::Dfjinchmdbh),
            "Retcode_FDCKOELBPFF" => Some(Self::Fdckoelbpff),
            "Retcode_JHLELIFPINJ" => Some(Self::Jhlelifpinj),
            "Retcode_HKGAOKDKFKC" => Some(Self::Hkgaokdkfkc),
            "Retcode_MIIGHHKMGHM" => Some(Self::Miighhkmghm),
            "Retcode_AGEIOBENCMJ" => Some(Self::Ageiobencmj),
            "Retcode_CBPGALLJEPD" => Some(Self::Cbpgalljepd),
            "Retcode_LFJCDIGAPNK" => Some(Self::Lfjcdigapnk),
            "Retcode_NHBDPKEMHJC" => Some(Self::Nhbdpkemhjc),
            "Retcode_EFBLJHOPKNH" => Some(Self::Efbljhopknh),
            "Retcode_DCJIIAHBEAG" => Some(Self::Dcjiiahbeag),
            "Retcode_KEMIBMAFOMD" => Some(Self::Kemibmafomd),
            "Retcode_FGFMKAFHIOH" => Some(Self::Fgfmkafhioh),
            "Retcode_JDHMBJEKFEG" => Some(Self::Jdhmbjekfeg),
            "Retcode_PBPLIBBEKCE" => Some(Self::Pbplibbekce),
            "Retcode_ONFIDLGNKCA" => Some(Self::Onfidlgnkca),
            "Retcode_AELGHBIMHAO" => Some(Self::Aelghbimhao),
            "Retcode_BFELLHHPKFO" => Some(Self::Bfellhhpkfo),
            "Retcode_CABLNLCHHLP" => Some(Self::Cablnlchhlp),
            "Retcode_DBBIPGKBKDH" => Some(Self::Dbbipgkbkdh),
            _ => None,
        }
    }
}
/// Obf: GNFAJABIHNB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActiveType {
    GnfajabihnbGkjbaodjmjg = 0,
    CmdGetActiveActivityDataScRsp = 9554,
    CmdTakeActiveActivityRewardScRsp = 9551,
    CmdActiveActivityDataChangeScNotify = 9562,
    CmdTakeActiveActivityRewardCsReq = 9556,
    CmdGetActivityActiveDataCsReq = 9560,
}
impl CmdActiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GnfajabihnbGkjbaodjmjg => "GNFAJABIHNB_GKJBAODJMJG",
            Self::CmdGetActiveActivityDataScRsp => "CmdGetActiveActivityDataScRsp",
            Self::CmdTakeActiveActivityRewardScRsp => "CmdTakeActiveActivityRewardScRsp",
            Self::CmdActiveActivityDataChangeScNotify => {
                "CmdActiveActivityDataChangeScNotify"
            }
            Self::CmdTakeActiveActivityRewardCsReq => "CmdTakeActiveActivityRewardCsReq",
            Self::CmdGetActivityActiveDataCsReq => "CmdGetActivityActiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GNFAJABIHNB_GKJBAODJMJG" => Some(Self::GnfajabihnbGkjbaodjmjg),
            "CmdGetActiveActivityDataScRsp" => Some(Self::CmdGetActiveActivityDataScRsp),
            "CmdTakeActiveActivityRewardScRsp" => {
                Some(Self::CmdTakeActiveActivityRewardScRsp)
            }
            "CmdActiveActivityDataChangeScNotify" => {
                Some(Self::CmdActiveActivityDataChangeScNotify)
            }
            "CmdTakeActiveActivityRewardCsReq" => {
                Some(Self::CmdTakeActiveActivityRewardCsReq)
            }
            "CmdGetActivityActiveDataCsReq" => Some(Self::CmdGetActivityActiveDataCsReq),
            _ => None,
        }
    }
}
/// Obf: EHLBIEFPALI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityType {
    EhlbiefpaliGkjbaodjmjg = 0,
    EhlbiefpaliKjioifcdlhd = 2648,
    CmdEnterTrialActivityStageScRsp = 2606,
    CmdGetMaterialSubmitActivityDataCsReq = 2695,
    CmdLeaveTrialActivityCsReq = 2622,
    CmdTakeRewardCsReq = 2687,
    CmdTakeRewardScRsp = 2624,
    CmdGetTrialActivityDataScRsp = 2602,
    CmdChooseAvatarScRsp = 2674,
    CmdSubmitMaterialSubmitActivityMaterialScRsp = 2689,
    CmdTakeLoginActivityRewardScRsp = 2675,
    CmdGetActivityScheduleConfigScRsp = 2662,
    CmdTakeTrialActivityRewardScRsp = 2697,
    CmdGetActivityScheduleConfigCsReq = 2638,
    CmdTrialActivityNotify = 2660,
    CmdGgfaklohmoo = 2672,
    CmdTakeMaterialSubmitActivityRewardScRsp = 2696,
    CmdGetMaterialSubmitActivityDataScRsp = 2634,
    CmdTakeLoginActivityRewardCsReq = 2655,
    CmdSubmitMaterialSubmitActivityMaterialCsReq = 2693,
    CmdGetDataScRsp = 2643,
    CmdChooseAvatarCsReq = 2658,
    CmdGetTrialActivityDataCsReq = 2692,
    CmdGetLoginActivityCsReq = 2657,
    CmdStartTrialActivityCsReq = 2615,
    CmdGetLoginActivityScRsp = 2628,
    CmdTrialActivityDataChangeScNotify = 2698,
    CmdStartTrialActivity = 2691,
    CmdTakeMaterialSubmitActivityRewardCsReq = 2676,
    CmdTakeTrialActivityRewardCsReq = 2681,
    CmdGetDataCsReq = 2668,
}
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 {
            Self::EhlbiefpaliGkjbaodjmjg => "EHLBIEFPALI_GKJBAODJMJG",
            Self::EhlbiefpaliKjioifcdlhd => "EHLBIEFPALI_KJIOIFCDLHD",
            Self::CmdEnterTrialActivityStageScRsp => "CmdEnterTrialActivityStageScRsp",
            Self::CmdGetMaterialSubmitActivityDataCsReq => {
                "CmdGetMaterialSubmitActivityDataCsReq"
            }
            Self::CmdLeaveTrialActivityCsReq => "CmdLeaveTrialActivityCsReq",
            Self::CmdTakeRewardCsReq => "CmdTakeRewardCsReq",
            Self::CmdTakeRewardScRsp => "CmdTakeRewardScRsp",
            Self::CmdGetTrialActivityDataScRsp => "CmdGetTrialActivityDataScRsp",
            Self::CmdChooseAvatarScRsp => "CmdChooseAvatarScRsp",
            Self::CmdSubmitMaterialSubmitActivityMaterialScRsp => {
                "CmdSubmitMaterialSubmitActivityMaterialScRsp"
            }
            Self::CmdTakeLoginActivityRewardScRsp => "CmdTakeLoginActivityRewardScRsp",
            Self::CmdGetActivityScheduleConfigScRsp => {
                "CmdGetActivityScheduleConfigScRsp"
            }
            Self::CmdTakeTrialActivityRewardScRsp => "CmdTakeTrialActivityRewardScRsp",
            Self::CmdGetActivityScheduleConfigCsReq => {
                "CmdGetActivityScheduleConfigCsReq"
            }
            Self::CmdTrialActivityNotify => "CmdTrialActivityNotify",
            Self::CmdGgfaklohmoo => "CmdGGFAKLOHMOO",
            Self::CmdTakeMaterialSubmitActivityRewardScRsp => {
                "CmdTakeMaterialSubmitActivityRewardScRsp"
            }
            Self::CmdGetMaterialSubmitActivityDataScRsp => {
                "CmdGetMaterialSubmitActivityDataScRsp"
            }
            Self::CmdTakeLoginActivityRewardCsReq => "CmdTakeLoginActivityRewardCsReq",
            Self::CmdSubmitMaterialSubmitActivityMaterialCsReq => {
                "CmdSubmitMaterialSubmitActivityMaterialCsReq"
            }
            Self::CmdGetDataScRsp => "CmdGetDataScRsp",
            Self::CmdChooseAvatarCsReq => "CmdChooseAvatarCsReq",
            Self::CmdGetTrialActivityDataCsReq => "CmdGetTrialActivityDataCsReq",
            Self::CmdGetLoginActivityCsReq => "CmdGetLoginActivityCsReq",
            Self::CmdStartTrialActivityCsReq => "CmdStartTrialActivityCsReq",
            Self::CmdGetLoginActivityScRsp => "CmdGetLoginActivityScRsp",
            Self::CmdTrialActivityDataChangeScNotify => {
                "CmdTrialActivityDataChangeScNotify"
            }
            Self::CmdStartTrialActivity => "CmdStartTrialActivity",
            Self::CmdTakeMaterialSubmitActivityRewardCsReq => {
                "CmdTakeMaterialSubmitActivityRewardCsReq"
            }
            Self::CmdTakeTrialActivityRewardCsReq => "CmdTakeTrialActivityRewardCsReq",
            Self::CmdGetDataCsReq => "CmdGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EHLBIEFPALI_GKJBAODJMJG" => Some(Self::EhlbiefpaliGkjbaodjmjg),
            "EHLBIEFPALI_KJIOIFCDLHD" => Some(Self::EhlbiefpaliKjioifcdlhd),
            "CmdEnterTrialActivityStageScRsp" => {
                Some(Self::CmdEnterTrialActivityStageScRsp)
            }
            "CmdGetMaterialSubmitActivityDataCsReq" => {
                Some(Self::CmdGetMaterialSubmitActivityDataCsReq)
            }
            "CmdLeaveTrialActivityCsReq" => Some(Self::CmdLeaveTrialActivityCsReq),
            "CmdTakeRewardCsReq" => Some(Self::CmdTakeRewardCsReq),
            "CmdTakeRewardScRsp" => Some(Self::CmdTakeRewardScRsp),
            "CmdGetTrialActivityDataScRsp" => Some(Self::CmdGetTrialActivityDataScRsp),
            "CmdChooseAvatarScRsp" => Some(Self::CmdChooseAvatarScRsp),
            "CmdSubmitMaterialSubmitActivityMaterialScRsp" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialScRsp)
            }
            "CmdTakeLoginActivityRewardScRsp" => {
                Some(Self::CmdTakeLoginActivityRewardScRsp)
            }
            "CmdGetActivityScheduleConfigScRsp" => {
                Some(Self::CmdGetActivityScheduleConfigScRsp)
            }
            "CmdTakeTrialActivityRewardScRsp" => {
                Some(Self::CmdTakeTrialActivityRewardScRsp)
            }
            "CmdGetActivityScheduleConfigCsReq" => {
                Some(Self::CmdGetActivityScheduleConfigCsReq)
            }
            "CmdTrialActivityNotify" => Some(Self::CmdTrialActivityNotify),
            "CmdGGFAKLOHMOO" => Some(Self::CmdGgfaklohmoo),
            "CmdTakeMaterialSubmitActivityRewardScRsp" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardScRsp)
            }
            "CmdGetMaterialSubmitActivityDataScRsp" => {
                Some(Self::CmdGetMaterialSubmitActivityDataScRsp)
            }
            "CmdTakeLoginActivityRewardCsReq" => {
                Some(Self::CmdTakeLoginActivityRewardCsReq)
            }
            "CmdSubmitMaterialSubmitActivityMaterialCsReq" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialCsReq)
            }
            "CmdGetDataScRsp" => Some(Self::CmdGetDataScRsp),
            "CmdChooseAvatarCsReq" => Some(Self::CmdChooseAvatarCsReq),
            "CmdGetTrialActivityDataCsReq" => Some(Self::CmdGetTrialActivityDataCsReq),
            "CmdGetLoginActivityCsReq" => Some(Self::CmdGetLoginActivityCsReq),
            "CmdStartTrialActivityCsReq" => Some(Self::CmdStartTrialActivityCsReq),
            "CmdGetLoginActivityScRsp" => Some(Self::CmdGetLoginActivityScRsp),
            "CmdTrialActivityDataChangeScNotify" => {
                Some(Self::CmdTrialActivityDataChangeScNotify)
            }
            "CmdStartTrialActivity" => Some(Self::CmdStartTrialActivity),
            "CmdTakeMaterialSubmitActivityRewardCsReq" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardCsReq)
            }
            "CmdTakeTrialActivityRewardCsReq" => {
                Some(Self::CmdTakeTrialActivityRewardCsReq)
            }
            "CmdGetDataCsReq" => Some(Self::CmdGetDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrialActivityStatus {
    None = 0,
    Finish = 1,
}
impl TrialActivityStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "TRIAL_ACTIVITY_STATUS_NONE",
            Self::Finish => "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::None),
            "TRIAL_ACTIVITY_STATUS_FINISH" => Some(Self::Finish),
            _ => None,
        }
    }
}
/// Obf: NODIIEHBAPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityRewardStatType {
    NodiiehbapoEblccnlkafk = 0,
    CmdGetActivityRewardCountDataScRsp = 9115,
    CmdGetActivityHotDataCsReq = 9120,
    CmdGetActivityHotDataScRsp = 9118,
    CmdGetActivityRewardCountDataCsReq = 9114,
}
impl CmdActivityRewardStatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NodiiehbapoEblccnlkafk => "NODIIEHBAPO_EBLCCNLKAFK",
            Self::CmdGetActivityRewardCountDataScRsp => {
                "CmdGetActivityRewardCountDataScRsp"
            }
            Self::CmdGetActivityHotDataCsReq => "CmdGetActivityHotDataCsReq",
            Self::CmdGetActivityHotDataScRsp => "CmdGetActivityHotDataScRsp",
            Self::CmdGetActivityRewardCountDataCsReq => {
                "CmdGetActivityRewardCountDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NODIIEHBAPO_EBLCCNLKAFK" => Some(Self::NodiiehbapoEblccnlkafk),
            "CmdGetActivityRewardCountDataScRsp" => {
                Some(Self::CmdGetActivityRewardCountDataScRsp)
            }
            "CmdGetActivityHotDataCsReq" => Some(Self::CmdGetActivityHotDataCsReq),
            "CmdGetActivityHotDataScRsp" => Some(Self::CmdGetActivityHotDataScRsp),
            "CmdGetActivityRewardCountDataCsReq" => {
                Some(Self::CmdGetActivityRewardCountDataCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: AKCLJAAKCBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAdventureType {
    AkcljaakcbdGkjbaodjmjg = 0,
    AkcljaakcbdOgajniilcla = 1357,
    CmdCocoonSweepScRsp = 1305,
    CmdStartQuickFarmElementRsp = 1320,
    CmdCocoonSweepCsReq = 1326,
    CmdFarmElementSweepScRsp = 1369,
    CmdStartQuickCocoonStageCsReq = 1338,
    CmdHickahpoapc = 1328,
    CmdFarmElementSweepCsReq = 1337,
    CmdGetFarmStageGachaInfoCsReq = 1355,
    CmdStartQuickCocoonStageRsp = 1362,
    CmdGetFarmStageGachaInfoScRsp = 1375,
    CmdStartQuickFarmElementReq = 1347,
}
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 {
            Self::AkcljaakcbdGkjbaodjmjg => "AKCLJAAKCBD_GKJBAODJMJG",
            Self::AkcljaakcbdOgajniilcla => "AKCLJAAKCBD_OGAJNIILCLA",
            Self::CmdCocoonSweepScRsp => "CmdCocoonSweepScRsp",
            Self::CmdStartQuickFarmElementRsp => "CmdStartQuickFarmElementRsp",
            Self::CmdCocoonSweepCsReq => "CmdCocoonSweepCsReq",
            Self::CmdFarmElementSweepScRsp => "CmdFarmElementSweepScRsp",
            Self::CmdStartQuickCocoonStageCsReq => "CmdStartQuickCocoonStageCsReq",
            Self::CmdHickahpoapc => "CmdHICKAHPOAPC",
            Self::CmdFarmElementSweepCsReq => "CmdFarmElementSweepCsReq",
            Self::CmdGetFarmStageGachaInfoCsReq => "CmdGetFarmStageGachaInfoCsReq",
            Self::CmdStartQuickCocoonStageRsp => "CmdStartQuickCocoonStageRsp",
            Self::CmdGetFarmStageGachaInfoScRsp => "CmdGetFarmStageGachaInfoScRsp",
            Self::CmdStartQuickFarmElementReq => "CmdStartQuickFarmElementReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AKCLJAAKCBD_GKJBAODJMJG" => Some(Self::AkcljaakcbdGkjbaodjmjg),
            "AKCLJAAKCBD_OGAJNIILCLA" => Some(Self::AkcljaakcbdOgajniilcla),
            "CmdCocoonSweepScRsp" => Some(Self::CmdCocoonSweepScRsp),
            "CmdStartQuickFarmElementRsp" => Some(Self::CmdStartQuickFarmElementRsp),
            "CmdCocoonSweepCsReq" => Some(Self::CmdCocoonSweepCsReq),
            "CmdFarmElementSweepScRsp" => Some(Self::CmdFarmElementSweepScRsp),
            "CmdStartQuickCocoonStageCsReq" => Some(Self::CmdStartQuickCocoonStageCsReq),
            "CmdHICKAHPOAPC" => Some(Self::CmdHickahpoapc),
            "CmdFarmElementSweepCsReq" => Some(Self::CmdFarmElementSweepCsReq),
            "CmdGetFarmStageGachaInfoCsReq" => Some(Self::CmdGetFarmStageGachaInfoCsReq),
            "CmdStartQuickCocoonStageRsp" => Some(Self::CmdStartQuickCocoonStageRsp),
            "CmdGetFarmStageGachaInfoScRsp" => Some(Self::CmdGetFarmStageGachaInfoScRsp),
            "CmdStartQuickFarmElementReq" => Some(Self::CmdStartQuickFarmElementReq),
            _ => None,
        }
    }
}
/// Obf: NNJHEKMEBAE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAetherDivideType {
    NnjhekmebaeGkjbaodjmjg = 0,
    CmdSetAetherDivideLineUpCsReq = 4831,
    NnjhekmebaeKbpmibphcbi = 4850,
    CmdGetAetherDivideChallengeInfoScRsp = 4845,
    CmdEquipSkillCoreScRsp = 4819,
    CmdAetherDivideSpiritInfoScNotify = 4802,
    CmdStartAetherDivideSceneBattleCsReq = 4839,
    CmdStartAetherDivideStageBattleCsReq = 4821,
    CmdAetherDivideTakeChallengeRewardScRsp = 4844,
    CmdAetherDivideTakeChallengeRewardCsReq = 4817,
    CmdClearAetherDividePassiveSkillCsReq = 4801,
    CmdAetherDivideRefreshEndlessCsReq = 4815,
    CmdTakeOffSkillCoreScRsp = 4820,
    CmdAetherDivideLineupScNotify = 4841,
    CmdAetherDivideSpiritExpUpCsReq = 4837,
    CmdAetherDivideSpiritExpUpScRsp = 4828,
    CmdAetherDivideSkillItemScNotify = 4823,
    CmdStartAetherDivideChallengeBattleCsReq = 4847,
    CmdGetAetherDivideChallengeInfoCsReq = 4846,
    CmdAetherDivideFinishChallengeScNotify = 4848,
    CmdStartAetherDivideSceneBattleScRsp = 4833,
    CmdAetherDivideRefreshEndlessScRsp = 4805,
    CmdLeaveAetherDivideSceneCsReq = 4824,
    CmdAetherDivideRefreshEndlessScNotify = 4813,
    CmdSetAetherDivideLineUpScRsp = 4829,
    CmdSwitchAetherDivideLineUpSlotScRsp = 4811,
    CmdGetAetherDivideInfoCsReq = 4843,
    CmdGetAetherDivideInfoScRsp = 4803,
    CmdGldbcdkbbgg = 4849,
    CmdAetherDivideTainerInfoScNotify = 4826,
    CmdStartAetherDivideChallengeBattleScRsp = 4835,
    CmdSwitchAetherDivideLineUpSlotCsReq = 4838,
    CmdEquipAetherDividePassiveSkillCsReq = 4822,
    CmdFhbefhpiica = 4807,
    CmdStartAetherDivideStageBattleScRsp = 4840,
}
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 {
            Self::NnjhekmebaeGkjbaodjmjg => "NNJHEKMEBAE_GKJBAODJMJG",
            Self::CmdSetAetherDivideLineUpCsReq => "CmdSetAetherDivideLineUpCsReq",
            Self::NnjhekmebaeKbpmibphcbi => "NNJHEKMEBAE_KBPMIBPHCBI",
            Self::CmdGetAetherDivideChallengeInfoScRsp => {
                "CmdGetAetherDivideChallengeInfoScRsp"
            }
            Self::CmdEquipSkillCoreScRsp => "CmdEquipSkillCoreScRsp",
            Self::CmdAetherDivideSpiritInfoScNotify => {
                "CmdAetherDivideSpiritInfoScNotify"
            }
            Self::CmdStartAetherDivideSceneBattleCsReq => {
                "CmdStartAetherDivideSceneBattleCsReq"
            }
            Self::CmdStartAetherDivideStageBattleCsReq => {
                "CmdStartAetherDivideStageBattleCsReq"
            }
            Self::CmdAetherDivideTakeChallengeRewardScRsp => {
                "CmdAetherDivideTakeChallengeRewardScRsp"
            }
            Self::CmdAetherDivideTakeChallengeRewardCsReq => {
                "CmdAetherDivideTakeChallengeRewardCsReq"
            }
            Self::CmdClearAetherDividePassiveSkillCsReq => {
                "CmdClearAetherDividePassiveSkillCsReq"
            }
            Self::CmdAetherDivideRefreshEndlessCsReq => {
                "CmdAetherDivideRefreshEndlessCsReq"
            }
            Self::CmdTakeOffSkillCoreScRsp => "CmdTakeOffSkillCoreScRsp",
            Self::CmdAetherDivideLineupScNotify => "CmdAetherDivideLineupScNotify",
            Self::CmdAetherDivideSpiritExpUpCsReq => "CmdAetherDivideSpiritExpUpCsReq",
            Self::CmdAetherDivideSpiritExpUpScRsp => "CmdAetherDivideSpiritExpUpScRsp",
            Self::CmdAetherDivideSkillItemScNotify => "CmdAetherDivideSkillItemScNotify",
            Self::CmdStartAetherDivideChallengeBattleCsReq => {
                "CmdStartAetherDivideChallengeBattleCsReq"
            }
            Self::CmdGetAetherDivideChallengeInfoCsReq => {
                "CmdGetAetherDivideChallengeInfoCsReq"
            }
            Self::CmdAetherDivideFinishChallengeScNotify => {
                "CmdAetherDivideFinishChallengeScNotify"
            }
            Self::CmdStartAetherDivideSceneBattleScRsp => {
                "CmdStartAetherDivideSceneBattleScRsp"
            }
            Self::CmdAetherDivideRefreshEndlessScRsp => {
                "CmdAetherDivideRefreshEndlessScRsp"
            }
            Self::CmdLeaveAetherDivideSceneCsReq => "CmdLeaveAetherDivideSceneCsReq",
            Self::CmdAetherDivideRefreshEndlessScNotify => {
                "CmdAetherDivideRefreshEndlessScNotify"
            }
            Self::CmdSetAetherDivideLineUpScRsp => "CmdSetAetherDivideLineUpScRsp",
            Self::CmdSwitchAetherDivideLineUpSlotScRsp => {
                "CmdSwitchAetherDivideLineUpSlotScRsp"
            }
            Self::CmdGetAetherDivideInfoCsReq => "CmdGetAetherDivideInfoCsReq",
            Self::CmdGetAetherDivideInfoScRsp => "CmdGetAetherDivideInfoScRsp",
            Self::CmdGldbcdkbbgg => "CmdGLDBCDKBBGG",
            Self::CmdAetherDivideTainerInfoScNotify => {
                "CmdAetherDivideTainerInfoScNotify"
            }
            Self::CmdStartAetherDivideChallengeBattleScRsp => {
                "CmdStartAetherDivideChallengeBattleScRsp"
            }
            Self::CmdSwitchAetherDivideLineUpSlotCsReq => {
                "CmdSwitchAetherDivideLineUpSlotCsReq"
            }
            Self::CmdEquipAetherDividePassiveSkillCsReq => {
                "CmdEquipAetherDividePassiveSkillCsReq"
            }
            Self::CmdFhbefhpiica => "CmdFHBEFHPIICA",
            Self::CmdStartAetherDivideStageBattleScRsp => {
                "CmdStartAetherDivideStageBattleScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NNJHEKMEBAE_GKJBAODJMJG" => Some(Self::NnjhekmebaeGkjbaodjmjg),
            "CmdSetAetherDivideLineUpCsReq" => Some(Self::CmdSetAetherDivideLineUpCsReq),
            "NNJHEKMEBAE_KBPMIBPHCBI" => Some(Self::NnjhekmebaeKbpmibphcbi),
            "CmdGetAetherDivideChallengeInfoScRsp" => {
                Some(Self::CmdGetAetherDivideChallengeInfoScRsp)
            }
            "CmdEquipSkillCoreScRsp" => Some(Self::CmdEquipSkillCoreScRsp),
            "CmdAetherDivideSpiritInfoScNotify" => {
                Some(Self::CmdAetherDivideSpiritInfoScNotify)
            }
            "CmdStartAetherDivideSceneBattleCsReq" => {
                Some(Self::CmdStartAetherDivideSceneBattleCsReq)
            }
            "CmdStartAetherDivideStageBattleCsReq" => {
                Some(Self::CmdStartAetherDivideStageBattleCsReq)
            }
            "CmdAetherDivideTakeChallengeRewardScRsp" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardScRsp)
            }
            "CmdAetherDivideTakeChallengeRewardCsReq" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardCsReq)
            }
            "CmdClearAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdClearAetherDividePassiveSkillCsReq)
            }
            "CmdAetherDivideRefreshEndlessCsReq" => {
                Some(Self::CmdAetherDivideRefreshEndlessCsReq)
            }
            "CmdTakeOffSkillCoreScRsp" => Some(Self::CmdTakeOffSkillCoreScRsp),
            "CmdAetherDivideLineupScNotify" => Some(Self::CmdAetherDivideLineupScNotify),
            "CmdAetherDivideSpiritExpUpCsReq" => {
                Some(Self::CmdAetherDivideSpiritExpUpCsReq)
            }
            "CmdAetherDivideSpiritExpUpScRsp" => {
                Some(Self::CmdAetherDivideSpiritExpUpScRsp)
            }
            "CmdAetherDivideSkillItemScNotify" => {
                Some(Self::CmdAetherDivideSkillItemScNotify)
            }
            "CmdStartAetherDivideChallengeBattleCsReq" => {
                Some(Self::CmdStartAetherDivideChallengeBattleCsReq)
            }
            "CmdGetAetherDivideChallengeInfoCsReq" => {
                Some(Self::CmdGetAetherDivideChallengeInfoCsReq)
            }
            "CmdAetherDivideFinishChallengeScNotify" => {
                Some(Self::CmdAetherDivideFinishChallengeScNotify)
            }
            "CmdStartAetherDivideSceneBattleScRsp" => {
                Some(Self::CmdStartAetherDivideSceneBattleScRsp)
            }
            "CmdAetherDivideRefreshEndlessScRsp" => {
                Some(Self::CmdAetherDivideRefreshEndlessScRsp)
            }
            "CmdLeaveAetherDivideSceneCsReq" => {
                Some(Self::CmdLeaveAetherDivideSceneCsReq)
            }
            "CmdAetherDivideRefreshEndlessScNotify" => {
                Some(Self::CmdAetherDivideRefreshEndlessScNotify)
            }
            "CmdSetAetherDivideLineUpScRsp" => Some(Self::CmdSetAetherDivideLineUpScRsp),
            "CmdSwitchAetherDivideLineUpSlotScRsp" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotScRsp)
            }
            "CmdGetAetherDivideInfoCsReq" => Some(Self::CmdGetAetherDivideInfoCsReq),
            "CmdGetAetherDivideInfoScRsp" => Some(Self::CmdGetAetherDivideInfoScRsp),
            "CmdGLDBCDKBBGG" => Some(Self::CmdGldbcdkbbgg),
            "CmdAetherDivideTainerInfoScNotify" => {
                Some(Self::CmdAetherDivideTainerInfoScNotify)
            }
            "CmdStartAetherDivideChallengeBattleScRsp" => {
                Some(Self::CmdStartAetherDivideChallengeBattleScRsp)
            }
            "CmdSwitchAetherDivideLineUpSlotCsReq" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotCsReq)
            }
            "CmdEquipAetherDividePassiveSkillCsReq" => {
                Some(Self::CmdEquipAetherDividePassiveSkillCsReq)
            }
            "CmdFHBEFHPIICA" => Some(Self::CmdFhbefhpiica),
            "CmdStartAetherDivideStageBattleScRsp" => {
                Some(Self::CmdStartAetherDivideStageBattleScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: AGOMMHFEIHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAiPamType {
    AgommhfeihePdngoikicak = 0,
    AgommhfeiheDdnojamgkmg = 9506,
    CmdGetAiPamNextQuestionCsReq = 9533,
    CmdAiPamResponseFeedbackCsReq = 9503,
    CmdAiPamSendMsgCsReq = 9550,
    CmdAiPamResponseFeedbackScRsp = 9531,
    CmdGetAiPamGreetingCsReq = 9535,
    CmdGetAiPamGreetingScRsp = 9508,
    CmdAiPamSendMsgScRsp = 9549,
    CmdGetAiPamChatHistoryScRsp = 9539,
    CmdGetAiPamNextQuestionScRsp = 9547,
    CmdInndnompmgf = 9543,
    CmdRecvAiPamChatEventScNotify = 9524,
    CmdGetAiPamChatHistoryCsReq = 9507,
}
impl CmdAiPamType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AgommhfeihePdngoikicak => "AGOMMHFEIHE_PDNGOIKICAK",
            Self::AgommhfeiheDdnojamgkmg => "AGOMMHFEIHE_DDNOJAMGKMG",
            Self::CmdGetAiPamNextQuestionCsReq => "CmdGetAiPamNextQuestionCsReq",
            Self::CmdAiPamResponseFeedbackCsReq => "CmdAiPamResponseFeedbackCsReq",
            Self::CmdAiPamSendMsgCsReq => "CmdAiPamSendMsgCsReq",
            Self::CmdAiPamResponseFeedbackScRsp => "CmdAiPamResponseFeedbackScRsp",
            Self::CmdGetAiPamGreetingCsReq => "CmdGetAiPamGreetingCsReq",
            Self::CmdGetAiPamGreetingScRsp => "CmdGetAiPamGreetingScRsp",
            Self::CmdAiPamSendMsgScRsp => "CmdAiPamSendMsgScRsp",
            Self::CmdGetAiPamChatHistoryScRsp => "CmdGetAiPamChatHistoryScRsp",
            Self::CmdGetAiPamNextQuestionScRsp => "CmdGetAiPamNextQuestionScRsp",
            Self::CmdInndnompmgf => "CmdINNDNOMPMGF",
            Self::CmdRecvAiPamChatEventScNotify => "CmdRecvAiPamChatEventScNotify",
            Self::CmdGetAiPamChatHistoryCsReq => "CmdGetAiPamChatHistoryCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AGOMMHFEIHE_PDNGOIKICAK" => Some(Self::AgommhfeihePdngoikicak),
            "AGOMMHFEIHE_DDNOJAMGKMG" => Some(Self::AgommhfeiheDdnojamgkmg),
            "CmdGetAiPamNextQuestionCsReq" => Some(Self::CmdGetAiPamNextQuestionCsReq),
            "CmdAiPamResponseFeedbackCsReq" => Some(Self::CmdAiPamResponseFeedbackCsReq),
            "CmdAiPamSendMsgCsReq" => Some(Self::CmdAiPamSendMsgCsReq),
            "CmdAiPamResponseFeedbackScRsp" => Some(Self::CmdAiPamResponseFeedbackScRsp),
            "CmdGetAiPamGreetingCsReq" => Some(Self::CmdGetAiPamGreetingCsReq),
            "CmdGetAiPamGreetingScRsp" => Some(Self::CmdGetAiPamGreetingScRsp),
            "CmdAiPamSendMsgScRsp" => Some(Self::CmdAiPamSendMsgScRsp),
            "CmdGetAiPamChatHistoryScRsp" => Some(Self::CmdGetAiPamChatHistoryScRsp),
            "CmdGetAiPamNextQuestionScRsp" => Some(Self::CmdGetAiPamNextQuestionScRsp),
            "CmdINNDNOMPMGF" => Some(Self::CmdInndnompmgf),
            "CmdRecvAiPamChatEventScNotify" => Some(Self::CmdRecvAiPamChatEventScNotify),
            "CmdGetAiPamChatHistoryCsReq" => Some(Self::CmdGetAiPamChatHistoryCsReq),
            _ => None,
        }
    }
}
/// Obf: MPDLIJAHICP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAlleyType {
    MpdlijahicpGkjbaodjmjg = 0,
    CmdAlleyTakeEventRewardScRsp = 4716,
    CmdActivityRaidPlacingGameCsReq = 4751,
    CmdAlleyPlacingGameCsReq = 4766,
    MpdlijahicpFffhegbhmgm = 4795,
    CmdActivityRaidPlacingGameScRsp = 4756,
    CmdSaveLogisticsCsReq = 4712,
    MpdlijahicpKfdhmpkkmnb = 4777,
    CmdGetAlleyInfoScRsp = 4728,
    MpdlijahicpPihmkakkmnj = 4734,
    CmdTakePrestigeRewardScRsp = 4769,
    CmdGetSaveLogisticsMapScRsp = 4711,
    CmdLogisticsScoreRewardSyncInfoScNotify = 4788,
    CmdGetSaveLogisticsMapCsReq = 4785,
    CmdPrestigeLevelUpScRsp = 4796,
    CmdKifjbbjnloe = 4750,
    CmdLogisticsDetonateStarSkiffCsReq = 4752,
    CmdLogisticsInfoScNotify = 4786,
    CmdPrestigeLevelUpCsReq = 4776,
    CmdAlleyPlacingGameScRsp = 4779,
    CmdAlleyOrderChangedScNotify = 4793,
    CmdAlleyFundsScNotify = 4780,
    CmdNdgeefnghin = 4720,
    CmdAlleyShipmentEventEffectsScNotify = 4709,
    CmdJnaapdmdjmg = 4778,
    CmdLogisticsGameCsReq = 4755,
    CmdDgdnopmpggk = 4705,
    MpdlijahicpNiigpldkohl = 4713,
    CmdTakePrestigeRewardCsReq = 4737,
    CmdMgcjgdfjkal = 4782,
    CmdLogisticsGameScRsp = 4775,
    CmdStartAlleyEventCsReq = 4747,
    CmdTakeEventRewardCsReq = 4742,
    CmdGetAlleyInfoCsReq = 4757,
    CmdGdajipopgde = 4714,
    CmdDloconiafpg = 4799,
    CmdAlleyEventChangeNotify = 4726,
}
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 {
            Self::MpdlijahicpGkjbaodjmjg => "MPDLIJAHICP_GKJBAODJMJG",
            Self::CmdAlleyTakeEventRewardScRsp => "CmdAlleyTakeEventRewardScRsp",
            Self::CmdActivityRaidPlacingGameCsReq => "CmdActivityRaidPlacingGameCsReq",
            Self::CmdAlleyPlacingGameCsReq => "CmdAlleyPlacingGameCsReq",
            Self::MpdlijahicpFffhegbhmgm => "MPDLIJAHICP_FFFHEGBHMGM",
            Self::CmdActivityRaidPlacingGameScRsp => "CmdActivityRaidPlacingGameScRsp",
            Self::CmdSaveLogisticsCsReq => "CmdSaveLogisticsCsReq",
            Self::MpdlijahicpKfdhmpkkmnb => "MPDLIJAHICP_KFDHMPKKMNB",
            Self::CmdGetAlleyInfoScRsp => "CmdGetAlleyInfoScRsp",
            Self::MpdlijahicpPihmkakkmnj => "MPDLIJAHICP_PIHMKAKKMNJ",
            Self::CmdTakePrestigeRewardScRsp => "CmdTakePrestigeRewardScRsp",
            Self::CmdGetSaveLogisticsMapScRsp => "CmdGetSaveLogisticsMapScRsp",
            Self::CmdLogisticsScoreRewardSyncInfoScNotify => {
                "CmdLogisticsScoreRewardSyncInfoScNotify"
            }
            Self::CmdGetSaveLogisticsMapCsReq => "CmdGetSaveLogisticsMapCsReq",
            Self::CmdPrestigeLevelUpScRsp => "CmdPrestigeLevelUpScRsp",
            Self::CmdKifjbbjnloe => "CmdKIFJBBJNLOE",
            Self::CmdLogisticsDetonateStarSkiffCsReq => {
                "CmdLogisticsDetonateStarSkiffCsReq"
            }
            Self::CmdLogisticsInfoScNotify => "CmdLogisticsInfoScNotify",
            Self::CmdPrestigeLevelUpCsReq => "CmdPrestigeLevelUpCsReq",
            Self::CmdAlleyPlacingGameScRsp => "CmdAlleyPlacingGameScRsp",
            Self::CmdAlleyOrderChangedScNotify => "CmdAlleyOrderChangedScNotify",
            Self::CmdAlleyFundsScNotify => "CmdAlleyFundsScNotify",
            Self::CmdNdgeefnghin => "CmdNDGEEFNGHIN",
            Self::CmdAlleyShipmentEventEffectsScNotify => {
                "CmdAlleyShipmentEventEffectsScNotify"
            }
            Self::CmdJnaapdmdjmg => "CmdJNAAPDMDJMG",
            Self::CmdLogisticsGameCsReq => "CmdLogisticsGameCsReq",
            Self::CmdDgdnopmpggk => "CmdDGDNOPMPGGK",
            Self::MpdlijahicpNiigpldkohl => "MPDLIJAHICP_NIIGPLDKOHL",
            Self::CmdTakePrestigeRewardCsReq => "CmdTakePrestigeRewardCsReq",
            Self::CmdMgcjgdfjkal => "CmdMGCJGDFJKAL",
            Self::CmdLogisticsGameScRsp => "CmdLogisticsGameScRsp",
            Self::CmdStartAlleyEventCsReq => "CmdStartAlleyEventCsReq",
            Self::CmdTakeEventRewardCsReq => "CmdTakeEventRewardCsReq",
            Self::CmdGetAlleyInfoCsReq => "CmdGetAlleyInfoCsReq",
            Self::CmdGdajipopgde => "CmdGDAJIPOPGDE",
            Self::CmdDloconiafpg => "CmdDLOCONIAFPG",
            Self::CmdAlleyEventChangeNotify => "CmdAlleyEventChangeNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MPDLIJAHICP_GKJBAODJMJG" => Some(Self::MpdlijahicpGkjbaodjmjg),
            "CmdAlleyTakeEventRewardScRsp" => Some(Self::CmdAlleyTakeEventRewardScRsp),
            "CmdActivityRaidPlacingGameCsReq" => {
                Some(Self::CmdActivityRaidPlacingGameCsReq)
            }
            "CmdAlleyPlacingGameCsReq" => Some(Self::CmdAlleyPlacingGameCsReq),
            "MPDLIJAHICP_FFFHEGBHMGM" => Some(Self::MpdlijahicpFffhegbhmgm),
            "CmdActivityRaidPlacingGameScRsp" => {
                Some(Self::CmdActivityRaidPlacingGameScRsp)
            }
            "CmdSaveLogisticsCsReq" => Some(Self::CmdSaveLogisticsCsReq),
            "MPDLIJAHICP_KFDHMPKKMNB" => Some(Self::MpdlijahicpKfdhmpkkmnb),
            "CmdGetAlleyInfoScRsp" => Some(Self::CmdGetAlleyInfoScRsp),
            "MPDLIJAHICP_PIHMKAKKMNJ" => Some(Self::MpdlijahicpPihmkakkmnj),
            "CmdTakePrestigeRewardScRsp" => Some(Self::CmdTakePrestigeRewardScRsp),
            "CmdGetSaveLogisticsMapScRsp" => Some(Self::CmdGetSaveLogisticsMapScRsp),
            "CmdLogisticsScoreRewardSyncInfoScNotify" => {
                Some(Self::CmdLogisticsScoreRewardSyncInfoScNotify)
            }
            "CmdGetSaveLogisticsMapCsReq" => Some(Self::CmdGetSaveLogisticsMapCsReq),
            "CmdPrestigeLevelUpScRsp" => Some(Self::CmdPrestigeLevelUpScRsp),
            "CmdKIFJBBJNLOE" => Some(Self::CmdKifjbbjnloe),
            "CmdLogisticsDetonateStarSkiffCsReq" => {
                Some(Self::CmdLogisticsDetonateStarSkiffCsReq)
            }
            "CmdLogisticsInfoScNotify" => Some(Self::CmdLogisticsInfoScNotify),
            "CmdPrestigeLevelUpCsReq" => Some(Self::CmdPrestigeLevelUpCsReq),
            "CmdAlleyPlacingGameScRsp" => Some(Self::CmdAlleyPlacingGameScRsp),
            "CmdAlleyOrderChangedScNotify" => Some(Self::CmdAlleyOrderChangedScNotify),
            "CmdAlleyFundsScNotify" => Some(Self::CmdAlleyFundsScNotify),
            "CmdNDGEEFNGHIN" => Some(Self::CmdNdgeefnghin),
            "CmdAlleyShipmentEventEffectsScNotify" => {
                Some(Self::CmdAlleyShipmentEventEffectsScNotify)
            }
            "CmdJNAAPDMDJMG" => Some(Self::CmdJnaapdmdjmg),
            "CmdLogisticsGameCsReq" => Some(Self::CmdLogisticsGameCsReq),
            "CmdDGDNOPMPGGK" => Some(Self::CmdDgdnopmpggk),
            "MPDLIJAHICP_NIIGPLDKOHL" => Some(Self::MpdlijahicpNiigpldkohl),
            "CmdTakePrestigeRewardCsReq" => Some(Self::CmdTakePrestigeRewardCsReq),
            "CmdMGCJGDFJKAL" => Some(Self::CmdMgcjgdfjkal),
            "CmdLogisticsGameScRsp" => Some(Self::CmdLogisticsGameScRsp),
            "CmdStartAlleyEventCsReq" => Some(Self::CmdStartAlleyEventCsReq),
            "CmdTakeEventRewardCsReq" => Some(Self::CmdTakeEventRewardCsReq),
            "CmdGetAlleyInfoCsReq" => Some(Self::CmdGetAlleyInfoCsReq),
            "CmdGDAJIPOPGDE" => Some(Self::CmdGdajipopgde),
            "CmdDLOCONIAFPG" => Some(Self::CmdDloconiafpg),
            "CmdAlleyEventChangeNotify" => Some(Self::CmdAlleyEventChangeNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jmegjannjlc {
    Jcdnckkokka = 0,
    Mplepjhkabo = 1,
    Belooeflcke = 2,
    Bbacfblaeel = 3,
    Amienfifgic = 4,
    Mlnlnekhgng = 5,
    Nncjmmohnih = 6,
    Ockcokjpinn = 7,
}
impl Jmegjannjlc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jcdnckkokka => "JMEGJANNJLC_JCDNCKKOKKA",
            Self::Mplepjhkabo => "JMEGJANNJLC_MPLEPJHKABO",
            Self::Belooeflcke => "JMEGJANNJLC_BELOOEFLCKE",
            Self::Bbacfblaeel => "JMEGJANNJLC_BBACFBLAEEL",
            Self::Amienfifgic => "JMEGJANNJLC_AMIENFIFGIC",
            Self::Mlnlnekhgng => "JMEGJANNJLC_MLNLNEKHGNG",
            Self::Nncjmmohnih => "JMEGJANNJLC_NNCJMMOHNIH",
            Self::Ockcokjpinn => "JMEGJANNJLC_OCKCOKJPINN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JMEGJANNJLC_JCDNCKKOKKA" => Some(Self::Jcdnckkokka),
            "JMEGJANNJLC_MPLEPJHKABO" => Some(Self::Mplepjhkabo),
            "JMEGJANNJLC_BELOOEFLCKE" => Some(Self::Belooeflcke),
            "JMEGJANNJLC_BBACFBLAEEL" => Some(Self::Bbacfblaeel),
            "JMEGJANNJLC_AMIENFIFGIC" => Some(Self::Amienfifgic),
            "JMEGJANNJLC_MLNLNEKHGNG" => Some(Self::Mlnlnekhgng),
            "JMEGJANNJLC_NNCJMMOHNIH" => Some(Self::Nncjmmohnih),
            "JMEGJANNJLC_OCKCOKJPINN" => Some(Self::Ockcokjpinn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdaeiihdkdj {
    Gkjbaodjmjg = 0,
    Adclnnjibgl = 1,
    Hehfpjnojam = 2,
    Kkcgikcnhnl = 3,
}
impl Hdaeiihdkdj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HDAEIIHDKDJ_GKJBAODJMJG",
            Self::Adclnnjibgl => "HDAEIIHDKDJ_ADCLNNJIBGL",
            Self::Hehfpjnojam => "HDAEIIHDKDJ_HEHFPJNOJAM",
            Self::Kkcgikcnhnl => "HDAEIIHDKDJ_KKCGIKCNHNL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDAEIIHDKDJ_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HDAEIIHDKDJ_ADCLNNJIBGL" => Some(Self::Adclnnjibgl),
            "HDAEIIHDKDJ_HEHFPJNOJAM" => Some(Self::Hehfpjnojam),
            "HDAEIIHDKDJ_KKCGIKCNHNL" => Some(Self::Kkcgikcnhnl),
            _ => None,
        }
    }
}
/// Obf: APKNFMHCMCD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlleyEventState {
    ApknfmhcmcdBejpnlmggmf = 0,
    ApknfmhcmcdAmlgmjnbclp = 1,
    ApknfmhcmcdObkmadfmhhh = 2,
    ApknfmhcmcdMjekojajnbn = 3,
}
impl AlleyEventState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::ApknfmhcmcdBejpnlmggmf => "APKNFMHCMCD_BEJPNLMGGMF",
            Self::ApknfmhcmcdAmlgmjnbclp => "APKNFMHCMCD_AMLGMJNBCLP",
            Self::ApknfmhcmcdObkmadfmhhh => "APKNFMHCMCD_OBKMADFMHHH",
            Self::ApknfmhcmcdMjekojajnbn => "APKNFMHCMCD_MJEKOJAJNBN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "APKNFMHCMCD_BEJPNLMGGMF" => Some(Self::ApknfmhcmcdBejpnlmggmf),
            "APKNFMHCMCD_AMLGMJNBCLP" => Some(Self::ApknfmhcmcdAmlgmjnbclp),
            "APKNFMHCMCD_OBKMADFMHHH" => Some(Self::ApknfmhcmcdObkmadfmhhh),
            "APKNFMHCMCD_MJEKOJAJNBN" => Some(Self::ApknfmhcmcdMjekojajnbn),
            _ => None,
        }
    }
}
/// Obf: IIJPJHKMHEF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdArchiveType {
    IijpjhkmhefGkjbaodjmjg = 0,
    CmdGetArchiveDataCsReq = 2357,
    CmdGetArchiveDataScRsp = 2328,
    CmdChnmcficlfh = 2375,
    CmdGetUpdatedArchiveDataCsReq = 2355,
}
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 {
            Self::IijpjhkmhefGkjbaodjmjg => "IIJPJHKMHEF_GKJBAODJMJG",
            Self::CmdGetArchiveDataCsReq => "CmdGetArchiveDataCsReq",
            Self::CmdGetArchiveDataScRsp => "CmdGetArchiveDataScRsp",
            Self::CmdChnmcficlfh => "CmdCHNMCFICLFH",
            Self::CmdGetUpdatedArchiveDataCsReq => "CmdGetUpdatedArchiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IIJPJHKMHEF_GKJBAODJMJG" => Some(Self::IijpjhkmhefGkjbaodjmjg),
            "CmdGetArchiveDataCsReq" => Some(Self::CmdGetArchiveDataCsReq),
            "CmdGetArchiveDataScRsp" => Some(Self::CmdGetArchiveDataScRsp),
            "CmdCHNMCFICLFH" => Some(Self::CmdChnmcficlfh),
            "CmdGetUpdatedArchiveDataCsReq" => Some(Self::CmdGetUpdatedArchiveDataCsReq),
            _ => None,
        }
    }
}
/// Obf: HPGFDCKOCJN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAvatarType {
    HpgfdckocjnGkjbaodjmjg = 0,
    CmdSetGrowthTargetAvatarCsReq = 385,
    CmdAvatarPathChangedNotify = 341,
    CmdGetPreAvatarGrowthInfoCsReq = 313,
    CmdSetAvatarPathCsReq = 370,
    CmdUnlockAvatarPathScRsp = 321,
    CmdUnlockAvatarPathCsReq = 332,
    CmdMarkAvatarCsReq = 350,
    CmdSetMultipleAvatarPathsCsReq = 330,
    CmdTakeOffEquipmentCsReq = 337,
    CmdSetPlayerOutfitCsReq = 356,
    CmdMarkAvatarScRsp = 386,
    CmdAbdlfbhlnaa = 305,
    CmdUnlockSkillTreeCsReq = 338,
    CmdTakeOffAvatarSkinCsReq = 377,
    CmdFfnlgbkichm = 369,
    CmdTakePromotionRewardScRsp = 376,
    CmdGetAvatarDataScRsp = 328,
    CmdGetPreAvatarActivityListScRsp = 351,
    CmdUnlockAvatarSkinScNotify = 312,
    CmdTakePromotionRewardCsReq = 389,
    CmdDressAvatarSkinCsReq = 396,
    CmdGetAvatarDataCsReq = 357,
    CmdTakeOffRelicCsReq = 334,
    CmdSetAvatarEnhancedIdScRsp = 382,
    CmdActiveEidolonCsReq = 379,
    CmdDressAvatarCsReq = 326,
    CmdGetPreAvatarActivityListCsReq = 388,
    CmdDressRelicAvatarCsReq = 383,
    CmdAddMultiPathAvatarScNotify = 309,
    CmdPromoteAvatarCsReq = 347,
    CmdSetAvatarPathScRsp = 301,
    CmdSetAvatarEnhancedIdCsReq = 352,
    CmdGrowthTargetAvatarChangedScNotify = 378,
    CmdUnlockSkilltreeScRsp = 362,
    CmdSetGrowthTargetAvatarScRsp = 311,
    CmdAvatarExpUpScRsp = 375,
    CmdKldfifdmdfd = 345,
    CmdAvatarSpecialSkilltreeUnlockScNotify = 392,
    CmdHlmpneoglih = 395,
    CmdGetPreAvatarGrowthInfoScRsp = 399,
    CmdNcafdhffklp = 393,
    CmdLcigojiinpm = 380,
    CmdSetPlayerOutfitScRsp = 308,
    CmdAvatarExpUpCsReq = 355,
    CmdAddAvatarScNotify = 366,
    CmdNljiadojboi = 314,
    CmdDbhaofpknpk = 320,
    CmdSetMultipleAvatarPathsScRsp = 318,
}
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 {
            Self::HpgfdckocjnGkjbaodjmjg => "HPGFDCKOCJN_GKJBAODJMJG",
            Self::CmdSetGrowthTargetAvatarCsReq => "CmdSetGrowthTargetAvatarCsReq",
            Self::CmdAvatarPathChangedNotify => "CmdAvatarPathChangedNotify",
            Self::CmdGetPreAvatarGrowthInfoCsReq => "CmdGetPreAvatarGrowthInfoCsReq",
            Self::CmdSetAvatarPathCsReq => "CmdSetAvatarPathCsReq",
            Self::CmdUnlockAvatarPathScRsp => "CmdUnlockAvatarPathScRsp",
            Self::CmdUnlockAvatarPathCsReq => "CmdUnlockAvatarPathCsReq",
            Self::CmdMarkAvatarCsReq => "CmdMarkAvatarCsReq",
            Self::CmdSetMultipleAvatarPathsCsReq => "CmdSetMultipleAvatarPathsCsReq",
            Self::CmdTakeOffEquipmentCsReq => "CmdTakeOffEquipmentCsReq",
            Self::CmdSetPlayerOutfitCsReq => "CmdSetPlayerOutfitCsReq",
            Self::CmdMarkAvatarScRsp => "CmdMarkAvatarScRsp",
            Self::CmdAbdlfbhlnaa => "CmdABDLFBHLNAA",
            Self::CmdUnlockSkillTreeCsReq => "CmdUnlockSkillTreeCsReq",
            Self::CmdTakeOffAvatarSkinCsReq => "CmdTakeOffAvatarSkinCsReq",
            Self::CmdFfnlgbkichm => "CmdFFNLGBKICHM",
            Self::CmdTakePromotionRewardScRsp => "CmdTakePromotionRewardScRsp",
            Self::CmdGetAvatarDataScRsp => "CmdGetAvatarDataScRsp",
            Self::CmdGetPreAvatarActivityListScRsp => "CmdGetPreAvatarActivityListScRsp",
            Self::CmdUnlockAvatarSkinScNotify => "CmdUnlockAvatarSkinScNotify",
            Self::CmdTakePromotionRewardCsReq => "CmdTakePromotionRewardCsReq",
            Self::CmdDressAvatarSkinCsReq => "CmdDressAvatarSkinCsReq",
            Self::CmdGetAvatarDataCsReq => "CmdGetAvatarDataCsReq",
            Self::CmdTakeOffRelicCsReq => "CmdTakeOffRelicCsReq",
            Self::CmdSetAvatarEnhancedIdScRsp => "CmdSetAvatarEnhancedIdScRsp",
            Self::CmdActiveEidolonCsReq => "CmdActiveEidolonCsReq",
            Self::CmdDressAvatarCsReq => "CmdDressAvatarCsReq",
            Self::CmdGetPreAvatarActivityListCsReq => "CmdGetPreAvatarActivityListCsReq",
            Self::CmdDressRelicAvatarCsReq => "CmdDressRelicAvatarCsReq",
            Self::CmdAddMultiPathAvatarScNotify => "CmdAddMultiPathAvatarScNotify",
            Self::CmdPromoteAvatarCsReq => "CmdPromoteAvatarCsReq",
            Self::CmdSetAvatarPathScRsp => "CmdSetAvatarPathScRsp",
            Self::CmdSetAvatarEnhancedIdCsReq => "CmdSetAvatarEnhancedIdCsReq",
            Self::CmdGrowthTargetAvatarChangedScNotify => {
                "CmdGrowthTargetAvatarChangedScNotify"
            }
            Self::CmdUnlockSkilltreeScRsp => "CmdUnlockSkilltreeScRsp",
            Self::CmdSetGrowthTargetAvatarScRsp => "CmdSetGrowthTargetAvatarScRsp",
            Self::CmdAvatarExpUpScRsp => "CmdAvatarExpUpScRsp",
            Self::CmdKldfifdmdfd => "CmdKLDFIFDMDFD",
            Self::CmdAvatarSpecialSkilltreeUnlockScNotify => {
                "CmdAvatarSpecialSkilltreeUnlockScNotify"
            }
            Self::CmdHlmpneoglih => "CmdHLMPNEOGLIH",
            Self::CmdGetPreAvatarGrowthInfoScRsp => "CmdGetPreAvatarGrowthInfoScRsp",
            Self::CmdNcafdhffklp => "CmdNCAFDHFFKLP",
            Self::CmdLcigojiinpm => "CmdLCIGOJIINPM",
            Self::CmdSetPlayerOutfitScRsp => "CmdSetPlayerOutfitScRsp",
            Self::CmdAvatarExpUpCsReq => "CmdAvatarExpUpCsReq",
            Self::CmdAddAvatarScNotify => "CmdAddAvatarScNotify",
            Self::CmdNljiadojboi => "CmdNLJIADOJBOI",
            Self::CmdDbhaofpknpk => "CmdDBHAOFPKNPK",
            Self::CmdSetMultipleAvatarPathsScRsp => "CmdSetMultipleAvatarPathsScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HPGFDCKOCJN_GKJBAODJMJG" => Some(Self::HpgfdckocjnGkjbaodjmjg),
            "CmdSetGrowthTargetAvatarCsReq" => Some(Self::CmdSetGrowthTargetAvatarCsReq),
            "CmdAvatarPathChangedNotify" => Some(Self::CmdAvatarPathChangedNotify),
            "CmdGetPreAvatarGrowthInfoCsReq" => {
                Some(Self::CmdGetPreAvatarGrowthInfoCsReq)
            }
            "CmdSetAvatarPathCsReq" => Some(Self::CmdSetAvatarPathCsReq),
            "CmdUnlockAvatarPathScRsp" => Some(Self::CmdUnlockAvatarPathScRsp),
            "CmdUnlockAvatarPathCsReq" => Some(Self::CmdUnlockAvatarPathCsReq),
            "CmdMarkAvatarCsReq" => Some(Self::CmdMarkAvatarCsReq),
            "CmdSetMultipleAvatarPathsCsReq" => {
                Some(Self::CmdSetMultipleAvatarPathsCsReq)
            }
            "CmdTakeOffEquipmentCsReq" => Some(Self::CmdTakeOffEquipmentCsReq),
            "CmdSetPlayerOutfitCsReq" => Some(Self::CmdSetPlayerOutfitCsReq),
            "CmdMarkAvatarScRsp" => Some(Self::CmdMarkAvatarScRsp),
            "CmdABDLFBHLNAA" => Some(Self::CmdAbdlfbhlnaa),
            "CmdUnlockSkillTreeCsReq" => Some(Self::CmdUnlockSkillTreeCsReq),
            "CmdTakeOffAvatarSkinCsReq" => Some(Self::CmdTakeOffAvatarSkinCsReq),
            "CmdFFNLGBKICHM" => Some(Self::CmdFfnlgbkichm),
            "CmdTakePromotionRewardScRsp" => Some(Self::CmdTakePromotionRewardScRsp),
            "CmdGetAvatarDataScRsp" => Some(Self::CmdGetAvatarDataScRsp),
            "CmdGetPreAvatarActivityListScRsp" => {
                Some(Self::CmdGetPreAvatarActivityListScRsp)
            }
            "CmdUnlockAvatarSkinScNotify" => Some(Self::CmdUnlockAvatarSkinScNotify),
            "CmdTakePromotionRewardCsReq" => Some(Self::CmdTakePromotionRewardCsReq),
            "CmdDressAvatarSkinCsReq" => Some(Self::CmdDressAvatarSkinCsReq),
            "CmdGetAvatarDataCsReq" => Some(Self::CmdGetAvatarDataCsReq),
            "CmdTakeOffRelicCsReq" => Some(Self::CmdTakeOffRelicCsReq),
            "CmdSetAvatarEnhancedIdScRsp" => Some(Self::CmdSetAvatarEnhancedIdScRsp),
            "CmdActiveEidolonCsReq" => Some(Self::CmdActiveEidolonCsReq),
            "CmdDressAvatarCsReq" => Some(Self::CmdDressAvatarCsReq),
            "CmdGetPreAvatarActivityListCsReq" => {
                Some(Self::CmdGetPreAvatarActivityListCsReq)
            }
            "CmdDressRelicAvatarCsReq" => Some(Self::CmdDressRelicAvatarCsReq),
            "CmdAddMultiPathAvatarScNotify" => Some(Self::CmdAddMultiPathAvatarScNotify),
            "CmdPromoteAvatarCsReq" => Some(Self::CmdPromoteAvatarCsReq),
            "CmdSetAvatarPathScRsp" => Some(Self::CmdSetAvatarPathScRsp),
            "CmdSetAvatarEnhancedIdCsReq" => Some(Self::CmdSetAvatarEnhancedIdCsReq),
            "CmdGrowthTargetAvatarChangedScNotify" => {
                Some(Self::CmdGrowthTargetAvatarChangedScNotify)
            }
            "CmdUnlockSkilltreeScRsp" => Some(Self::CmdUnlockSkilltreeScRsp),
            "CmdSetGrowthTargetAvatarScRsp" => Some(Self::CmdSetGrowthTargetAvatarScRsp),
            "CmdAvatarExpUpScRsp" => Some(Self::CmdAvatarExpUpScRsp),
            "CmdKLDFIFDMDFD" => Some(Self::CmdKldfifdmdfd),
            "CmdAvatarSpecialSkilltreeUnlockScNotify" => {
                Some(Self::CmdAvatarSpecialSkilltreeUnlockScNotify)
            }
            "CmdHLMPNEOGLIH" => Some(Self::CmdHlmpneoglih),
            "CmdGetPreAvatarGrowthInfoScRsp" => {
                Some(Self::CmdGetPreAvatarGrowthInfoScRsp)
            }
            "CmdNCAFDHFFKLP" => Some(Self::CmdNcafdhffklp),
            "CmdLCIGOJIINPM" => Some(Self::CmdLcigojiinpm),
            "CmdSetPlayerOutfitScRsp" => Some(Self::CmdSetPlayerOutfitScRsp),
            "CmdAvatarExpUpCsReq" => Some(Self::CmdAvatarExpUpCsReq),
            "CmdAddAvatarScNotify" => Some(Self::CmdAddAvatarScNotify),
            "CmdNLJIADOJBOI" => Some(Self::CmdNljiadojboi),
            "CmdDBHAOFPKNPK" => Some(Self::CmdDbhaofpknpk),
            "CmdSetMultipleAvatarPathsScRsp" => {
                Some(Self::CmdSetMultipleAvatarPathsScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: NFDEKCMFMDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GrowthTargetFuncType {
    NfdekcmfmdbLflajbnnjmd = 0,
}
impl GrowthTargetFuncType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NfdekcmfmdbLflajbnnjmd => "NFDEKCMFMDB_LFLAJBNNJMD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NFDEKCMFMDB_LFLAJBNNJMD" => Some(Self::NfdekcmfmdbLflajbnnjmd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijllglbjmjg {
    Gkjbaodjmjg = 0,
    Imbhlnlojno = 1,
    BattleRogueMagicInfo = 2,
    Cgnmlemcoog = 3,
}
impl Ijllglbjmjg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IJLLGLBJMJG_GKJBAODJMJG",
            Self::Imbhlnlojno => "IJLLGLBJMJG_IMBHLNLOJNO",
            Self::BattleRogueMagicInfo => "IJLLGLBJMJG_battle_rogue_magic_info",
            Self::Cgnmlemcoog => "IJLLGLBJMJG_CGNMLEMCOOG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IJLLGLBJMJG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IJLLGLBJMJG_IMBHLNLOJNO" => Some(Self::Imbhlnlojno),
            "IJLLGLBJMJG_battle_rogue_magic_info" => Some(Self::BattleRogueMagicInfo),
            "IJLLGLBJMJG_CGNMLEMCOOG" => Some(Self::Cgnmlemcoog),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Klgfaiehadm {
    Gkjbaodjmjg = 0,
    Nkdplfemlbk = 1,
    Gdebfodnmdl = 2,
}
impl Klgfaiehadm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "KLGFAIEHADM_GKJBAODJMJG",
            Self::Nkdplfemlbk => "KLGFAIEHADM_NKDPLFEMLBK",
            Self::Gdebfodnmdl => "KLGFAIEHADM_GDEBFODNMDL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KLGFAIEHADM_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "KLGFAIEHADM_NKDPLFEMLBK" => Some(Self::Nkdplfemlbk),
            "KLGFAIEHADM_GDEBFODNMDL" => Some(Self::Gdebfodnmdl),
            _ => None,
        }
    }
}
/// Obf: OAHDMJMLLDF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GrowthTargetState {
    OahdmjmlldfBmaekadbldm = 0,
    OahdmjmlldfJfcobcelmfo = 1,
    OahdmjmlldfGfpadpfgagd = 2,
    OahdmjmlldfKaloomlkdnd = 3,
    OahdmjmlldfDgfjbehplpj = 4,
    OahdmjmlldfLbeejhlnodf = 5,
}
impl GrowthTargetState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OahdmjmlldfBmaekadbldm => "OAHDMJMLLDF_BMAEKADBLDM",
            Self::OahdmjmlldfJfcobcelmfo => "OAHDMJMLLDF_JFCOBCELMFO",
            Self::OahdmjmlldfGfpadpfgagd => "OAHDMJMLLDF_GFPADPFGAGD",
            Self::OahdmjmlldfKaloomlkdnd => "OAHDMJMLLDF_KALOOMLKDND",
            Self::OahdmjmlldfDgfjbehplpj => "OAHDMJMLLDF_DGFJBEHPLPJ",
            Self::OahdmjmlldfLbeejhlnodf => "OAHDMJMLLDF_LBEEJHLNODF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OAHDMJMLLDF_BMAEKADBLDM" => Some(Self::OahdmjmlldfBmaekadbldm),
            "OAHDMJMLLDF_JFCOBCELMFO" => Some(Self::OahdmjmlldfJfcobcelmfo),
            "OAHDMJMLLDF_GFPADPFGAGD" => Some(Self::OahdmjmlldfGfpadpfgagd),
            "OAHDMJMLLDF_KALOOMLKDND" => Some(Self::OahdmjmlldfKaloomlkdnd),
            "OAHDMJMLLDF_DGFJBEHPLPJ" => Some(Self::OahdmjmlldfDgfjbehplpj),
            "OAHDMJMLLDF_LBEEJHLNODF" => Some(Self::OahdmjmlldfLbeejhlnodf),
            _ => None,
        }
    }
}
/// Obf: BPNGDECMIOG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleType {
    BpngdecmiogGkjbaodjmjg = 0,
    CmdGetCurBattleInfoScRsp = 162,
    CmdFpecejmfppj = 179,
    CmdSyncClientResVersionCsReq = 147,
    CmdPmlflagcohp = 175,
    CmdDjdhejbogmf = 169,
    CmdPveBattleResultCsReq = 157,
    CmdCejpfagnajk = 166,
    CmdSyncClientResVersionScRsp = 120,
    CmdIdkniidipfm = 126,
    CmdPgcfgaojgkc = 137,
    CmdGetCurBattleInfoCsReq = 138,
    CmdQuitBattleCsReq = 155,
    CmdPveBattleResultScRsp = 128,
    BpngdecmiogGabbpoiejmb = 105,
}
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 {
            Self::BpngdecmiogGkjbaodjmjg => "BPNGDECMIOG_GKJBAODJMJG",
            Self::CmdGetCurBattleInfoScRsp => "CmdGetCurBattleInfoScRsp",
            Self::CmdFpecejmfppj => "CmdFPECEJMFPPJ",
            Self::CmdSyncClientResVersionCsReq => "CmdSyncClientResVersionCsReq",
            Self::CmdPmlflagcohp => "CmdPMLFLAGCOHP",
            Self::CmdDjdhejbogmf => "CmdDJDHEJBOGMF",
            Self::CmdPveBattleResultCsReq => "CmdPVEBattleResultCsReq",
            Self::CmdCejpfagnajk => "CmdCEJPFAGNAJK",
            Self::CmdSyncClientResVersionScRsp => "CmdSyncClientResVersionScRsp",
            Self::CmdIdkniidipfm => "CmdIDKNIIDIPFM",
            Self::CmdPgcfgaojgkc => "CmdPGCFGAOJGKC",
            Self::CmdGetCurBattleInfoCsReq => "CmdGetCurBattleInfoCsReq",
            Self::CmdQuitBattleCsReq => "CmdQuitBattleCsReq",
            Self::CmdPveBattleResultScRsp => "CmdPVEBattleResultScRsp",
            Self::BpngdecmiogGabbpoiejmb => "BPNGDECMIOG_GABBPOIEJMB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BPNGDECMIOG_GKJBAODJMJG" => Some(Self::BpngdecmiogGkjbaodjmjg),
            "CmdGetCurBattleInfoScRsp" => Some(Self::CmdGetCurBattleInfoScRsp),
            "CmdFPECEJMFPPJ" => Some(Self::CmdFpecejmfppj),
            "CmdSyncClientResVersionCsReq" => Some(Self::CmdSyncClientResVersionCsReq),
            "CmdPMLFLAGCOHP" => Some(Self::CmdPmlflagcohp),
            "CmdDJDHEJBOGMF" => Some(Self::CmdDjdhejbogmf),
            "CmdPVEBattleResultCsReq" => Some(Self::CmdPveBattleResultCsReq),
            "CmdCEJPFAGNAJK" => Some(Self::CmdCejpfagnajk),
            "CmdSyncClientResVersionScRsp" => Some(Self::CmdSyncClientResVersionScRsp),
            "CmdIDKNIIDIPFM" => Some(Self::CmdIdkniidipfm),
            "CmdPGCFGAOJGKC" => Some(Self::CmdPgcfgaojgkc),
            "CmdGetCurBattleInfoCsReq" => Some(Self::CmdGetCurBattleInfoCsReq),
            "CmdQuitBattleCsReq" => Some(Self::CmdQuitBattleCsReq),
            "CmdPVEBattleResultScRsp" => Some(Self::CmdPveBattleResultScRsp),
            "BPNGDECMIOG_GABBPOIEJMB" => Some(Self::BpngdecmiogGabbpoiejmb),
            _ => None,
        }
    }
}
/// Obf: PMNBOBELMHO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleCollegeType {
    PmnbobelmhoGkjbaodjmjg = 0,
    CmdSyncBattleCollegeDataChangeScNotify = 5755,
    CmdGetBattleCollegeDataScRsp = 5728,
    CmdStartBattleCollegeCsReq = 5775,
    CmdGetBattleCollegeDataCsReq = 5757,
    CmdStartBattleCollegeScRsp = 5738,
}
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 {
            Self::PmnbobelmhoGkjbaodjmjg => "PMNBOBELMHO_GKJBAODJMJG",
            Self::CmdSyncBattleCollegeDataChangeScNotify => {
                "CmdSyncBattleCollegeDataChangeScNotify"
            }
            Self::CmdGetBattleCollegeDataScRsp => "CmdGetBattleCollegeDataScRsp",
            Self::CmdStartBattleCollegeCsReq => "CmdStartBattleCollegeCsReq",
            Self::CmdGetBattleCollegeDataCsReq => "CmdGetBattleCollegeDataCsReq",
            Self::CmdStartBattleCollegeScRsp => "CmdStartBattleCollegeScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PMNBOBELMHO_GKJBAODJMJG" => Some(Self::PmnbobelmhoGkjbaodjmjg),
            "CmdSyncBattleCollegeDataChangeScNotify" => {
                Some(Self::CmdSyncBattleCollegeDataChangeScNotify)
            }
            "CmdGetBattleCollegeDataScRsp" => Some(Self::CmdGetBattleCollegeDataScRsp),
            "CmdStartBattleCollegeCsReq" => Some(Self::CmdStartBattleCollegeCsReq),
            "CmdGetBattleCollegeDataCsReq" => Some(Self::CmdGetBattleCollegeDataCsReq),
            "CmdStartBattleCollegeScRsp" => Some(Self::CmdStartBattleCollegeScRsp),
            _ => None,
        }
    }
}
/// Obf: LJKOGCNPEIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattlePassType {
    LjkogcnpeijGkjbaodjmjg = 0,
    CmdBattlePassInfoNotify = 3057,
    CmdBuyBpLevelScRsp = 3047,
    CmdTakeAllRewardScRsp = 3026,
    CmdBuyBpLevelCsReq = 3062,
    CmdTakeBpRewardScRsp = 3038,
    CmdTakeBpRewardCsReq = 3075,
    CmdTakeAllRewardCsReq = 3020,
}
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 {
            Self::LjkogcnpeijGkjbaodjmjg => "LJKOGCNPEIJ_GKJBAODJMJG",
            Self::CmdBattlePassInfoNotify => "CmdBattlePassInfoNotify",
            Self::CmdBuyBpLevelScRsp => "CmdBuyBpLevelScRsp",
            Self::CmdTakeAllRewardScRsp => "CmdTakeAllRewardScRsp",
            Self::CmdBuyBpLevelCsReq => "CmdBuyBpLevelCsReq",
            Self::CmdTakeBpRewardScRsp => "CmdTakeBpRewardScRsp",
            Self::CmdTakeBpRewardCsReq => "CmdTakeBpRewardCsReq",
            Self::CmdTakeAllRewardCsReq => "CmdTakeAllRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LJKOGCNPEIJ_GKJBAODJMJG" => Some(Self::LjkogcnpeijGkjbaodjmjg),
            "CmdBattlePassInfoNotify" => Some(Self::CmdBattlePassInfoNotify),
            "CmdBuyBpLevelScRsp" => Some(Self::CmdBuyBpLevelScRsp),
            "CmdTakeAllRewardScRsp" => Some(Self::CmdTakeAllRewardScRsp),
            "CmdBuyBpLevelCsReq" => Some(Self::CmdBuyBpLevelCsReq),
            "CmdTakeBpRewardScRsp" => Some(Self::CmdTakeBpRewardScRsp),
            "CmdTakeBpRewardCsReq" => Some(Self::CmdTakeBpRewardCsReq),
            "CmdTakeAllRewardCsReq" => Some(Self::CmdTakeAllRewardCsReq),
            _ => None,
        }
    }
}
/// Obf: BOJFKBEICOC
#[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 {
            Self::None => "BP_TIER_TYPE_NONE",
            Self::Free => "BP_TIER_TYPE_FREE",
            Self::Premium1 => "BP_TIER_TYPE_PREMIUM_1",
            Self::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,
        }
    }
}
/// Obf: MHCJLOFBAGA
#[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 {
            Self::BpRewaradTypeNone => "BP_REWARAD_TYPE_NONE",
            Self::BpRewaradTypeFree => "BP_REWARAD_TYPE_FREE",
            Self::BpRewaradTypePremium1 => "BP_REWARAD_TYPE_PREMIUM_1",
            Self::BpRewaradTypePremium2 => "BP_REWARAD_TYPE_PREMIUM_2",
            Self::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: MNNENABOEGI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBenefitActivityType {
    MnnenaboegiGkjbaodjmjg = 0,
    CmdJoinBenefitActivityCsReq = 4889,
    CmdGetBenefitActivityInfoCsReq = 4900,
    CmdBobfjeijihj = 4883,
    CmdTakeBenefitActivityRewardCsReq = 4874,
    CmdTakeBenefitActivityRewardScRsp = 4857,
    CmdGetBenefitActivityInfo = 4899,
}
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 {
            Self::MnnenaboegiGkjbaodjmjg => "MNNENABOEGI_GKJBAODJMJG",
            Self::CmdJoinBenefitActivityCsReq => "CmdJoinBenefitActivityCsReq",
            Self::CmdGetBenefitActivityInfoCsReq => "CmdGetBenefitActivityInfoCsReq",
            Self::CmdBobfjeijihj => "CmdBOBFJEIJIHJ",
            Self::CmdTakeBenefitActivityRewardCsReq => {
                "CmdTakeBenefitActivityRewardCsReq"
            }
            Self::CmdTakeBenefitActivityRewardScRsp => {
                "CmdTakeBenefitActivityRewardScRsp"
            }
            Self::CmdGetBenefitActivityInfo => "CmdGetBenefitActivityInfo",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MNNENABOEGI_GKJBAODJMJG" => Some(Self::MnnenaboegiGkjbaodjmjg),
            "CmdJoinBenefitActivityCsReq" => Some(Self::CmdJoinBenefitActivityCsReq),
            "CmdGetBenefitActivityInfoCsReq" => {
                Some(Self::CmdGetBenefitActivityInfoCsReq)
            }
            "CmdBOBFJEIJIHJ" => Some(Self::CmdBobfjeijihj),
            "CmdTakeBenefitActivityRewardCsReq" => {
                Some(Self::CmdTakeBenefitActivityRewardCsReq)
            }
            "CmdTakeBenefitActivityRewardScRsp" => {
                Some(Self::CmdTakeBenefitActivityRewardScRsp)
            }
            "CmdGetBenefitActivityInfo" => Some(Self::CmdGetBenefitActivityInfo),
            _ => None,
        }
    }
}
/// Obf: PJHLEBCJJBB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBoxingClubType {
    PjhlebcjjbbGkjbaodjmjg = 0,
    CmdGiveUpBoxingClubChallengeScRsp = 4220,
    CmdBoxingClubChallengeUpdateScNotify = 4205,
    CmdMatchBoxingClubOpponentCsReq = 4255,
    CmdChooseBoxingClubStageOptionalBuffScRsp = 4283,
    CmdSetBoxingClubResonanceLineupCsReq = 4266,
    CmdChooseBoxingClubResonanceCsReq = 4237,
    CmdMatchBoxingClubOpponentScRsp = 4275,
    CmdBoxingClubRewardScNotify = 4226,
    CmdStartBoxingClubBattleScRsp = 4262,
    CmdGetBoxingClubInfoScRsp = 4228,
    CmdSetBoxingClubResonanceScRsp = 4279,
    CmdGetBoxingClubInfoCsReq = 4257,
    CmdChooseBoxingClubStageOptionalBuffCsReq = 4245,
    CmdStartBoxingClubBattleCsReq = 4238,
    CmdChooseBoxingClubResonanceScRsp = 4269,
    CmdGiveUpBoxingClubChallengeCsReq = 4247,
}
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 {
            Self::PjhlebcjjbbGkjbaodjmjg => "PJHLEBCJJBB_GKJBAODJMJG",
            Self::CmdGiveUpBoxingClubChallengeScRsp => {
                "CmdGiveUpBoxingClubChallengeScRsp"
            }
            Self::CmdBoxingClubChallengeUpdateScNotify => {
                "CmdBoxingClubChallengeUpdateScNotify"
            }
            Self::CmdMatchBoxingClubOpponentCsReq => "CmdMatchBoxingClubOpponentCsReq",
            Self::CmdChooseBoxingClubStageOptionalBuffScRsp => {
                "CmdChooseBoxingClubStageOptionalBuffScRsp"
            }
            Self::CmdSetBoxingClubResonanceLineupCsReq => {
                "CmdSetBoxingClubResonanceLineupCsReq"
            }
            Self::CmdChooseBoxingClubResonanceCsReq => {
                "CmdChooseBoxingClubResonanceCsReq"
            }
            Self::CmdMatchBoxingClubOpponentScRsp => "CmdMatchBoxingClubOpponentScRsp",
            Self::CmdBoxingClubRewardScNotify => "CmdBoxingClubRewardScNotify",
            Self::CmdStartBoxingClubBattleScRsp => "CmdStartBoxingClubBattleScRsp",
            Self::CmdGetBoxingClubInfoScRsp => "CmdGetBoxingClubInfoScRsp",
            Self::CmdSetBoxingClubResonanceScRsp => "CmdSetBoxingClubResonanceScRsp",
            Self::CmdGetBoxingClubInfoCsReq => "CmdGetBoxingClubInfoCsReq",
            Self::CmdChooseBoxingClubStageOptionalBuffCsReq => {
                "CmdChooseBoxingClubStageOptionalBuffCsReq"
            }
            Self::CmdStartBoxingClubBattleCsReq => "CmdStartBoxingClubBattleCsReq",
            Self::CmdChooseBoxingClubResonanceScRsp => {
                "CmdChooseBoxingClubResonanceScRsp"
            }
            Self::CmdGiveUpBoxingClubChallengeCsReq => {
                "CmdGiveUpBoxingClubChallengeCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PJHLEBCJJBB_GKJBAODJMJG" => Some(Self::PjhlebcjjbbGkjbaodjmjg),
            "CmdGiveUpBoxingClubChallengeScRsp" => {
                Some(Self::CmdGiveUpBoxingClubChallengeScRsp)
            }
            "CmdBoxingClubChallengeUpdateScNotify" => {
                Some(Self::CmdBoxingClubChallengeUpdateScNotify)
            }
            "CmdMatchBoxingClubOpponentCsReq" => {
                Some(Self::CmdMatchBoxingClubOpponentCsReq)
            }
            "CmdChooseBoxingClubStageOptionalBuffScRsp" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffScRsp)
            }
            "CmdSetBoxingClubResonanceLineupCsReq" => {
                Some(Self::CmdSetBoxingClubResonanceLineupCsReq)
            }
            "CmdChooseBoxingClubResonanceCsReq" => {
                Some(Self::CmdChooseBoxingClubResonanceCsReq)
            }
            "CmdMatchBoxingClubOpponentScRsp" => {
                Some(Self::CmdMatchBoxingClubOpponentScRsp)
            }
            "CmdBoxingClubRewardScNotify" => Some(Self::CmdBoxingClubRewardScNotify),
            "CmdStartBoxingClubBattleScRsp" => Some(Self::CmdStartBoxingClubBattleScRsp),
            "CmdGetBoxingClubInfoScRsp" => Some(Self::CmdGetBoxingClubInfoScRsp),
            "CmdSetBoxingClubResonanceScRsp" => {
                Some(Self::CmdSetBoxingClubResonanceScRsp)
            }
            "CmdGetBoxingClubInfoCsReq" => Some(Self::CmdGetBoxingClubInfoCsReq),
            "CmdChooseBoxingClubStageOptionalBuffCsReq" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffCsReq)
            }
            "CmdStartBoxingClubBattleCsReq" => Some(Self::CmdStartBoxingClubBattleCsReq),
            "CmdChooseBoxingClubResonanceScRsp" => {
                Some(Self::CmdChooseBoxingClubResonanceScRsp)
            }
            "CmdGiveUpBoxingClubChallengeCsReq" => {
                Some(Self::CmdGiveUpBoxingClubChallengeCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: LPBGMAACCEK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdCakeRaceType {
    LpbgmaaccekGkjbaodjmjg = 0,
    CmdCakeRaceLikeFriendRankingInfoScRsp = 9129,
    CmdCakeRaceGetHandbookScRsp = 9147,
    CmdCakeRaceGetHandbookCsReq = 9149,
    CmdCakeRaceGetDataScRsp = 9140,
    CmdCakeRaceGetDailyLikeCsReq = 9136,
    CmdCakeRaceLoanScRsp = 9123,
    CmdCakeRaceStartPveCsReq = 9121,
    CmdCakeRaceStartPveScRsp = 9144,
    CmdCakeRaceGetFriendRankingInfoListScRsp = 9148,
    CmdCakeRaceLikeFriendRankingInfoCsReq = 9133,
    CmdCakeRaceFinishPveCsReq = 9131,
    LpbgmaaccekFpdjcgmbcdc = 9126,
    CmdCakeRaceUpdatePveScRsp = 9138,
    CmdCakeRaceLoanCsReq = 9132,
    CmdCakeRaceGetFriendRankingInfoListCsReq = 9143,
    CmdCakeRaceUpdatePveMeetCatCsReq = 9146,
    CmdCakeRaceCoinScoreChangeScNotify = 9124,
    CmdCakeRaceGetDailyLikeScRsp = 9137,
    CmdCakeRaceFinishFieldRewardScNotify = 9135,
    CmdDckoajbhgdj = 9127,
    CmdLdnppclfmfi = 9150,
    CmdCakeRaceGetDataCsReq = 9139,
}
impl CmdCakeRaceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LpbgmaaccekGkjbaodjmjg => "LPBGMAACCEK_GKJBAODJMJG",
            Self::CmdCakeRaceLikeFriendRankingInfoScRsp => {
                "CmdCakeRaceLikeFriendRankingInfoScRsp"
            }
            Self::CmdCakeRaceGetHandbookScRsp => "CmdCakeRaceGetHandbookScRsp",
            Self::CmdCakeRaceGetHandbookCsReq => "CmdCakeRaceGetHandbookCsReq",
            Self::CmdCakeRaceGetDataScRsp => "CmdCakeRaceGetDataScRsp",
            Self::CmdCakeRaceGetDailyLikeCsReq => "CmdCakeRaceGetDailyLikeCsReq",
            Self::CmdCakeRaceLoanScRsp => "CmdCakeRaceLoanScRsp",
            Self::CmdCakeRaceStartPveCsReq => "CmdCakeRaceStartPveCsReq",
            Self::CmdCakeRaceStartPveScRsp => "CmdCakeRaceStartPveScRsp",
            Self::CmdCakeRaceGetFriendRankingInfoListScRsp => {
                "CmdCakeRaceGetFriendRankingInfoListScRsp"
            }
            Self::CmdCakeRaceLikeFriendRankingInfoCsReq => {
                "CmdCakeRaceLikeFriendRankingInfoCsReq"
            }
            Self::CmdCakeRaceFinishPveCsReq => "CmdCakeRaceFinishPveCsReq",
            Self::LpbgmaaccekFpdjcgmbcdc => "LPBGMAACCEK_FPDJCGMBCDC",
            Self::CmdCakeRaceUpdatePveScRsp => "CmdCakeRaceUpdatePveScRsp",
            Self::CmdCakeRaceLoanCsReq => "CmdCakeRaceLoanCsReq",
            Self::CmdCakeRaceGetFriendRankingInfoListCsReq => {
                "CmdCakeRaceGetFriendRankingInfoListCsReq"
            }
            Self::CmdCakeRaceUpdatePveMeetCatCsReq => "CmdCakeRaceUpdatePveMeetCatCsReq",
            Self::CmdCakeRaceCoinScoreChangeScNotify => {
                "CmdCakeRaceCoinScoreChangeScNotify"
            }
            Self::CmdCakeRaceGetDailyLikeScRsp => "CmdCakeRaceGetDailyLikeScRsp",
            Self::CmdCakeRaceFinishFieldRewardScNotify => {
                "CmdCakeRaceFinishFieldRewardScNotify"
            }
            Self::CmdDckoajbhgdj => "CmdDCKOAJBHGDJ",
            Self::CmdLdnppclfmfi => "CmdLDNPPCLFMFI",
            Self::CmdCakeRaceGetDataCsReq => "CmdCakeRaceGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LPBGMAACCEK_GKJBAODJMJG" => Some(Self::LpbgmaaccekGkjbaodjmjg),
            "CmdCakeRaceLikeFriendRankingInfoScRsp" => {
                Some(Self::CmdCakeRaceLikeFriendRankingInfoScRsp)
            }
            "CmdCakeRaceGetHandbookScRsp" => Some(Self::CmdCakeRaceGetHandbookScRsp),
            "CmdCakeRaceGetHandbookCsReq" => Some(Self::CmdCakeRaceGetHandbookCsReq),
            "CmdCakeRaceGetDataScRsp" => Some(Self::CmdCakeRaceGetDataScRsp),
            "CmdCakeRaceGetDailyLikeCsReq" => Some(Self::CmdCakeRaceGetDailyLikeCsReq),
            "CmdCakeRaceLoanScRsp" => Some(Self::CmdCakeRaceLoanScRsp),
            "CmdCakeRaceStartPveCsReq" => Some(Self::CmdCakeRaceStartPveCsReq),
            "CmdCakeRaceStartPveScRsp" => Some(Self::CmdCakeRaceStartPveScRsp),
            "CmdCakeRaceGetFriendRankingInfoListScRsp" => {
                Some(Self::CmdCakeRaceGetFriendRankingInfoListScRsp)
            }
            "CmdCakeRaceLikeFriendRankingInfoCsReq" => {
                Some(Self::CmdCakeRaceLikeFriendRankingInfoCsReq)
            }
            "CmdCakeRaceFinishPveCsReq" => Some(Self::CmdCakeRaceFinishPveCsReq),
            "LPBGMAACCEK_FPDJCGMBCDC" => Some(Self::LpbgmaaccekFpdjcgmbcdc),
            "CmdCakeRaceUpdatePveScRsp" => Some(Self::CmdCakeRaceUpdatePveScRsp),
            "CmdCakeRaceLoanCsReq" => Some(Self::CmdCakeRaceLoanCsReq),
            "CmdCakeRaceGetFriendRankingInfoListCsReq" => {
                Some(Self::CmdCakeRaceGetFriendRankingInfoListCsReq)
            }
            "CmdCakeRaceUpdatePveMeetCatCsReq" => {
                Some(Self::CmdCakeRaceUpdatePveMeetCatCsReq)
            }
            "CmdCakeRaceCoinScoreChangeScNotify" => {
                Some(Self::CmdCakeRaceCoinScoreChangeScNotify)
            }
            "CmdCakeRaceGetDailyLikeScRsp" => Some(Self::CmdCakeRaceGetDailyLikeScRsp),
            "CmdCakeRaceFinishFieldRewardScNotify" => {
                Some(Self::CmdCakeRaceFinishFieldRewardScNotify)
            }
            "CmdDCKOAJBHGDJ" => Some(Self::CmdDckoajbhgdj),
            "CmdLDNPPCLFMFI" => Some(Self::CmdLdnppclfmfi),
            "CmdCakeRaceGetDataCsReq" => Some(Self::CmdCakeRaceGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: JOMGKDNIFMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeType {
    JomgkdnifmmGkjbaodjmjg = 0,
    CmdEnterChallengeNextPhaseCsReq = 1777,
    CmdLeaveChallengeScRsp = 1762,
    CmdChallengeBossPhaseSettleNotify = 1712,
    CmdGetCurChallengeCsReq = 1705,
    CmdTakeChallengeRewardScRsp = 1783,
    CmdEnterChallengeNextPhaseScRsp = 1714,
    CmdGetChallengeGroupStatisticsScRsp = 1734,
    CmdRestartChallengePhaseScRsp = 1780,
    CmdChallengeLineupNotify = 1769,
    CmdStartPartialChallengeScRsp = 1789,
    CmdGetCurChallengeScRsp = 1737,
    CmdChallengeSettleNotify = 1747,
    CmdStartChallengeScRsp = 1775,
    CmdLeaveChallengeCsReq = 1738,
    CmdGetChallengeScRsp = 1728,
    CmdRestartChallengePhaseCsReq = 1796,
    CmdGetChallengeGroupStatisticsCsReq = 1795,
    CmdTakeChallengeCumulativeRewardCsReq = 1745,
    CmdPartialChallengeCsReq = 1793,
    CmdGetChallengeCsReq = 1757,
    CmdStartChallengeCsReq = 1755,
}
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 {
            Self::JomgkdnifmmGkjbaodjmjg => "JOMGKDNIFMM_GKJBAODJMJG",
            Self::CmdEnterChallengeNextPhaseCsReq => "CmdEnterChallengeNextPhaseCsReq",
            Self::CmdLeaveChallengeScRsp => "CmdLeaveChallengeScRsp",
            Self::CmdChallengeBossPhaseSettleNotify => {
                "CmdChallengeBossPhaseSettleNotify"
            }
            Self::CmdGetCurChallengeCsReq => "CmdGetCurChallengeCsReq",
            Self::CmdTakeChallengeRewardScRsp => "CmdTakeChallengeRewardScRsp",
            Self::CmdEnterChallengeNextPhaseScRsp => "CmdEnterChallengeNextPhaseScRsp",
            Self::CmdGetChallengeGroupStatisticsScRsp => {
                "CmdGetChallengeGroupStatisticsScRsp"
            }
            Self::CmdRestartChallengePhaseScRsp => "CmdRestartChallengePhaseScRsp",
            Self::CmdChallengeLineupNotify => "CmdChallengeLineupNotify",
            Self::CmdStartPartialChallengeScRsp => "CmdStartPartialChallengeScRsp",
            Self::CmdGetCurChallengeScRsp => "CmdGetCurChallengeScRsp",
            Self::CmdChallengeSettleNotify => "CmdChallengeSettleNotify",
            Self::CmdStartChallengeScRsp => "CmdStartChallengeScRsp",
            Self::CmdLeaveChallengeCsReq => "CmdLeaveChallengeCsReq",
            Self::CmdGetChallengeScRsp => "CmdGetChallengeScRsp",
            Self::CmdRestartChallengePhaseCsReq => "CmdRestartChallengePhaseCsReq",
            Self::CmdGetChallengeGroupStatisticsCsReq => {
                "CmdGetChallengeGroupStatisticsCsReq"
            }
            Self::CmdTakeChallengeCumulativeRewardCsReq => {
                "CmdTakeChallengeCumulativeRewardCsReq"
            }
            Self::CmdPartialChallengeCsReq => "CmdPartialChallengeCsReq",
            Self::CmdGetChallengeCsReq => "CmdGetChallengeCsReq",
            Self::CmdStartChallengeCsReq => "CmdStartChallengeCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JOMGKDNIFMM_GKJBAODJMJG" => Some(Self::JomgkdnifmmGkjbaodjmjg),
            "CmdEnterChallengeNextPhaseCsReq" => {
                Some(Self::CmdEnterChallengeNextPhaseCsReq)
            }
            "CmdLeaveChallengeScRsp" => Some(Self::CmdLeaveChallengeScRsp),
            "CmdChallengeBossPhaseSettleNotify" => {
                Some(Self::CmdChallengeBossPhaseSettleNotify)
            }
            "CmdGetCurChallengeCsReq" => Some(Self::CmdGetCurChallengeCsReq),
            "CmdTakeChallengeRewardScRsp" => Some(Self::CmdTakeChallengeRewardScRsp),
            "CmdEnterChallengeNextPhaseScRsp" => {
                Some(Self::CmdEnterChallengeNextPhaseScRsp)
            }
            "CmdGetChallengeGroupStatisticsScRsp" => {
                Some(Self::CmdGetChallengeGroupStatisticsScRsp)
            }
            "CmdRestartChallengePhaseScRsp" => Some(Self::CmdRestartChallengePhaseScRsp),
            "CmdChallengeLineupNotify" => Some(Self::CmdChallengeLineupNotify),
            "CmdStartPartialChallengeScRsp" => Some(Self::CmdStartPartialChallengeScRsp),
            "CmdGetCurChallengeScRsp" => Some(Self::CmdGetCurChallengeScRsp),
            "CmdChallengeSettleNotify" => Some(Self::CmdChallengeSettleNotify),
            "CmdStartChallengeScRsp" => Some(Self::CmdStartChallengeScRsp),
            "CmdLeaveChallengeCsReq" => Some(Self::CmdLeaveChallengeCsReq),
            "CmdGetChallengeScRsp" => Some(Self::CmdGetChallengeScRsp),
            "CmdRestartChallengePhaseCsReq" => Some(Self::CmdRestartChallengePhaseCsReq),
            "CmdGetChallengeGroupStatisticsCsReq" => {
                Some(Self::CmdGetChallengeGroupStatisticsCsReq)
            }
            "CmdTakeChallengeCumulativeRewardCsReq" => {
                Some(Self::CmdTakeChallengeCumulativeRewardCsReq)
            }
            "CmdPartialChallengeCsReq" => Some(Self::CmdPartialChallengeCsReq),
            "CmdGetChallengeCsReq" => Some(Self::CmdGetChallengeCsReq),
            "CmdStartChallengeCsReq" => Some(Self::CmdStartChallengeCsReq),
            _ => None,
        }
    }
}
/// Obf: BDCPNDKFPLM
#[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 {
            Self::ChallengeUnknown => "CHALLENGE_UNKNOWN",
            Self::ChallengeDoing => "CHALLENGE_DOING",
            Self::ChallengeFinish => "CHALLENGE_FINISH",
            Self::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: FDJMJJDDIBK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengePeakType {
    FdjmjjddibkGkjbaodjmjg = 0,
    CmdAghbmkgjcld = 8919,
    CmdMpnckobhofn = 8922,
    CmdGetChallengePeakDataCsReq = 8950,
    CmdChallengePeakSettleScNotify = 8947,
    CmdGetCurChallengePeakCsReq = 8943,
    CmdLbkiacgfplf = 8933,
    CmdMepankppejl = 8924,
    CmdTakeChallengePeakRewardScRsp = 8906,
    CmdKmhaciofoag = 8928,
    CmdJhinlojabpi = 8911,
    CmdSetChallengePeakBossHardModeCsReq = 8931,
    CmdChallengePeakGroupDataUpdateScNotify = 8935,
    CmdNaoeoiehgaj = 8938,
    CmdInhhlijfnpb = 8907,
    CmdGetChallengePeakDataScRsp = 8949,
    CmdKjcjmkpbngn = 8939,
    CmdOmbdpcpkdfl = 8937,
    CmdGetCurChallengePeakScRsp = 8903,
    CmdTakeChallengePeakRewardCsReq = 8908,
    CmdSetChallengePeakBossHardModeScRsp = 8929,
}
impl CmdChallengePeakType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FdjmjjddibkGkjbaodjmjg => "FDJMJJDDIBK_GKJBAODJMJG",
            Self::CmdAghbmkgjcld => "CmdAGHBMKGJCLD",
            Self::CmdMpnckobhofn => "CmdMPNCKOBHOFN",
            Self::CmdGetChallengePeakDataCsReq => "CmdGetChallengePeakDataCsReq",
            Self::CmdChallengePeakSettleScNotify => "CmdChallengePeakSettleScNotify",
            Self::CmdGetCurChallengePeakCsReq => "CmdGetCurChallengePeakCsReq",
            Self::CmdLbkiacgfplf => "CmdLBKIACGFPLF",
            Self::CmdMepankppejl => "CmdMEPANKPPEJL",
            Self::CmdTakeChallengePeakRewardScRsp => "CmdTakeChallengePeakRewardScRsp",
            Self::CmdKmhaciofoag => "CmdKMHACIOFOAG",
            Self::CmdJhinlojabpi => "CmdJHINLOJABPI",
            Self::CmdSetChallengePeakBossHardModeCsReq => {
                "CmdSetChallengePeakBossHardModeCsReq"
            }
            Self::CmdChallengePeakGroupDataUpdateScNotify => {
                "CmdChallengePeakGroupDataUpdateScNotify"
            }
            Self::CmdNaoeoiehgaj => "CmdNAOEOIEHGAJ",
            Self::CmdInhhlijfnpb => "CmdINHHLIJFNPB",
            Self::CmdGetChallengePeakDataScRsp => "CmdGetChallengePeakDataScRsp",
            Self::CmdKjcjmkpbngn => "CmdKJCJMKPBNGN",
            Self::CmdOmbdpcpkdfl => "CmdOMBDPCPKDFL",
            Self::CmdGetCurChallengePeakScRsp => "CmdGetCurChallengePeakScRsp",
            Self::CmdTakeChallengePeakRewardCsReq => "CmdTakeChallengePeakRewardCsReq",
            Self::CmdSetChallengePeakBossHardModeScRsp => {
                "CmdSetChallengePeakBossHardModeScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDJMJJDDIBK_GKJBAODJMJG" => Some(Self::FdjmjjddibkGkjbaodjmjg),
            "CmdAGHBMKGJCLD" => Some(Self::CmdAghbmkgjcld),
            "CmdMPNCKOBHOFN" => Some(Self::CmdMpnckobhofn),
            "CmdGetChallengePeakDataCsReq" => Some(Self::CmdGetChallengePeakDataCsReq),
            "CmdChallengePeakSettleScNotify" => {
                Some(Self::CmdChallengePeakSettleScNotify)
            }
            "CmdGetCurChallengePeakCsReq" => Some(Self::CmdGetCurChallengePeakCsReq),
            "CmdLBKIACGFPLF" => Some(Self::CmdLbkiacgfplf),
            "CmdMEPANKPPEJL" => Some(Self::CmdMepankppejl),
            "CmdTakeChallengePeakRewardScRsp" => {
                Some(Self::CmdTakeChallengePeakRewardScRsp)
            }
            "CmdKMHACIOFOAG" => Some(Self::CmdKmhaciofoag),
            "CmdJHINLOJABPI" => Some(Self::CmdJhinlojabpi),
            "CmdSetChallengePeakBossHardModeCsReq" => {
                Some(Self::CmdSetChallengePeakBossHardModeCsReq)
            }
            "CmdChallengePeakGroupDataUpdateScNotify" => {
                Some(Self::CmdChallengePeakGroupDataUpdateScNotify)
            }
            "CmdNAOEOIEHGAJ" => Some(Self::CmdNaoeoiehgaj),
            "CmdINHHLIJFNPB" => Some(Self::CmdInhhlijfnpb),
            "CmdGetChallengePeakDataScRsp" => Some(Self::CmdGetChallengePeakDataScRsp),
            "CmdKJCJMKPBNGN" => Some(Self::CmdKjcjmkpbngn),
            "CmdOMBDPCPKDFL" => Some(Self::CmdOmbdpcpkdfl),
            "CmdGetCurChallengePeakScRsp" => Some(Self::CmdGetCurChallengePeakScRsp),
            "CmdTakeChallengePeakRewardCsReq" => {
                Some(Self::CmdTakeChallengePeakRewardCsReq)
            }
            "CmdSetChallengePeakBossHardModeScRsp" => {
                Some(Self::CmdSetChallengePeakBossHardModeScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: OAJNFNCNPKI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChatType {
    OajnfncnpkiGkjbaodjmjg = 0,
    CmdMarkChatEmojiCsReq = 3937,
    CmdGetLoginChatInfoCsReq = 3945,
    CmdSendMsgCsReq = 3957,
    CmdSendMsgScRsp = 3928,
    CmdNaejjfhagdk = 3975,
    CmdBatchMarkChatEmojiScRsp = 3979,
    CmdGetChatEmojiListCsReq = 3926,
    CmdGetPrivateChatHistoryScRsp = 3962,
    CmdGetChatFriendHistoryScRsp = 3920,
    CmdGetChatFriendHistoryCsReq = 3947,
    CmdGetLoginChatInfoScRsp = 3983,
    CmdGetChatEmojiListScRsp = 3905,
    CmdMarkChatEmojiScRsp = 3969,
    CmdRevcMsgScNotify = 3955,
    CmdBatchMarkChatEmojiCsReq = 3966,
    CmdGetPrivateChatHistoryCsReq = 3938,
}
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 {
            Self::OajnfncnpkiGkjbaodjmjg => "OAJNFNCNPKI_GKJBAODJMJG",
            Self::CmdMarkChatEmojiCsReq => "CmdMarkChatEmojiCsReq",
            Self::CmdGetLoginChatInfoCsReq => "CmdGetLoginChatInfoCsReq",
            Self::CmdSendMsgCsReq => "CmdSendMsgCsReq",
            Self::CmdSendMsgScRsp => "CmdSendMsgScRsp",
            Self::CmdNaejjfhagdk => "CmdNAEJJFHAGDK",
            Self::CmdBatchMarkChatEmojiScRsp => "CmdBatchMarkChatEmojiScRsp",
            Self::CmdGetChatEmojiListCsReq => "CmdGetChatEmojiListCsReq",
            Self::CmdGetPrivateChatHistoryScRsp => "CmdGetPrivateChatHistoryScRsp",
            Self::CmdGetChatFriendHistoryScRsp => "CmdGetChatFriendHistoryScRsp",
            Self::CmdGetChatFriendHistoryCsReq => "CmdGetChatFriendHistoryCsReq",
            Self::CmdGetLoginChatInfoScRsp => "CmdGetLoginChatInfoScRsp",
            Self::CmdGetChatEmojiListScRsp => "CmdGetChatEmojiListScRsp",
            Self::CmdMarkChatEmojiScRsp => "CmdMarkChatEmojiScRsp",
            Self::CmdRevcMsgScNotify => "CmdRevcMsgScNotify",
            Self::CmdBatchMarkChatEmojiCsReq => "CmdBatchMarkChatEmojiCsReq",
            Self::CmdGetPrivateChatHistoryCsReq => "CmdGetPrivateChatHistoryCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OAJNFNCNPKI_GKJBAODJMJG" => Some(Self::OajnfncnpkiGkjbaodjmjg),
            "CmdMarkChatEmojiCsReq" => Some(Self::CmdMarkChatEmojiCsReq),
            "CmdGetLoginChatInfoCsReq" => Some(Self::CmdGetLoginChatInfoCsReq),
            "CmdSendMsgCsReq" => Some(Self::CmdSendMsgCsReq),
            "CmdSendMsgScRsp" => Some(Self::CmdSendMsgScRsp),
            "CmdNAEJJFHAGDK" => Some(Self::CmdNaejjfhagdk),
            "CmdBatchMarkChatEmojiScRsp" => Some(Self::CmdBatchMarkChatEmojiScRsp),
            "CmdGetChatEmojiListCsReq" => Some(Self::CmdGetChatEmojiListCsReq),
            "CmdGetPrivateChatHistoryScRsp" => Some(Self::CmdGetPrivateChatHistoryScRsp),
            "CmdGetChatFriendHistoryScRsp" => Some(Self::CmdGetChatFriendHistoryScRsp),
            "CmdGetChatFriendHistoryCsReq" => Some(Self::CmdGetChatFriendHistoryCsReq),
            "CmdGetLoginChatInfoScRsp" => Some(Self::CmdGetLoginChatInfoScRsp),
            "CmdGetChatEmojiListScRsp" => Some(Self::CmdGetChatEmojiListScRsp),
            "CmdMarkChatEmojiScRsp" => Some(Self::CmdMarkChatEmojiScRsp),
            "CmdRevcMsgScNotify" => Some(Self::CmdRevcMsgScNotify),
            "CmdBatchMarkChatEmojiCsReq" => Some(Self::CmdBatchMarkChatEmojiCsReq),
            "CmdGetPrivateChatHistoryCsReq" => Some(Self::CmdGetPrivateChatHistoryCsReq),
            _ => None,
        }
    }
}
/// Obf: CPNMDALEPIH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChessRogueType {
    CpnmdalepihGkjbaodjmjg = 0,
    CmdGetChessRogueStoryAeonTalkInfoCsReq = 5432,
    CmdChessRogueUpdateAllowedSelectCellScNotify = 5442,
    CmdChessRogueUpdateMoneyInfoScNotify = 5425,
    CmdEnhanceChessRogueBuffCsReq = 5486,
    CmdOfjhpmpcllh = 5443,
    CmdChessRogueNousDiceUpdateNotify = 5520,
    CmdChessRogueLayerSettlement = 5594,
    CmdFinishChessRogueSubStoryCsReq = 5537,
    CmdChessRogueCellUpdateNotify = 5485,
    CmdChessRogueEnterCsReq = 5588,
    CmdChessRogueReRollDiceCsReq = 5579,
    CmdChessRogueQueryScRsp = 5596,
    CmdChessRogueEnterNextLayerScRsp = 5549,
    CmdSyncChessRogueNousMainStoryScNotify = 5412,
    CmdGetChessRogueBuffEnhanceInfoCsReq = 5555,
    CmdChessRogueGiveUpCsReq = 5477,
    CmdChessRogueConfirmRollScRsp = 5439,
    CmdChessRogueUpdateAeonModifierValueScNotify = 5539,
    CmdGetChessRogueStoryInfoCsReq = 5573,
    CpnmdalepihFnkpochhoio = 5544,
    CmdChessRogueStartScRsp = 5578,
    CmdChessRogueUpdateActionPointScNotify = 5500,
    CmdChessRogueLeaveScRsp = 5509,
    CmdChessRogueSkipTeachingLevelScRsp = 5590,
    CmdChessRogueEnterCellCsReq = 5493,
    CmdChessRogueGiveUpScRsp = 5424,
    CmdGetChessRogueStoryAeonTalkInfoScRsp = 5416,
    CmdChessRogueSkipTeachingLevelCsReq = 5465,
    CmdResetRogueDiceSurfaceCsReq = 5580,
    CmdChessRogueSelectCellScRsp = 5523,
    CmdGetChessRogueNousStoryInfoCsReq = 5563,
    CmdChessRogueNousEnableRogueTalentScRsp = 5448,
    CmdGetChessRogueStoryInfoScRsp = 5499,
    CmdEnhanceChessRogueBuffScRsp = 5533,
    CmdChessRogueNousDiceSurfaceUnlockNotify = 5569,
    CmdChessRogueUpdateDiceInfoScNotify = 5577,
    CmdSyncChessRogueNousValueScNotify = 5496,
    CmdEnterChessRogueAeonRoomScRsp = 5429,
    CmdHjnigphnaah = 5456,
    CmdChessRogueQuestFinishNotify = 5430,
    CmdChessRogueNousGetRogueTalentInfoCsReq = 5515,
    CmdSyncChessRogueNousSubStoryScNotify = 5406,
    CmdChessRoguePickAvatarCsReq = 5567,
    CmdChessRogueQuitScRsp = 5511,
    CmdChessRogueReRollDiceScRsp = 5411,
    CmdChessRogueEnterCellScRsp = 5440,
    CmdSelectChessRogueSubStoryScRsp = 5481,
    CmdChessRogueRollDiceCsReq = 5455,
    CmdChessRogueStartCsReq = 5550,
    CmdEnterChessRogueAeonRoomCsReq = 5423,
    CmdChessRogueCheatRollScRsp = 5552,
    CmdChessRogueConfirmRollCsReq = 5403,
    CmdFinishChessRogueSubStoryScRsp = 5584,
    CpnmdalepihImapjcjgoee = 5557,
    CmdChessRogueNousEditDiceScRsp = 5482,
    CmdGetChessRogueBuffEnhanceInfoScRsp = 5434,
    CmdChessRogueReviveAvatarCsReq = 5566,
    CmdChessRogueChangeAeonDimensionNotify = 5458,
    CmdChessRogueQueryCsReq = 5583,
    CmdChessRogueRollDiceScRsp = 5501,
    CmdSelectChessRogueSubStoryCsReq = 5540,
    CmdChessRogueEnterScRsp = 5503,
    CmdChessRogueUpdateReviveInfoScNotify = 5415,
    CmdChessRogueUpdateLevelBaseInfoScNotify = 5571,
    CmdChessRogueEnterNextLayerCsReq = 5404,
    CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5548,
    CmdChessRogueUpdateUnlockLevelScNotify = 5410,
    CmdChessRogueCheatRollCsReq = 5489,
    CmdChessRogueNousGetRogueTalentInfoScRsp = 5488,
    CmdChessRoguePickAvatarScRsp = 5558,
    CmdChessRogueLeaveCsReq = 5417,
    CmdChessRogueReviveAvatarScRsp = 5460,
    CmdSyncChessRogueMainStoryFinishScNotify = 5401,
    CmdChessRogueQuitCsReq = 5574,
    CmdGajpcoebhgg = 5524,
    CmdChessRogueSelectCellCsReq = 5521,
    CmdGetChessRogueNousStoryInfoScRsp = 5473,
    CmdChessRogueNousEnableRogueTalentCsReq = 5446,
}
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 {
            Self::CpnmdalepihGkjbaodjmjg => "CPNMDALEPIH_GKJBAODJMJG",
            Self::CmdGetChessRogueStoryAeonTalkInfoCsReq => {
                "CmdGetChessRogueStoryAeonTalkInfoCsReq"
            }
            Self::CmdChessRogueUpdateAllowedSelectCellScNotify => {
                "CmdChessRogueUpdateAllowedSelectCellScNotify"
            }
            Self::CmdChessRogueUpdateMoneyInfoScNotify => {
                "CmdChessRogueUpdateMoneyInfoScNotify"
            }
            Self::CmdEnhanceChessRogueBuffCsReq => "CmdEnhanceChessRogueBuffCsReq",
            Self::CmdOfjhpmpcllh => "CmdOFJHPMPCLLH",
            Self::CmdChessRogueNousDiceUpdateNotify => {
                "CmdChessRogueNousDiceUpdateNotify"
            }
            Self::CmdChessRogueLayerSettlement => "CmdChessRogueLayerSettlement",
            Self::CmdFinishChessRogueSubStoryCsReq => "CmdFinishChessRogueSubStoryCsReq",
            Self::CmdChessRogueCellUpdateNotify => "CmdChessRogueCellUpdateNotify",
            Self::CmdChessRogueEnterCsReq => "CmdChessRogueEnterCsReq",
            Self::CmdChessRogueReRollDiceCsReq => "CmdChessRogueReRollDiceCsReq",
            Self::CmdChessRogueQueryScRsp => "CmdChessRogueQueryScRsp",
            Self::CmdChessRogueEnterNextLayerScRsp => "CmdChessRogueEnterNextLayerScRsp",
            Self::CmdSyncChessRogueNousMainStoryScNotify => {
                "CmdSyncChessRogueNousMainStoryScNotify"
            }
            Self::CmdGetChessRogueBuffEnhanceInfoCsReq => {
                "CmdGetChessRogueBuffEnhanceInfoCsReq"
            }
            Self::CmdChessRogueGiveUpCsReq => "CmdChessRogueGiveUpCsReq",
            Self::CmdChessRogueConfirmRollScRsp => "CmdChessRogueConfirmRollScRsp",
            Self::CmdChessRogueUpdateAeonModifierValueScNotify => {
                "CmdChessRogueUpdateAeonModifierValueScNotify"
            }
            Self::CmdGetChessRogueStoryInfoCsReq => "CmdGetChessRogueStoryInfoCsReq",
            Self::CpnmdalepihFnkpochhoio => "CPNMDALEPIH_FNKPOCHHOIO",
            Self::CmdChessRogueStartScRsp => "CmdChessRogueStartScRsp",
            Self::CmdChessRogueUpdateActionPointScNotify => {
                "CmdChessRogueUpdateActionPointScNotify"
            }
            Self::CmdChessRogueLeaveScRsp => "CmdChessRogueLeaveScRsp",
            Self::CmdChessRogueSkipTeachingLevelScRsp => {
                "CmdChessRogueSkipTeachingLevelScRsp"
            }
            Self::CmdChessRogueEnterCellCsReq => "CmdChessRogueEnterCellCsReq",
            Self::CmdChessRogueGiveUpScRsp => "CmdChessRogueGiveUpScRsp",
            Self::CmdGetChessRogueStoryAeonTalkInfoScRsp => {
                "CmdGetChessRogueStoryAeonTalkInfoScRsp"
            }
            Self::CmdChessRogueSkipTeachingLevelCsReq => {
                "CmdChessRogueSkipTeachingLevelCsReq"
            }
            Self::CmdResetRogueDiceSurfaceCsReq => "CmdResetRogueDiceSurfaceCsReq",
            Self::CmdChessRogueSelectCellScRsp => "CmdChessRogueSelectCellScRsp",
            Self::CmdGetChessRogueNousStoryInfoCsReq => {
                "CmdGetChessRogueNousStoryInfoCsReq"
            }
            Self::CmdChessRogueNousEnableRogueTalentScRsp => {
                "CmdChessRogueNousEnableRogueTalentScRsp"
            }
            Self::CmdGetChessRogueStoryInfoScRsp => "CmdGetChessRogueStoryInfoScRsp",
            Self::CmdEnhanceChessRogueBuffScRsp => "CmdEnhanceChessRogueBuffScRsp",
            Self::CmdChessRogueNousDiceSurfaceUnlockNotify => {
                "CmdChessRogueNousDiceSurfaceUnlockNotify"
            }
            Self::CmdChessRogueUpdateDiceInfoScNotify => {
                "CmdChessRogueUpdateDiceInfoScNotify"
            }
            Self::CmdSyncChessRogueNousValueScNotify => {
                "CmdSyncChessRogueNousValueScNotify"
            }
            Self::CmdEnterChessRogueAeonRoomScRsp => "CmdEnterChessRogueAeonRoomScRsp",
            Self::CmdHjnigphnaah => "CmdHJNIGPHNAAH",
            Self::CmdChessRogueQuestFinishNotify => "CmdChessRogueQuestFinishNotify",
            Self::CmdChessRogueNousGetRogueTalentInfoCsReq => {
                "CmdChessRogueNousGetRogueTalentInfoCsReq"
            }
            Self::CmdSyncChessRogueNousSubStoryScNotify => {
                "CmdSyncChessRogueNousSubStoryScNotify"
            }
            Self::CmdChessRoguePickAvatarCsReq => "CmdChessRoguePickAvatarCsReq",
            Self::CmdChessRogueQuitScRsp => "CmdChessRogueQuitScRsp",
            Self::CmdChessRogueReRollDiceScRsp => "CmdChessRogueReRollDiceScRsp",
            Self::CmdChessRogueEnterCellScRsp => "CmdChessRogueEnterCellScRsp",
            Self::CmdSelectChessRogueSubStoryScRsp => "CmdSelectChessRogueSubStoryScRsp",
            Self::CmdChessRogueRollDiceCsReq => "CmdChessRogueRollDiceCsReq",
            Self::CmdChessRogueStartCsReq => "CmdChessRogueStartCsReq",
            Self::CmdEnterChessRogueAeonRoomCsReq => "CmdEnterChessRogueAeonRoomCsReq",
            Self::CmdChessRogueCheatRollScRsp => "CmdChessRogueCheatRollScRsp",
            Self::CmdChessRogueConfirmRollCsReq => "CmdChessRogueConfirmRollCsReq",
            Self::CmdFinishChessRogueSubStoryScRsp => "CmdFinishChessRogueSubStoryScRsp",
            Self::CpnmdalepihImapjcjgoee => "CPNMDALEPIH_IMAPJCJGOEE",
            Self::CmdChessRogueNousEditDiceScRsp => "CmdChessRogueNousEditDiceScRsp",
            Self::CmdGetChessRogueBuffEnhanceInfoScRsp => {
                "CmdGetChessRogueBuffEnhanceInfoScRsp"
            }
            Self::CmdChessRogueReviveAvatarCsReq => "CmdChessRogueReviveAvatarCsReq",
            Self::CmdChessRogueChangeAeonDimensionNotify => {
                "CmdChessRogueChangeAeonDimensionNotify"
            }
            Self::CmdChessRogueQueryCsReq => "CmdChessRogueQueryCsReq",
            Self::CmdChessRogueRollDiceScRsp => "CmdChessRogueRollDiceScRsp",
            Self::CmdSelectChessRogueSubStoryCsReq => "CmdSelectChessRogueSubStoryCsReq",
            Self::CmdChessRogueEnterScRsp => "CmdChessRogueEnterScRsp",
            Self::CmdChessRogueUpdateReviveInfoScNotify => {
                "CmdChessRogueUpdateReviveInfoScNotify"
            }
            Self::CmdChessRogueUpdateLevelBaseInfoScNotify => {
                "CmdChessRogueUpdateLevelBaseInfoScNotify"
            }
            Self::CmdChessRogueEnterNextLayerCsReq => "CmdChessRogueEnterNextLayerCsReq",
            Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify => {
                "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify"
            }
            Self::CmdChessRogueUpdateUnlockLevelScNotify => {
                "CmdChessRogueUpdateUnlockLevelScNotify"
            }
            Self::CmdChessRogueCheatRollCsReq => "CmdChessRogueCheatRollCsReq",
            Self::CmdChessRogueNousGetRogueTalentInfoScRsp => {
                "CmdChessRogueNousGetRogueTalentInfoScRsp"
            }
            Self::CmdChessRoguePickAvatarScRsp => "CmdChessRoguePickAvatarScRsp",
            Self::CmdChessRogueLeaveCsReq => "CmdChessRogueLeaveCsReq",
            Self::CmdChessRogueReviveAvatarScRsp => "CmdChessRogueReviveAvatarScRsp",
            Self::CmdSyncChessRogueMainStoryFinishScNotify => {
                "CmdSyncChessRogueMainStoryFinishScNotify"
            }
            Self::CmdChessRogueQuitCsReq => "CmdChessRogueQuitCsReq",
            Self::CmdGajpcoebhgg => "CmdGAJPCOEBHGG",
            Self::CmdChessRogueSelectCellCsReq => "CmdChessRogueSelectCellCsReq",
            Self::CmdGetChessRogueNousStoryInfoScRsp => {
                "CmdGetChessRogueNousStoryInfoScRsp"
            }
            Self::CmdChessRogueNousEnableRogueTalentCsReq => {
                "CmdChessRogueNousEnableRogueTalentCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CPNMDALEPIH_GKJBAODJMJG" => Some(Self::CpnmdalepihGkjbaodjmjg),
            "CmdGetChessRogueStoryAeonTalkInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoCsReq)
            }
            "CmdChessRogueUpdateAllowedSelectCellScNotify" => {
                Some(Self::CmdChessRogueUpdateAllowedSelectCellScNotify)
            }
            "CmdChessRogueUpdateMoneyInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateMoneyInfoScNotify)
            }
            "CmdEnhanceChessRogueBuffCsReq" => Some(Self::CmdEnhanceChessRogueBuffCsReq),
            "CmdOFJHPMPCLLH" => Some(Self::CmdOfjhpmpcllh),
            "CmdChessRogueNousDiceUpdateNotify" => {
                Some(Self::CmdChessRogueNousDiceUpdateNotify)
            }
            "CmdChessRogueLayerSettlement" => Some(Self::CmdChessRogueLayerSettlement),
            "CmdFinishChessRogueSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueSubStoryCsReq)
            }
            "CmdChessRogueCellUpdateNotify" => Some(Self::CmdChessRogueCellUpdateNotify),
            "CmdChessRogueEnterCsReq" => Some(Self::CmdChessRogueEnterCsReq),
            "CmdChessRogueReRollDiceCsReq" => Some(Self::CmdChessRogueReRollDiceCsReq),
            "CmdChessRogueQueryScRsp" => Some(Self::CmdChessRogueQueryScRsp),
            "CmdChessRogueEnterNextLayerScRsp" => {
                Some(Self::CmdChessRogueEnterNextLayerScRsp)
            }
            "CmdSyncChessRogueNousMainStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousMainStoryScNotify)
            }
            "CmdGetChessRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoCsReq)
            }
            "CmdChessRogueGiveUpCsReq" => Some(Self::CmdChessRogueGiveUpCsReq),
            "CmdChessRogueConfirmRollScRsp" => Some(Self::CmdChessRogueConfirmRollScRsp),
            "CmdChessRogueUpdateAeonModifierValueScNotify" => {
                Some(Self::CmdChessRogueUpdateAeonModifierValueScNotify)
            }
            "CmdGetChessRogueStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryInfoCsReq)
            }
            "CPNMDALEPIH_FNKPOCHHOIO" => Some(Self::CpnmdalepihFnkpochhoio),
            "CmdChessRogueStartScRsp" => Some(Self::CmdChessRogueStartScRsp),
            "CmdChessRogueUpdateActionPointScNotify" => {
                Some(Self::CmdChessRogueUpdateActionPointScNotify)
            }
            "CmdChessRogueLeaveScRsp" => Some(Self::CmdChessRogueLeaveScRsp),
            "CmdChessRogueSkipTeachingLevelScRsp" => {
                Some(Self::CmdChessRogueSkipTeachingLevelScRsp)
            }
            "CmdChessRogueEnterCellCsReq" => Some(Self::CmdChessRogueEnterCellCsReq),
            "CmdChessRogueGiveUpScRsp" => Some(Self::CmdChessRogueGiveUpScRsp),
            "CmdGetChessRogueStoryAeonTalkInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoScRsp)
            }
            "CmdChessRogueSkipTeachingLevelCsReq" => {
                Some(Self::CmdChessRogueSkipTeachingLevelCsReq)
            }
            "CmdResetRogueDiceSurfaceCsReq" => Some(Self::CmdResetRogueDiceSurfaceCsReq),
            "CmdChessRogueSelectCellScRsp" => Some(Self::CmdChessRogueSelectCellScRsp),
            "CmdGetChessRogueNousStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueNousStoryInfoCsReq)
            }
            "CmdChessRogueNousEnableRogueTalentScRsp" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentScRsp)
            }
            "CmdGetChessRogueStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryInfoScRsp)
            }
            "CmdEnhanceChessRogueBuffScRsp" => Some(Self::CmdEnhanceChessRogueBuffScRsp),
            "CmdChessRogueNousDiceSurfaceUnlockNotify" => {
                Some(Self::CmdChessRogueNousDiceSurfaceUnlockNotify)
            }
            "CmdChessRogueUpdateDiceInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateDiceInfoScNotify)
            }
            "CmdSyncChessRogueNousValueScNotify" => {
                Some(Self::CmdSyncChessRogueNousValueScNotify)
            }
            "CmdEnterChessRogueAeonRoomScRsp" => {
                Some(Self::CmdEnterChessRogueAeonRoomScRsp)
            }
            "CmdHJNIGPHNAAH" => Some(Self::CmdHjnigphnaah),
            "CmdChessRogueQuestFinishNotify" => {
                Some(Self::CmdChessRogueQuestFinishNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoCsReq" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoCsReq)
            }
            "CmdSyncChessRogueNousSubStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousSubStoryScNotify)
            }
            "CmdChessRoguePickAvatarCsReq" => Some(Self::CmdChessRoguePickAvatarCsReq),
            "CmdChessRogueQuitScRsp" => Some(Self::CmdChessRogueQuitScRsp),
            "CmdChessRogueReRollDiceScRsp" => Some(Self::CmdChessRogueReRollDiceScRsp),
            "CmdChessRogueEnterCellScRsp" => Some(Self::CmdChessRogueEnterCellScRsp),
            "CmdSelectChessRogueSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueSubStoryScRsp)
            }
            "CmdChessRogueRollDiceCsReq" => Some(Self::CmdChessRogueRollDiceCsReq),
            "CmdChessRogueStartCsReq" => Some(Self::CmdChessRogueStartCsReq),
            "CmdEnterChessRogueAeonRoomCsReq" => {
                Some(Self::CmdEnterChessRogueAeonRoomCsReq)
            }
            "CmdChessRogueCheatRollScRsp" => Some(Self::CmdChessRogueCheatRollScRsp),
            "CmdChessRogueConfirmRollCsReq" => Some(Self::CmdChessRogueConfirmRollCsReq),
            "CmdFinishChessRogueSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueSubStoryScRsp)
            }
            "CPNMDALEPIH_IMAPJCJGOEE" => Some(Self::CpnmdalepihImapjcjgoee),
            "CmdChessRogueNousEditDiceScRsp" => {
                Some(Self::CmdChessRogueNousEditDiceScRsp)
            }
            "CmdGetChessRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetChessRogueBuffEnhanceInfoScRsp)
            }
            "CmdChessRogueReviveAvatarCsReq" => {
                Some(Self::CmdChessRogueReviveAvatarCsReq)
            }
            "CmdChessRogueChangeAeonDimensionNotify" => {
                Some(Self::CmdChessRogueChangeAeonDimensionNotify)
            }
            "CmdChessRogueQueryCsReq" => Some(Self::CmdChessRogueQueryCsReq),
            "CmdChessRogueRollDiceScRsp" => Some(Self::CmdChessRogueRollDiceScRsp),
            "CmdSelectChessRogueSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueSubStoryCsReq)
            }
            "CmdChessRogueEnterScRsp" => Some(Self::CmdChessRogueEnterScRsp),
            "CmdChessRogueUpdateReviveInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateReviveInfoScNotify)
            }
            "CmdChessRogueUpdateLevelBaseInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateLevelBaseInfoScNotify)
            }
            "CmdChessRogueEnterNextLayerCsReq" => {
                Some(Self::CmdChessRogueEnterNextLayerCsReq)
            }
            "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify" => {
                Some(Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify)
            }
            "CmdChessRogueUpdateUnlockLevelScNotify" => {
                Some(Self::CmdChessRogueUpdateUnlockLevelScNotify)
            }
            "CmdChessRogueCheatRollCsReq" => Some(Self::CmdChessRogueCheatRollCsReq),
            "CmdChessRogueNousGetRogueTalentInfoScRsp" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoScRsp)
            }
            "CmdChessRoguePickAvatarScRsp" => Some(Self::CmdChessRoguePickAvatarScRsp),
            "CmdChessRogueLeaveCsReq" => Some(Self::CmdChessRogueLeaveCsReq),
            "CmdChessRogueReviveAvatarScRsp" => {
                Some(Self::CmdChessRogueReviveAvatarScRsp)
            }
            "CmdSyncChessRogueMainStoryFinishScNotify" => {
                Some(Self::CmdSyncChessRogueMainStoryFinishScNotify)
            }
            "CmdChessRogueQuitCsReq" => Some(Self::CmdChessRogueQuitCsReq),
            "CmdGAJPCOEBHGG" => Some(Self::CmdGajpcoebhgg),
            "CmdChessRogueSelectCellCsReq" => Some(Self::CmdChessRogueSelectCellCsReq),
            "CmdGetChessRogueNousStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueNousStoryInfoScRsp)
            }
            "CmdChessRogueNousEnableRogueTalentCsReq" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: LHPBCCJMGON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueDiceStatus {
    LhpbccjmgonGglnhiakmcd = 0,
    LhpbccjmgonBojgpfhbdda = 1,
    LhpbccjmgonGpollokncea = 2,
    LhpbccjmgonPlkadjdfmem = 3,
}
impl ChessRogueDiceStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LhpbccjmgonGglnhiakmcd => "LHPBCCJMGON_GGLNHIAKMCD",
            Self::LhpbccjmgonBojgpfhbdda => "LHPBCCJMGON_BOJGPFHBDDA",
            Self::LhpbccjmgonGpollokncea => "LHPBCCJMGON_GPOLLOKNCEA",
            Self::LhpbccjmgonPlkadjdfmem => "LHPBCCJMGON_PLKADJDFMEM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHPBCCJMGON_GGLNHIAKMCD" => Some(Self::LhpbccjmgonGglnhiakmcd),
            "LHPBCCJMGON_BOJGPFHBDDA" => Some(Self::LhpbccjmgonBojgpfhbdda),
            "LHPBCCJMGON_GPOLLOKNCEA" => Some(Self::LhpbccjmgonGpollokncea),
            "LHPBCCJMGON_PLKADJDFMEM" => Some(Self::LhpbccjmgonPlkadjdfmem),
            _ => None,
        }
    }
}
/// Obf: PCFGEHEGGMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueDiceType {
    PcfgeheggmcCaofejchppp = 0,
    PcfgeheggmcAbclihkdjej = 1,
}
impl ChessRogueDiceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PcfgeheggmcCaofejchppp => "PCFGEHEGGMC_CAOFEJCHPPP",
            Self::PcfgeheggmcAbclihkdjej => "PCFGEHEGGMC_ABCLIHKDJEJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PCFGEHEGGMC_CAOFEJCHPPP" => Some(Self::PcfgeheggmcCaofejchppp),
            "PCFGEHEGGMC_ABCLIHKDJEJ" => Some(Self::PcfgeheggmcAbclihkdjej),
            _ => None,
        }
    }
}
/// Obf: DCLOFBLNAMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueBoardCellStatus {
    DclofblnamkPcofpekekmd = 0,
    DclofblnamkGggeaajdigb = 1,
    DclofblnamkPleegecikfb = 2,
    DclofblnamkJojfjhdlleh = 3,
}
impl ChessRogueBoardCellStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DclofblnamkPcofpekekmd => "DCLOFBLNAMK_PCOFPEKEKMD",
            Self::DclofblnamkGggeaajdigb => "DCLOFBLNAMK_GGGEAAJDIGB",
            Self::DclofblnamkPleegecikfb => "DCLOFBLNAMK_PLEEGECIKFB",
            Self::DclofblnamkJojfjhdlleh => "DCLOFBLNAMK_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DCLOFBLNAMK_PCOFPEKEKMD" => Some(Self::DclofblnamkPcofpekekmd),
            "DCLOFBLNAMK_GGGEAAJDIGB" => Some(Self::DclofblnamkGggeaajdigb),
            "DCLOFBLNAMK_PLEEGECIKFB" => Some(Self::DclofblnamkPleegecikfb),
            "DCLOFBLNAMK_JOJFJHDLLEH" => Some(Self::DclofblnamkJojfjhdlleh),
            _ => None,
        }
    }
}
/// Obf: FHNAAONJJLB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueCellSpecialType {
    FhnaaonjjlbGkjbaodjmjg = 0,
    FhnaaonjjlbHcokcjmeonk = 1,
    FhnaaonjjlbDdpkapbfgka = 2,
    FhnaaonjjlbAifacefgmip = 3,
    FhnaaonjjlbDhhedgbmadi = 4,
    FhnaaonjjlbFnbiiibbdjb = 5,
}
impl ChessRogueCellSpecialType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FhnaaonjjlbGkjbaodjmjg => "FHNAAONJJLB_GKJBAODJMJG",
            Self::FhnaaonjjlbHcokcjmeonk => "FHNAAONJJLB_HCOKCJMEONK",
            Self::FhnaaonjjlbDdpkapbfgka => "FHNAAONJJLB_DDPKAPBFGKA",
            Self::FhnaaonjjlbAifacefgmip => "FHNAAONJJLB_AIFACEFGMIP",
            Self::FhnaaonjjlbDhhedgbmadi => "FHNAAONJJLB_DHHEDGBMADI",
            Self::FhnaaonjjlbFnbiiibbdjb => "FHNAAONJJLB_FNBIIIBBDJB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FHNAAONJJLB_GKJBAODJMJG" => Some(Self::FhnaaonjjlbGkjbaodjmjg),
            "FHNAAONJJLB_HCOKCJMEONK" => Some(Self::FhnaaonjjlbHcokcjmeonk),
            "FHNAAONJJLB_DDPKAPBFGKA" => Some(Self::FhnaaonjjlbDdpkapbfgka),
            "FHNAAONJJLB_AIFACEFGMIP" => Some(Self::FhnaaonjjlbAifacefgmip),
            "FHNAAONJJLB_DHHEDGBMADI" => Some(Self::FhnaaonjjlbDhhedgbmadi),
            "FHNAAONJJLB_FNBIIIBBDJB" => Some(Self::FhnaaonjjlbFnbiiibbdjb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iglpnepmmfl {
    Iekljamlbji = 0,
    Ckaipighgal = 1,
    Cmobbkdopcj = 2,
    Nknheeoeafk = 3,
    Elafgpfmckk = 4,
    Aidcbglcefg = 5,
}
impl Iglpnepmmfl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Iekljamlbji => "IGLPNEPMMFL_IEKLJAMLBJI",
            Self::Ckaipighgal => "IGLPNEPMMFL_CKAIPIGHGAL",
            Self::Cmobbkdopcj => "IGLPNEPMMFL_CMOBBKDOPCJ",
            Self::Nknheeoeafk => "IGLPNEPMMFL_NKNHEEOEAFK",
            Self::Elafgpfmckk => "IGLPNEPMMFL_ELAFGPFMCKK",
            Self::Aidcbglcefg => "IGLPNEPMMFL_AIDCBGLCEFG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IGLPNEPMMFL_IEKLJAMLBJI" => Some(Self::Iekljamlbji),
            "IGLPNEPMMFL_CKAIPIGHGAL" => Some(Self::Ckaipighgal),
            "IGLPNEPMMFL_CMOBBKDOPCJ" => Some(Self::Cmobbkdopcj),
            "IGLPNEPMMFL_NKNHEEOEAFK" => Some(Self::Nknheeoeafk),
            "IGLPNEPMMFL_ELAFGPFMCKK" => Some(Self::Elafgpfmckk),
            "IGLPNEPMMFL_AIDCBGLCEFG" => Some(Self::Aidcbglcefg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lnhkjplikhb {
    Kkkkifdheno = 0,
    Mfcmchcgjnh = 1,
    Fbajcpbckkh = 2,
    Lnmnbdhpngl = 3,
    Lpkafflddad = 4,
    Dgkdcgbdcmk = 5,
}
impl Lnhkjplikhb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kkkkifdheno => "LNHKJPLIKHB_KKKKIFDHENO",
            Self::Mfcmchcgjnh => "LNHKJPLIKHB_MFCMCHCGJNH",
            Self::Fbajcpbckkh => "LNHKJPLIKHB_FBAJCPBCKKH",
            Self::Lnmnbdhpngl => "LNHKJPLIKHB_LNMNBDHPNGL",
            Self::Lpkafflddad => "LNHKJPLIKHB_LPKAFFLDDAD",
            Self::Dgkdcgbdcmk => "LNHKJPLIKHB_DGKDCGBDCMK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LNHKJPLIKHB_KKKKIFDHENO" => Some(Self::Kkkkifdheno),
            "LNHKJPLIKHB_MFCMCHCGJNH" => Some(Self::Mfcmchcgjnh),
            "LNHKJPLIKHB_FBAJCPBCKKH" => Some(Self::Fbajcpbckkh),
            "LNHKJPLIKHB_LNMNBDHPNGL" => Some(Self::Lnmnbdhpngl),
            "LNHKJPLIKHB_LPKAFFLDDAD" => Some(Self::Lpkafflddad),
            "LNHKJPLIKHB_DGKDCGBDCMK" => Some(Self::Dgkdcgbdcmk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lejooocceee {
    Flpingggeia = 0,
    Jfmninhknmj = 1,
    Npkkcffclad = 2,
    Kbakbmlgenf = 3,
    Mmdfncgofmg = 4,
    Imppambefgj = 5,
    Lakmfapcbjc = 6,
    Dkggimfbnna = 7,
    Dkhkmacepib = 8,
    Hffdfbgbpgc = 9,
    Gcdllhibfoi = 10,
}
impl Lejooocceee {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Flpingggeia => "LEJOOOCCEEE_FLPINGGGEIA",
            Self::Jfmninhknmj => "LEJOOOCCEEE_JFMNINHKNMJ",
            Self::Npkkcffclad => "LEJOOOCCEEE_NPKKCFFCLAD",
            Self::Kbakbmlgenf => "LEJOOOCCEEE_KBAKBMLGENF",
            Self::Mmdfncgofmg => "LEJOOOCCEEE_MMDFNCGOFMG",
            Self::Imppambefgj => "LEJOOOCCEEE_IMPPAMBEFGJ",
            Self::Lakmfapcbjc => "LEJOOOCCEEE_LAKMFAPCBJC",
            Self::Dkggimfbnna => "LEJOOOCCEEE_DKGGIMFBNNA",
            Self::Dkhkmacepib => "LEJOOOCCEEE_DKHKMACEPIB",
            Self::Hffdfbgbpgc => "LEJOOOCCEEE_HFFDFBGBPGC",
            Self::Gcdllhibfoi => "LEJOOOCCEEE_GCDLLHIBFOI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LEJOOOCCEEE_FLPINGGGEIA" => Some(Self::Flpingggeia),
            "LEJOOOCCEEE_JFMNINHKNMJ" => Some(Self::Jfmninhknmj),
            "LEJOOOCCEEE_NPKKCFFCLAD" => Some(Self::Npkkcffclad),
            "LEJOOOCCEEE_KBAKBMLGENF" => Some(Self::Kbakbmlgenf),
            "LEJOOOCCEEE_MMDFNCGOFMG" => Some(Self::Mmdfncgofmg),
            "LEJOOOCCEEE_IMPPAMBEFGJ" => Some(Self::Imppambefgj),
            "LEJOOOCCEEE_LAKMFAPCBJC" => Some(Self::Lakmfapcbjc),
            "LEJOOOCCEEE_DKGGIMFBNNA" => Some(Self::Dkggimfbnna),
            "LEJOOOCCEEE_DKHKMACEPIB" => Some(Self::Dkhkmacepib),
            "LEJOOOCCEEE_HFFDFBGBPGC" => Some(Self::Hffdfbgbpgc),
            "LEJOOOCCEEE_GCDLLHIBFOI" => Some(Self::Gcdllhibfoi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lbbpeodmipo {
    Gkjbaodjmjg = 0,
    Eljmglfncan = 1,
    Ialcgidjcde = 2,
    Kigdpcalgkf = 3,
    Fbgdibkhipf = 4,
    Pnejfjnggob = 5,
    Bonlpdfjheb = 6,
    Epdlfdcjpak = 7,
    Gjoihibldcl = 8,
    Mdcmhohpcdn = 9,
    Aakkccbfeha = 10,
    Jemdbnlnjmi = 11,
}
impl Lbbpeodmipo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "LBBPEODMIPO_GKJBAODJMJG",
            Self::Eljmglfncan => "LBBPEODMIPO_ELJMGLFNCAN",
            Self::Ialcgidjcde => "LBBPEODMIPO_IALCGIDJCDE",
            Self::Kigdpcalgkf => "LBBPEODMIPO_KIGDPCALGKF",
            Self::Fbgdibkhipf => "LBBPEODMIPO_FBGDIBKHIPF",
            Self::Pnejfjnggob => "LBBPEODMIPO_PNEJFJNGGOB",
            Self::Bonlpdfjheb => "LBBPEODMIPO_BONLPDFJHEB",
            Self::Epdlfdcjpak => "LBBPEODMIPO_EPDLFDCJPAK",
            Self::Gjoihibldcl => "LBBPEODMIPO_GJOIHIBLDCL",
            Self::Mdcmhohpcdn => "LBBPEODMIPO_MDCMHOHPCDN",
            Self::Aakkccbfeha => "LBBPEODMIPO_AAKKCCBFEHA",
            Self::Jemdbnlnjmi => "LBBPEODMIPO_JEMDBNLNJMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBBPEODMIPO_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "LBBPEODMIPO_ELJMGLFNCAN" => Some(Self::Eljmglfncan),
            "LBBPEODMIPO_IALCGIDJCDE" => Some(Self::Ialcgidjcde),
            "LBBPEODMIPO_KIGDPCALGKF" => Some(Self::Kigdpcalgkf),
            "LBBPEODMIPO_FBGDIBKHIPF" => Some(Self::Fbgdibkhipf),
            "LBBPEODMIPO_PNEJFJNGGOB" => Some(Self::Pnejfjnggob),
            "LBBPEODMIPO_BONLPDFJHEB" => Some(Self::Bonlpdfjheb),
            "LBBPEODMIPO_EPDLFDCJPAK" => Some(Self::Epdlfdcjpak),
            "LBBPEODMIPO_GJOIHIBLDCL" => Some(Self::Gjoihibldcl),
            "LBBPEODMIPO_MDCMHOHPCDN" => Some(Self::Mdcmhohpcdn),
            "LBBPEODMIPO_AAKKCCBFEHA" => Some(Self::Aakkccbfeha),
            "LBBPEODMIPO_JEMDBNLNJMI" => Some(Self::Jemdbnlnjmi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iokfgobopne {
    Mnlkggpkend = 0,
    Ocajjegbjok = 1,
}
impl Iokfgobopne {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mnlkggpkend => "IOKFGOBOPNE_MNLKGGPKEND",
            Self::Ocajjegbjok => "IOKFGOBOPNE_OCAJJEGBJOK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IOKFGOBOPNE_MNLKGGPKEND" => Some(Self::Mnlkggpkend),
            "IOKFGOBOPNE_OCAJJEGBJOK" => Some(Self::Ocajjegbjok),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ofdnipdpbic {
    Gkjbaodjmjg = 0,
    Hgloncgpnpk = 1,
}
impl Ofdnipdpbic {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "OFDNIPDPBIC_GKJBAODJMJG",
            Self::Hgloncgpnpk => "OFDNIPDPBIC_HGLONCGPNPK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OFDNIPDPBIC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "OFDNIPDPBIC_HGLONCGPNPK" => Some(Self::Hgloncgpnpk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojpkngpfaed {
    Gkjbaodjmjg = 0,
    Ikjfglhehem = 1,
    Mnjmncfichd = 2,
    Dgfajfkjncn = 3,
    Cmlkpnhpbpl = 4,
    BattleRogueMagicInfo = 5,
    Bglchbicafn = 6,
    Ollanjlnidn = 7,
    Eedjdkjiieo = 8,
}
impl Ojpkngpfaed {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "OJPKNGPFAED_GKJBAODJMJG",
            Self::Ikjfglhehem => "OJPKNGPFAED_IKJFGLHEHEM",
            Self::Mnjmncfichd => "OJPKNGPFAED_MNJMNCFICHD",
            Self::Dgfajfkjncn => "OJPKNGPFAED_DGFAJFKJNCN",
            Self::Cmlkpnhpbpl => "OJPKNGPFAED_CMLKPNHPBPL",
            Self::BattleRogueMagicInfo => "OJPKNGPFAED_battle_rogue_magic_info",
            Self::Bglchbicafn => "OJPKNGPFAED_BGLCHBICAFN",
            Self::Ollanjlnidn => "OJPKNGPFAED_OLLANJLNIDN",
            Self::Eedjdkjiieo => "OJPKNGPFAED_EEDJDKJIIEO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OJPKNGPFAED_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "OJPKNGPFAED_IKJFGLHEHEM" => Some(Self::Ikjfglhehem),
            "OJPKNGPFAED_MNJMNCFICHD" => Some(Self::Mnjmncfichd),
            "OJPKNGPFAED_DGFAJFKJNCN" => Some(Self::Dgfajfkjncn),
            "OJPKNGPFAED_CMLKPNHPBPL" => Some(Self::Cmlkpnhpbpl),
            "OJPKNGPFAED_battle_rogue_magic_info" => Some(Self::BattleRogueMagicInfo),
            "OJPKNGPFAED_BGLCHBICAFN" => Some(Self::Bglchbicafn),
            "OJPKNGPFAED_OLLANJLNIDN" => Some(Self::Ollanjlnidn),
            "OJPKNGPFAED_EEDJDKJIIEO" => Some(Self::Eedjdkjiieo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfiiligbhjd {
    Fjpbiaopfpd = 0,
    Dollojfcbko = 1,
    Kfjhfgklmlk = 2,
    Gbeabkmknaj = 3,
}
impl Cfiiligbhjd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fjpbiaopfpd => "CFIILIGBHJD_FJPBIAOPFPD",
            Self::Dollojfcbko => "CFIILIGBHJD_DOLLOJFCBKO",
            Self::Kfjhfgklmlk => "CFIILIGBHJD_KFJHFGKLMLK",
            Self::Gbeabkmknaj => "CFIILIGBHJD_GBEABKMKNAJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CFIILIGBHJD_FJPBIAOPFPD" => Some(Self::Fjpbiaopfpd),
            "CFIILIGBHJD_DOLLOJFCBKO" => Some(Self::Dollojfcbko),
            "CFIILIGBHJD_KFJHFGKLMLK" => Some(Self::Kfjhfgklmlk),
            "CFIILIGBHJD_GBEABKMKNAJ" => Some(Self::Gbeabkmknaj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iaghencfomc {
    Gkjbaodjmjg = 0,
    Oeigcgbjeol = 1,
    Jojfjhdlleh = 2,
    Abnekcjpoin = 3,
}
impl Iaghencfomc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IAGHENCFOMC_GKJBAODJMJG",
            Self::Oeigcgbjeol => "IAGHENCFOMC_OEIGCGBJEOL",
            Self::Jojfjhdlleh => "IAGHENCFOMC_JOJFJHDLLEH",
            Self::Abnekcjpoin => "IAGHENCFOMC_ABNEKCJPOIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IAGHENCFOMC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IAGHENCFOMC_OEIGCGBJEOL" => Some(Self::Oeigcgbjeol),
            "IAGHENCFOMC_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            "IAGHENCFOMC_ABNEKCJPOIN" => Some(Self::Abnekcjpoin),
            _ => None,
        }
    }
}
/// Obf: KOMMGFFGBCK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueNousDicePhase {
    KommgffgbckGkjbaodjmjg = 0,
    KommgffgbckCcabjhelmhd = 1,
    KommgffgbckJijkmfbmjjm = 2,
}
impl ChessRogueNousDicePhase {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KommgffgbckGkjbaodjmjg => "KOMMGFFGBCK_GKJBAODJMJG",
            Self::KommgffgbckCcabjhelmhd => "KOMMGFFGBCK_CCABJHELMHD",
            Self::KommgffgbckJijkmfbmjjm => "KOMMGFFGBCK_JIJKMFBMJJM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KOMMGFFGBCK_GKJBAODJMJG" => Some(Self::KommgffgbckGkjbaodjmjg),
            "KOMMGFFGBCK_CCABJHELMHD" => Some(Self::KommgffgbckCcabjhelmhd),
            "KOMMGFFGBCK_JIJKMFBMJJM" => Some(Self::KommgffgbckJijkmfbmjjm),
            _ => None,
        }
    }
}
/// Obf: DPAAAIPKFFP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraType {
    DpaaaipkffpGkjbaodjmjg = 0,
    CmdChimeraFinishEndlessRoundCsReq = 8176,
    CmdChimeraFinishRoundCsReq = 8172,
    CmdChimeraRoundWorkStartCsReq = 8163,
    CmdPblcnlkhebg = 8167,
    CmdChimeraQuitEndlessCsReq = 8173,
    CmdChimeraGetDataScRsp = 8164,
    CmdKfpbighckgd = 8161,
    CmdChimeraQuitEndlessScRsp = 8169,
    CmdChimeraStartEndlessScRsp = 8175,
    DpaaaipkffpJdkbikmhodg = 8166,
    CmdChimeraFinishEndlessRoundScRsp = 8178,
    CmdChimeraDoFinalRoundCsReq = 8177,
    CmdChimeraFinishRound = 8171,
    CmdChimeraDoFinalRoundScRsp = 8179,
    CmdChimeraGetDataCsReq = 8170,
    CmdChimeraStartEndlessCsReq = 8180,
}
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 {
            Self::DpaaaipkffpGkjbaodjmjg => "DPAAAIPKFFP_GKJBAODJMJG",
            Self::CmdChimeraFinishEndlessRoundCsReq => {
                "CmdChimeraFinishEndlessRoundCsReq"
            }
            Self::CmdChimeraFinishRoundCsReq => "CmdChimeraFinishRoundCsReq",
            Self::CmdChimeraRoundWorkStartCsReq => "CmdChimeraRoundWorkStartCsReq",
            Self::CmdPblcnlkhebg => "CmdPBLCNLKHEBG",
            Self::CmdChimeraQuitEndlessCsReq => "CmdChimeraQuitEndlessCsReq",
            Self::CmdChimeraGetDataScRsp => "CmdChimeraGetDataScRsp",
            Self::CmdKfpbighckgd => "CmdKFPBIGHCKGD",
            Self::CmdChimeraQuitEndlessScRsp => "CmdChimeraQuitEndlessScRsp",
            Self::CmdChimeraStartEndlessScRsp => "CmdChimeraStartEndlessScRsp",
            Self::DpaaaipkffpJdkbikmhodg => "DPAAAIPKFFP_JDKBIKMHODG",
            Self::CmdChimeraFinishEndlessRoundScRsp => {
                "CmdChimeraFinishEndlessRoundScRsp"
            }
            Self::CmdChimeraDoFinalRoundCsReq => "CmdChimeraDoFinalRoundCsReq",
            Self::CmdChimeraFinishRound => "CmdChimeraFinishRound",
            Self::CmdChimeraDoFinalRoundScRsp => "CmdChimeraDoFinalRoundScRsp",
            Self::CmdChimeraGetDataCsReq => "CmdChimeraGetDataCsReq",
            Self::CmdChimeraStartEndlessCsReq => "CmdChimeraStartEndlessCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DPAAAIPKFFP_GKJBAODJMJG" => Some(Self::DpaaaipkffpGkjbaodjmjg),
            "CmdChimeraFinishEndlessRoundCsReq" => {
                Some(Self::CmdChimeraFinishEndlessRoundCsReq)
            }
            "CmdChimeraFinishRoundCsReq" => Some(Self::CmdChimeraFinishRoundCsReq),
            "CmdChimeraRoundWorkStartCsReq" => Some(Self::CmdChimeraRoundWorkStartCsReq),
            "CmdPBLCNLKHEBG" => Some(Self::CmdPblcnlkhebg),
            "CmdChimeraQuitEndlessCsReq" => Some(Self::CmdChimeraQuitEndlessCsReq),
            "CmdChimeraGetDataScRsp" => Some(Self::CmdChimeraGetDataScRsp),
            "CmdKFPBIGHCKGD" => Some(Self::CmdKfpbighckgd),
            "CmdChimeraQuitEndlessScRsp" => Some(Self::CmdChimeraQuitEndlessScRsp),
            "CmdChimeraStartEndlessScRsp" => Some(Self::CmdChimeraStartEndlessScRsp),
            "DPAAAIPKFFP_JDKBIKMHODG" => Some(Self::DpaaaipkffpJdkbikmhodg),
            "CmdChimeraFinishEndlessRoundScRsp" => {
                Some(Self::CmdChimeraFinishEndlessRoundScRsp)
            }
            "CmdChimeraDoFinalRoundCsReq" => Some(Self::CmdChimeraDoFinalRoundCsReq),
            "CmdChimeraFinishRound" => Some(Self::CmdChimeraFinishRound),
            "CmdChimeraDoFinalRoundScRsp" => Some(Self::CmdChimeraDoFinalRoundScRsp),
            "CmdChimeraGetDataCsReq" => Some(Self::CmdChimeraGetDataCsReq),
            "CmdChimeraStartEndlessCsReq" => Some(Self::CmdChimeraStartEndlessCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ndpofahnkoi {
    Locipopfgbg = 0,
    Epdnckjhpbf = 1,
    Fadpjbjmkek = 2,
    Dcdgnknmhkp = 3,
}
impl Ndpofahnkoi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Locipopfgbg => "NDPOFAHNKOI_LOCIPOPFGBG",
            Self::Epdnckjhpbf => "NDPOFAHNKOI_EPDNCKJHPBF",
            Self::Fadpjbjmkek => "NDPOFAHNKOI_FADPJBJMKEK",
            Self::Dcdgnknmhkp => "NDPOFAHNKOI_DCDGNKNMHKP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NDPOFAHNKOI_LOCIPOPFGBG" => Some(Self::Locipopfgbg),
            "NDPOFAHNKOI_EPDNCKJHPBF" => Some(Self::Epdnckjhpbf),
            "NDPOFAHNKOI_FADPJBJMKEK" => Some(Self::Fadpjbjmkek),
            "NDPOFAHNKOI_DCDGNKNMHKP" => Some(Self::Dcdgnknmhkp),
            _ => None,
        }
    }
}
/// Obf: DHKBBLHEAHH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChimeraRoundWorkEndReason {
    DhkbblheahhNccpanfneba = 0,
    DhkbblheahhBdkeoogliml = 1,
    DhkbblheahhHhgnlmnkdnk = 2,
    DhkbblheahhMbipgoggojl = 3,
}
impl ChimeraRoundWorkEndReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DhkbblheahhNccpanfneba => "DHKBBLHEAHH_NCCPANFNEBA",
            Self::DhkbblheahhBdkeoogliml => "DHKBBLHEAHH_BDKEOOGLIML",
            Self::DhkbblheahhHhgnlmnkdnk => "DHKBBLHEAHH_HHGNLMNKDNK",
            Self::DhkbblheahhMbipgoggojl => "DHKBBLHEAHH_MBIPGOGGOJL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DHKBBLHEAHH_NCCPANFNEBA" => Some(Self::DhkbblheahhNccpanfneba),
            "DHKBBLHEAHH_BDKEOOGLIML" => Some(Self::DhkbblheahhBdkeoogliml),
            "DHKBBLHEAHH_HHGNLMNKDNK" => Some(Self::DhkbblheahhHhgnlmnkdnk),
            "DHKBBLHEAHH_MBIPGOGGOJL" => Some(Self::DhkbblheahhMbipgoggojl),
            _ => None,
        }
    }
}
/// Obf: KEHIGDEPKMK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraDuelType {
    KehigdepkmkGkjbaodjmjg = 0,
    CmdChimeraDuelGetFriendListCsReq = 9215,
    CmdChimeraDuelShopRefreshCsReq = 9231,
    CmdChimeraDuelSelectGameScRsp = 9236,
    CmdChimeraDuelSyncChangeScNotify = 9247,
    CmdChimeraDuelSetFriendDefendLineupCsReq = 9251,
    CmdChimeraDuelSelectGameCsReq = 9258,
    CmdChimeraDuelStartGameCsReq = 9257,
    CmdChimeraDuelSellChimeraCsReq = 9256,
    CmdChimeraDuelShopRefreshScRsp = 9250,
    CmdChimeraDuelSaveFriendPvpLineupScRsp = 9246,
    CmdChimeraDuelEndRoundBattleStageScRsp = 9213,
    CmdChimeraDuelChangeLineupCsReq = 9238,
    CmdChimeraDuelFinishMasterChallengeCsReq = 9227,
    CmdChimeraDuelUnlockMasterScRsp = 9243,
    CmdChimeraDuelSaveFriendPvpLineupCsReq = 9233,
    CmdChimeraDuelEndGameScRsp = 9239,
    CmdChimeraDuelGetDataScRsp = 9259,
    CmdChimeraDuelSellChimeraScRsp = 9255,
    CmdChimeraDuelShopBuyChimeraScRsp = 9229,
    CmdChimeraDuelShopLockCsReq = 9248,
    CmdChimeraDuelGetDataCsReq = 9260,
    CmdChimeraDuelEndRoundShopStageCsReq = 9218,
    CmdChimeraDuelUnlockMasterCsReq = 9249,
    CmdChimeraDuelEndGameCsReq = 9241,
    CmdChimeraDuelShopBuyItemCsReq = 9211,
    CmdChimeraDuelStartGameScRsp = 9245,
    CmdChimeraDuelChangeLineupScRsp = 9212,
    CmdChimeraDuelFinishMasterChallengeScRsp = 9254,
    CmdReceive = 9223,
    CmdChimeraDuelEndRoundShopStageScRsp = 9216,
    CmdChimeraDuelSetFriendDefendLineupScRsp = 9225,
    CmdChimeraDuelEndRoundBattleStageCsReq = 9253,
    CmdChimeraDuelShopLockScRsp = 9221,
    CmdChimeraDuelShopBuyChimeraCsReq = 9232,
    CmdChimeraDuelShopBuyItemScRsp = 9230,
}
impl CmdChimeraDuelType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KehigdepkmkGkjbaodjmjg => "KEHIGDEPKMK_GKJBAODJMJG",
            Self::CmdChimeraDuelGetFriendListCsReq => "CmdChimeraDuelGetFriendListCsReq",
            Self::CmdChimeraDuelShopRefreshCsReq => "CmdChimeraDuelShopRefreshCsReq",
            Self::CmdChimeraDuelSelectGameScRsp => "CmdChimeraDuelSelectGameScRsp",
            Self::CmdChimeraDuelSyncChangeScNotify => "CmdChimeraDuelSyncChangeScNotify",
            Self::CmdChimeraDuelSetFriendDefendLineupCsReq => {
                "CmdChimeraDuelSetFriendDefendLineupCsReq"
            }
            Self::CmdChimeraDuelSelectGameCsReq => "CmdChimeraDuelSelectGameCsReq",
            Self::CmdChimeraDuelStartGameCsReq => "CmdChimeraDuelStartGameCsReq",
            Self::CmdChimeraDuelSellChimeraCsReq => "CmdChimeraDuelSellChimeraCsReq",
            Self::CmdChimeraDuelShopRefreshScRsp => "CmdChimeraDuelShopRefreshScRsp",
            Self::CmdChimeraDuelSaveFriendPvpLineupScRsp => {
                "CmdChimeraDuelSaveFriendPvpLineupScRsp"
            }
            Self::CmdChimeraDuelEndRoundBattleStageScRsp => {
                "CmdChimeraDuelEndRoundBattleStageScRsp"
            }
            Self::CmdChimeraDuelChangeLineupCsReq => "CmdChimeraDuelChangeLineupCsReq",
            Self::CmdChimeraDuelFinishMasterChallengeCsReq => {
                "CmdChimeraDuelFinishMasterChallengeCsReq"
            }
            Self::CmdChimeraDuelUnlockMasterScRsp => "CmdChimeraDuelUnlockMasterScRsp",
            Self::CmdChimeraDuelSaveFriendPvpLineupCsReq => {
                "CmdChimeraDuelSaveFriendPvpLineupCsReq"
            }
            Self::CmdChimeraDuelEndGameScRsp => "CmdChimeraDuelEndGameScRsp",
            Self::CmdChimeraDuelGetDataScRsp => "CmdChimeraDuelGetDataScRsp",
            Self::CmdChimeraDuelSellChimeraScRsp => "CmdChimeraDuelSellChimeraScRsp",
            Self::CmdChimeraDuelShopBuyChimeraScRsp => {
                "CmdChimeraDuelShopBuyChimeraScRsp"
            }
            Self::CmdChimeraDuelShopLockCsReq => "CmdChimeraDuelShopLockCsReq",
            Self::CmdChimeraDuelGetDataCsReq => "CmdChimeraDuelGetDataCsReq",
            Self::CmdChimeraDuelEndRoundShopStageCsReq => {
                "CmdChimeraDuelEndRoundShopStageCsReq"
            }
            Self::CmdChimeraDuelUnlockMasterCsReq => "CmdChimeraDuelUnlockMasterCsReq",
            Self::CmdChimeraDuelEndGameCsReq => "CmdChimeraDuelEndGameCsReq",
            Self::CmdChimeraDuelShopBuyItemCsReq => "CmdChimeraDuelShopBuyItemCsReq",
            Self::CmdChimeraDuelStartGameScRsp => "CmdChimeraDuelStartGameScRsp",
            Self::CmdChimeraDuelChangeLineupScRsp => "CmdChimeraDuelChangeLineupScRsp",
            Self::CmdChimeraDuelFinishMasterChallengeScRsp => {
                "CmdChimeraDuelFinishMasterChallengeScRsp"
            }
            Self::CmdReceive => "CmdReceive",
            Self::CmdChimeraDuelEndRoundShopStageScRsp => {
                "CmdChimeraDuelEndRoundShopStageScRsp"
            }
            Self::CmdChimeraDuelSetFriendDefendLineupScRsp => {
                "CmdChimeraDuelSetFriendDefendLineupScRsp"
            }
            Self::CmdChimeraDuelEndRoundBattleStageCsReq => {
                "CmdChimeraDuelEndRoundBattleStageCsReq"
            }
            Self::CmdChimeraDuelShopLockScRsp => "CmdChimeraDuelShopLockScRsp",
            Self::CmdChimeraDuelShopBuyChimeraCsReq => {
                "CmdChimeraDuelShopBuyChimeraCsReq"
            }
            Self::CmdChimeraDuelShopBuyItemScRsp => "CmdChimeraDuelShopBuyItemScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KEHIGDEPKMK_GKJBAODJMJG" => Some(Self::KehigdepkmkGkjbaodjmjg),
            "CmdChimeraDuelGetFriendListCsReq" => {
                Some(Self::CmdChimeraDuelGetFriendListCsReq)
            }
            "CmdChimeraDuelShopRefreshCsReq" => {
                Some(Self::CmdChimeraDuelShopRefreshCsReq)
            }
            "CmdChimeraDuelSelectGameScRsp" => Some(Self::CmdChimeraDuelSelectGameScRsp),
            "CmdChimeraDuelSyncChangeScNotify" => {
                Some(Self::CmdChimeraDuelSyncChangeScNotify)
            }
            "CmdChimeraDuelSetFriendDefendLineupCsReq" => {
                Some(Self::CmdChimeraDuelSetFriendDefendLineupCsReq)
            }
            "CmdChimeraDuelSelectGameCsReq" => Some(Self::CmdChimeraDuelSelectGameCsReq),
            "CmdChimeraDuelStartGameCsReq" => Some(Self::CmdChimeraDuelStartGameCsReq),
            "CmdChimeraDuelSellChimeraCsReq" => {
                Some(Self::CmdChimeraDuelSellChimeraCsReq)
            }
            "CmdChimeraDuelShopRefreshScRsp" => {
                Some(Self::CmdChimeraDuelShopRefreshScRsp)
            }
            "CmdChimeraDuelSaveFriendPvpLineupScRsp" => {
                Some(Self::CmdChimeraDuelSaveFriendPvpLineupScRsp)
            }
            "CmdChimeraDuelEndRoundBattleStageScRsp" => {
                Some(Self::CmdChimeraDuelEndRoundBattleStageScRsp)
            }
            "CmdChimeraDuelChangeLineupCsReq" => {
                Some(Self::CmdChimeraDuelChangeLineupCsReq)
            }
            "CmdChimeraDuelFinishMasterChallengeCsReq" => {
                Some(Self::CmdChimeraDuelFinishMasterChallengeCsReq)
            }
            "CmdChimeraDuelUnlockMasterScRsp" => {
                Some(Self::CmdChimeraDuelUnlockMasterScRsp)
            }
            "CmdChimeraDuelSaveFriendPvpLineupCsReq" => {
                Some(Self::CmdChimeraDuelSaveFriendPvpLineupCsReq)
            }
            "CmdChimeraDuelEndGameScRsp" => Some(Self::CmdChimeraDuelEndGameScRsp),
            "CmdChimeraDuelGetDataScRsp" => Some(Self::CmdChimeraDuelGetDataScRsp),
            "CmdChimeraDuelSellChimeraScRsp" => {
                Some(Self::CmdChimeraDuelSellChimeraScRsp)
            }
            "CmdChimeraDuelShopBuyChimeraScRsp" => {
                Some(Self::CmdChimeraDuelShopBuyChimeraScRsp)
            }
            "CmdChimeraDuelShopLockCsReq" => Some(Self::CmdChimeraDuelShopLockCsReq),
            "CmdChimeraDuelGetDataCsReq" => Some(Self::CmdChimeraDuelGetDataCsReq),
            "CmdChimeraDuelEndRoundShopStageCsReq" => {
                Some(Self::CmdChimeraDuelEndRoundShopStageCsReq)
            }
            "CmdChimeraDuelUnlockMasterCsReq" => {
                Some(Self::CmdChimeraDuelUnlockMasterCsReq)
            }
            "CmdChimeraDuelEndGameCsReq" => Some(Self::CmdChimeraDuelEndGameCsReq),
            "CmdChimeraDuelShopBuyItemCsReq" => {
                Some(Self::CmdChimeraDuelShopBuyItemCsReq)
            }
            "CmdChimeraDuelStartGameScRsp" => Some(Self::CmdChimeraDuelStartGameScRsp),
            "CmdChimeraDuelChangeLineupScRsp" => {
                Some(Self::CmdChimeraDuelChangeLineupScRsp)
            }
            "CmdChimeraDuelFinishMasterChallengeScRsp" => {
                Some(Self::CmdChimeraDuelFinishMasterChallengeScRsp)
            }
            "CmdReceive" => Some(Self::CmdReceive),
            "CmdChimeraDuelEndRoundShopStageScRsp" => {
                Some(Self::CmdChimeraDuelEndRoundShopStageScRsp)
            }
            "CmdChimeraDuelSetFriendDefendLineupScRsp" => {
                Some(Self::CmdChimeraDuelSetFriendDefendLineupScRsp)
            }
            "CmdChimeraDuelEndRoundBattleStageCsReq" => {
                Some(Self::CmdChimeraDuelEndRoundBattleStageCsReq)
            }
            "CmdChimeraDuelShopLockScRsp" => Some(Self::CmdChimeraDuelShopLockScRsp),
            "CmdChimeraDuelShopBuyChimeraCsReq" => {
                Some(Self::CmdChimeraDuelShopBuyChimeraCsReq)
            }
            "CmdChimeraDuelShopBuyItemScRsp" => {
                Some(Self::CmdChimeraDuelShopBuyItemScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgmbmmadoai {
    Gkjbaodjmjg = 0,
    Emghbgbolib = 1,
    Odmlglllfhi = 2,
    Jlbklkicldf = 3,
    Codlmdgoabm = 4,
    Hleoicfjjoo = 5,
}
impl Hgmbmmadoai {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HGMBMMADOAI_GKJBAODJMJG",
            Self::Emghbgbolib => "HGMBMMADOAI_EMGHBGBOLIB",
            Self::Odmlglllfhi => "HGMBMMADOAI_ODMLGLLLFHI",
            Self::Jlbklkicldf => "HGMBMMADOAI_JLBKLKICLDF",
            Self::Codlmdgoabm => "HGMBMMADOAI_CODLMDGOABM",
            Self::Hleoicfjjoo => "HGMBMMADOAI_HLEOICFJJOO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HGMBMMADOAI_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HGMBMMADOAI_EMGHBGBOLIB" => Some(Self::Emghbgbolib),
            "HGMBMMADOAI_ODMLGLLLFHI" => Some(Self::Odmlglllfhi),
            "HGMBMMADOAI_JLBKLKICLDF" => Some(Self::Jlbklkicldf),
            "HGMBMMADOAI_CODLMDGOABM" => Some(Self::Codlmdgoabm),
            "HGMBMMADOAI_HLEOICFJJOO" => Some(Self::Hleoicfjjoo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Djnmelmaoll {
    Gkjbaodjmjg = 0,
    Efkbgnbhenk = 1,
    Lnbmmelmljn = 2,
    Diannkkgfjd = 3,
}
impl Djnmelmaoll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "DJNMELMAOLL_GKJBAODJMJG",
            Self::Efkbgnbhenk => "DJNMELMAOLL_EFKBGNBHENK",
            Self::Lnbmmelmljn => "DJNMELMAOLL_LNBMMELMLJN",
            Self::Diannkkgfjd => "DJNMELMAOLL_DIANNKKGFJD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DJNMELMAOLL_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "DJNMELMAOLL_EFKBGNBHENK" => Some(Self::Efkbgnbhenk),
            "DJNMELMAOLL_LNBMMELMLJN" => Some(Self::Lnbmmelmljn),
            "DJNMELMAOLL_DIANNKKGFJD" => Some(Self::Diannkkgfjd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdbkjfgapgl {
    Ndmgbbjcmgf = 0,
    Addopiljdka = 1,
    Bdhbleackho = 2,
}
impl Jdbkjfgapgl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ndmgbbjcmgf => "JDBKJFGAPGL_NDMGBBJCMGF",
            Self::Addopiljdka => "JDBKJFGAPGL_ADDOPILJDKA",
            Self::Bdhbleackho => "JDBKJFGAPGL_BDHBLEACKHO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JDBKJFGAPGL_NDMGBBJCMGF" => Some(Self::Ndmgbbjcmgf),
            "JDBKJFGAPGL_ADDOPILJDKA" => Some(Self::Addopiljdka),
            "JDBKJFGAPGL_BDHBLEACKHO" => Some(Self::Bdhbleackho),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijdnojkmldd {
    Gkjbaodjmjg = 0,
    Clhdfmdhejk = 1,
    Babchmedbbm = 2,
}
impl Ijdnojkmldd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IJDNOJKMLDD_GKJBAODJMJG",
            Self::Clhdfmdhejk => "IJDNOJKMLDD_CLHDFMDHEJK",
            Self::Babchmedbbm => "IJDNOJKMLDD_BABCHMEDBBM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IJDNOJKMLDD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IJDNOJKMLDD_CLHDFMDHEJK" => Some(Self::Clhdfmdhejk),
            "IJDNOJKMLDD_BABCHMEDBBM" => Some(Self::Babchmedbbm),
            _ => None,
        }
    }
}
/// Obf: IEIPOIIIPEE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClockParkType {
    IeipoiiipeeGkjbaodjmjg = 0,
    CmdIclfmaopngi = 7201,
    CmdClockParkQuitScriptCsReq = 7231,
    CmdClockParkGetOngoingScriptInfoScRsp = 7206,
    CmdClockParkGetInfoCsReq = 7250,
    CmdClockParkUnlockTalentScRsp = 7233,
    CmdClockParkStartScriptCsReq = 7247,
    CmdClockParkUnlockTalentCsReq = 7239,
    CmdIpnomnegjjg = 7229,
    CmdClockParkFinishScriptScNotify = 7221,
    CmdNcdeopolpnk = 7211,
    CmdClockParkGetOngoingScriptInfoCsReq = 7208,
    CmdClockParkGetInfoScRsp = 7249,
    CmdClockParkStartScriptScRsp = 7235,
    CmdClockParkUseBuffCsReq = 7238,
    CmdClockParkHandleWaitPlaceDiceOperationCsReq = 7243,
    CmdClockParkHandleWaitOperationScRsp = 7203,
}
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 {
            Self::IeipoiiipeeGkjbaodjmjg => "IEIPOIIIPEE_GKJBAODJMJG",
            Self::CmdIclfmaopngi => "CmdICLFMAOPNGI",
            Self::CmdClockParkQuitScriptCsReq => "CmdClockParkQuitScriptCsReq",
            Self::CmdClockParkGetOngoingScriptInfoScRsp => {
                "CmdClockParkGetOngoingScriptInfoScRsp"
            }
            Self::CmdClockParkGetInfoCsReq => "CmdClockParkGetInfoCsReq",
            Self::CmdClockParkUnlockTalentScRsp => "CmdClockParkUnlockTalentScRsp",
            Self::CmdClockParkStartScriptCsReq => "CmdClockParkStartScriptCsReq",
            Self::CmdClockParkUnlockTalentCsReq => "CmdClockParkUnlockTalentCsReq",
            Self::CmdIpnomnegjjg => "CmdIPNOMNEGJJG",
            Self::CmdClockParkFinishScriptScNotify => "CmdClockParkFinishScriptScNotify",
            Self::CmdNcdeopolpnk => "CmdNCDEOPOLPNK",
            Self::CmdClockParkGetOngoingScriptInfoCsReq => {
                "CmdClockParkGetOngoingScriptInfoCsReq"
            }
            Self::CmdClockParkGetInfoScRsp => "CmdClockParkGetInfoScRsp",
            Self::CmdClockParkStartScriptScRsp => "CmdClockParkStartScriptScRsp",
            Self::CmdClockParkUseBuffCsReq => "CmdClockParkUseBuffCsReq",
            Self::CmdClockParkHandleWaitPlaceDiceOperationCsReq => {
                "CmdClockParkHandleWaitPlaceDiceOperationCsReq"
            }
            Self::CmdClockParkHandleWaitOperationScRsp => {
                "CmdClockParkHandleWaitOperationScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IEIPOIIIPEE_GKJBAODJMJG" => Some(Self::IeipoiiipeeGkjbaodjmjg),
            "CmdICLFMAOPNGI" => Some(Self::CmdIclfmaopngi),
            "CmdClockParkQuitScriptCsReq" => Some(Self::CmdClockParkQuitScriptCsReq),
            "CmdClockParkGetOngoingScriptInfoScRsp" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoScRsp)
            }
            "CmdClockParkGetInfoCsReq" => Some(Self::CmdClockParkGetInfoCsReq),
            "CmdClockParkUnlockTalentScRsp" => Some(Self::CmdClockParkUnlockTalentScRsp),
            "CmdClockParkStartScriptCsReq" => Some(Self::CmdClockParkStartScriptCsReq),
            "CmdClockParkUnlockTalentCsReq" => Some(Self::CmdClockParkUnlockTalentCsReq),
            "CmdIPNOMNEGJJG" => Some(Self::CmdIpnomnegjjg),
            "CmdClockParkFinishScriptScNotify" => {
                Some(Self::CmdClockParkFinishScriptScNotify)
            }
            "CmdNCDEOPOLPNK" => Some(Self::CmdNcdeopolpnk),
            "CmdClockParkGetOngoingScriptInfoCsReq" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoCsReq)
            }
            "CmdClockParkGetInfoScRsp" => Some(Self::CmdClockParkGetInfoScRsp),
            "CmdClockParkStartScriptScRsp" => Some(Self::CmdClockParkStartScriptScRsp),
            "CmdClockParkUseBuffCsReq" => Some(Self::CmdClockParkUseBuffCsReq),
            "CmdClockParkHandleWaitPlaceDiceOperationCsReq" => {
                Some(Self::CmdClockParkHandleWaitPlaceDiceOperationCsReq)
            }
            "CmdClockParkHandleWaitOperationScRsp" => {
                Some(Self::CmdClockParkHandleWaitOperationScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: DIBHKIDMGEM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClockParkPlayStatus {
    DibhkidmgemDnpdohphlpg = 0,
    DibhkidmgemCopdekipoab = 1,
    DibhkidmgemCijfmkbmdib = 2,
    DibhkidmgemLnbenikpinb = 5,
}
impl ClockParkPlayStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DibhkidmgemDnpdohphlpg => "DIBHKIDMGEM_DNPDOHPHLPG",
            Self::DibhkidmgemCopdekipoab => "DIBHKIDMGEM_COPDEKIPOAB",
            Self::DibhkidmgemCijfmkbmdib => "DIBHKIDMGEM_CIJFMKBMDIB",
            Self::DibhkidmgemLnbenikpinb => "DIBHKIDMGEM_LNBENIKPINB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIBHKIDMGEM_DNPDOHPHLPG" => Some(Self::DibhkidmgemDnpdohphlpg),
            "DIBHKIDMGEM_COPDEKIPOAB" => Some(Self::DibhkidmgemCopdekipoab),
            "DIBHKIDMGEM_CIJFMKBMDIB" => Some(Self::DibhkidmgemCijfmkbmdib),
            "DIBHKIDMGEM_LNBENIKPINB" => Some(Self::DibhkidmgemLnbenikpinb),
            _ => None,
        }
    }
}
/// Obf: BJPIKIADOIG
#[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 {
            Self::MissionNone => "MISSION_NONE",
            Self::MissionDoing => "MISSION_DOING",
            Self::MissionFinish => "MISSION_FINISH",
            Self::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,
        }
    }
}
/// Obf: OCCCJEBAAHB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MessageSectionStatus {
    MessageSectionNone = 0,
    MessageSectionDoing = 1,
    MessageSectionFinish = 2,
    MessageSectionFrozen = 3,
}
impl MessageSectionStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MessageSectionNone => "MESSAGE_SECTION_NONE",
            Self::MessageSectionDoing => "MESSAGE_SECTION_DOING",
            Self::MessageSectionFinish => "MESSAGE_SECTION_FINISH",
            Self::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,
        }
    }
}
/// Obf: FKOMIDPFKFH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MessageGroupStatus {
    MessageGroupNone = 0,
    MessageGroupDoing = 1,
    MessageGroupFinish = 2,
    MessageGroupFrozen = 3,
}
impl MessageGroupStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MessageGroupNone => "MESSAGE_GROUP_NONE",
            Self::MessageGroupDoing => "MESSAGE_GROUP_DOING",
            Self::MessageGroupFinish => "MESSAGE_GROUP_FINISH",
            Self::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,
        }
    }
}
/// Obf: AKHHEGHJIOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleRecordType {
    BattleRecordNone = 0,
    BattleRecordChallenge = 1,
    BattleRecordRogue = 2,
}
impl BattleRecordType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BattleRecordNone => "BATTLE_RECORD_NONE",
            Self::BattleRecordChallenge => "BATTLE_RECORD_CHALLENGE",
            Self::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,
        }
    }
}
/// Obf: IKMMCHDFDDK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RebattleType {
    None = 0,
    RebattleMidway = 1,
    RebattleLose = 2,
    RebattleMidwayLineup = 3,
    RebattleLoseLineup = 4,
    QuitMidway = 5,
    QuitLose = 6,
}
impl RebattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "REBATTLE_TYPE_NONE",
            Self::RebattleMidway => "REBATTLE_TYPE_REBATTLE_MIDWAY",
            Self::RebattleLose => "REBATTLE_TYPE_REBATTLE_LOSE",
            Self::RebattleMidwayLineup => "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP",
            Self::RebattleLoseLineup => "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP",
            Self::QuitMidway => "REBATTLE_TYPE_QUIT_MIDWAY",
            Self::QuitLose => "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::None),
            "REBATTLE_TYPE_REBATTLE_MIDWAY" => Some(Self::RebattleMidway),
            "REBATTLE_TYPE_REBATTLE_LOSE" => Some(Self::RebattleLose),
            "REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP" => Some(Self::RebattleMidwayLineup),
            "REBATTLE_TYPE_REBATTLE_LOSE_LINEUP" => Some(Self::RebattleLoseLineup),
            "REBATTLE_TYPE_QUIT_MIDWAY" => Some(Self::QuitMidway),
            "REBATTLE_TYPE_QUIT_LOSE" => Some(Self::QuitLose),
            _ => None,
        }
    }
}
/// Obf: ILHIFKKEDKB
#[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 {
            Self::None => "ContentPackageStatus_None",
            Self::Init => "ContentPackageStatus_Init",
            Self::Doing => "ContentPackageStatus_Doing",
            Self::Finished => "ContentPackageStatus_Finished",
            Self::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: LIJEFKEOODF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdContentPackageType {
    LijefkeoodfGkjbaodjmjg = 0,
    CmdContentPackageGetDataScRsp = 7549,
    CmdContentPackageSyncDataScNotify = 7524,
    CmdContentPackageTransferScNotify = 7533,
    LijefkeoodfIbggfkldpjm = 7550,
}
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 {
            Self::LijefkeoodfGkjbaodjmjg => "LIJEFKEOODF_GKJBAODJMJG",
            Self::CmdContentPackageGetDataScRsp => "CmdContentPackageGetDataScRsp",
            Self::CmdContentPackageSyncDataScNotify => {
                "CmdContentPackageSyncDataScNotify"
            }
            Self::CmdContentPackageTransferScNotify => {
                "CmdContentPackageTransferScNotify"
            }
            Self::LijefkeoodfIbggfkldpjm => "LIJEFKEOODF_IBGGFKLDPJM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LIJEFKEOODF_GKJBAODJMJG" => Some(Self::LijefkeoodfGkjbaodjmjg),
            "CmdContentPackageGetDataScRsp" => Some(Self::CmdContentPackageGetDataScRsp),
            "CmdContentPackageSyncDataScNotify" => {
                Some(Self::CmdContentPackageSyncDataScNotify)
            }
            "CmdContentPackageTransferScNotify" => {
                Some(Self::CmdContentPackageTransferScNotify)
            }
            "LIJEFKEOODF_IBGGFKLDPJM" => Some(Self::LijefkeoodfIbggfkldpjm),
            _ => None,
        }
    }
}
/// Obf: IPJKCMMGAGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDailyActiveType {
    IpjkcmmgaghGkjbaodjmjg = 0,
    CmdGetDailyActiveInfoCsReq = 3355,
    CmdDailyActiveInfoNotify = 3338,
    CmdTakeAllApRewardScRsp = 3347,
    CmdTakeApRewardScRsp = 3328,
    CmdTakeApRewardCsReq = 3357,
    CmdGetDailyActiveInfoScRsp = 3375,
    CmdTakeAllApRewardCsReq = 3362,
}
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 {
            Self::IpjkcmmgaghGkjbaodjmjg => "IPJKCMMGAGH_GKJBAODJMJG",
            Self::CmdGetDailyActiveInfoCsReq => "CmdGetDailyActiveInfoCsReq",
            Self::CmdDailyActiveInfoNotify => "CmdDailyActiveInfoNotify",
            Self::CmdTakeAllApRewardScRsp => "CmdTakeAllApRewardScRsp",
            Self::CmdTakeApRewardScRsp => "CmdTakeApRewardScRsp",
            Self::CmdTakeApRewardCsReq => "CmdTakeApRewardCsReq",
            Self::CmdGetDailyActiveInfoScRsp => "CmdGetDailyActiveInfoScRsp",
            Self::CmdTakeAllApRewardCsReq => "CmdTakeAllApRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IPJKCMMGAGH_GKJBAODJMJG" => Some(Self::IpjkcmmgaghGkjbaodjmjg),
            "CmdGetDailyActiveInfoCsReq" => Some(Self::CmdGetDailyActiveInfoCsReq),
            "CmdDailyActiveInfoNotify" => Some(Self::CmdDailyActiveInfoNotify),
            "CmdTakeAllApRewardScRsp" => Some(Self::CmdTakeAllApRewardScRsp),
            "CmdTakeApRewardScRsp" => Some(Self::CmdTakeApRewardScRsp),
            "CmdTakeApRewardCsReq" => Some(Self::CmdTakeApRewardCsReq),
            "CmdGetDailyActiveInfoScRsp" => Some(Self::CmdGetDailyActiveInfoScRsp),
            "CmdTakeAllApRewardCsReq" => Some(Self::CmdTakeAllApRewardCsReq),
            _ => None,
        }
    }
}
/// Obf: PKKLPELBABH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDiceCombatType {
    PkklpelbabhGkjbaodjmjg = 0,
    CmdDiceCombatBuyShopGoodReq = 9280,
    CmdGetShopDataScRsp = 9285,
    CmdDiceCombatFinishPveStageCsReq = 9291,
    CmdFinishPveStageScRsp = 9288,
    CmdBuyShopGoodScRsp = 9261,
    CmdMgphhdneokp = 9295,
    CmdGetSystemDataRsp = 9300,
    CmdOghamlodobp = 9275,
    CmdModifyAvatarDiceRsp = 9294,
    CmdAddItemRsp = 9299,
    CmdDiceCombatUpgradeAvatarCsReq = 9289,
    CmdDiceCombatModifyAvatarDiceCsReq = 9279,
    CmdGetDiceCombatShopDataReq = 9284,
    CmdGetDiceCombatSystemDataReq = 9286,
    CmdUpgradeAvatarRsp = 9271,
    CmdDiceCombatMainPageRollDiceCsReq = 9293,
}
impl CmdDiceCombatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PkklpelbabhGkjbaodjmjg => "PKKLPELBABH_GKJBAODJMJG",
            Self::CmdDiceCombatBuyShopGoodReq => "CmdDiceCombatBuyShopGoodReq",
            Self::CmdGetShopDataScRsp => "CmdGetShopDataScRsp",
            Self::CmdDiceCombatFinishPveStageCsReq => "CmdDiceCombatFinishPveStageCsReq",
            Self::CmdFinishPveStageScRsp => "CmdFinishPveStageScRsp",
            Self::CmdBuyShopGoodScRsp => "CmdBuyShopGoodScRsp",
            Self::CmdMgphhdneokp => "CmdMGPHHDNEOKP",
            Self::CmdGetSystemDataRsp => "CmdGetSystemDataRsp",
            Self::CmdOghamlodobp => "CmdOGHAMLODOBP",
            Self::CmdModifyAvatarDiceRsp => "CmdModifyAvatarDiceRsp",
            Self::CmdAddItemRsp => "CmdAddItemRsp",
            Self::CmdDiceCombatUpgradeAvatarCsReq => "CmdDiceCombatUpgradeAvatarCsReq",
            Self::CmdDiceCombatModifyAvatarDiceCsReq => {
                "CmdDiceCombatModifyAvatarDiceCsReq"
            }
            Self::CmdGetDiceCombatShopDataReq => "CmdGetDiceCombatShopDataReq",
            Self::CmdGetDiceCombatSystemDataReq => "CmdGetDiceCombatSystemDataReq",
            Self::CmdUpgradeAvatarRsp => "CmdUpgradeAvatarRsp",
            Self::CmdDiceCombatMainPageRollDiceCsReq => {
                "CmdDiceCombatMainPageRollDiceCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PKKLPELBABH_GKJBAODJMJG" => Some(Self::PkklpelbabhGkjbaodjmjg),
            "CmdDiceCombatBuyShopGoodReq" => Some(Self::CmdDiceCombatBuyShopGoodReq),
            "CmdGetShopDataScRsp" => Some(Self::CmdGetShopDataScRsp),
            "CmdDiceCombatFinishPveStageCsReq" => {
                Some(Self::CmdDiceCombatFinishPveStageCsReq)
            }
            "CmdFinishPveStageScRsp" => Some(Self::CmdFinishPveStageScRsp),
            "CmdBuyShopGoodScRsp" => Some(Self::CmdBuyShopGoodScRsp),
            "CmdMGPHHDNEOKP" => Some(Self::CmdMgphhdneokp),
            "CmdGetSystemDataRsp" => Some(Self::CmdGetSystemDataRsp),
            "CmdOGHAMLODOBP" => Some(Self::CmdOghamlodobp),
            "CmdModifyAvatarDiceRsp" => Some(Self::CmdModifyAvatarDiceRsp),
            "CmdAddItemRsp" => Some(Self::CmdAddItemRsp),
            "CmdDiceCombatUpgradeAvatarCsReq" => {
                Some(Self::CmdDiceCombatUpgradeAvatarCsReq)
            }
            "CmdDiceCombatModifyAvatarDiceCsReq" => {
                Some(Self::CmdDiceCombatModifyAvatarDiceCsReq)
            }
            "CmdGetDiceCombatShopDataReq" => Some(Self::CmdGetDiceCombatShopDataReq),
            "CmdGetDiceCombatSystemDataReq" => Some(Self::CmdGetDiceCombatSystemDataReq),
            "CmdUpgradeAvatarRsp" => Some(Self::CmdUpgradeAvatarRsp),
            "CmdDiceCombatMainPageRollDiceCsReq" => {
                Some(Self::CmdDiceCombatMainPageRollDiceCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: LJHFHMBDLOF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDrinkMakerType {
    LjhfhmbdlofGkjbaodjmjg = 0,
    CmdMakeDrinkCsReq = 6986,
    CmdDrinkMakerChallengeCsReq = 6998,
    CmdDrinkMakerCheersMakeDrinkScRsp = 6987,
    CmdEndDrinkMakerSequenceCsReq = 6992,
    CmdGetDrinkMakerDataCsReq = 6990,
    CmdDrinkMakerCheersGetDataScRsp = 6999,
    CmdGetDrinkMakerDataScRsp = 6984,
    CmdDrinkMakerCheersEnterNextGroupCsReq = 6988,
    CmdMakeMissionDrinkCsReq = 7000,
    CmdMakeDrinkScRsp = 6981,
    CmdDrinkMakerChallengeScRsp = 6993,
    CmdDrinkMakerUpdateTipsNotify = 6989,
    CmdMakeMissionDrinkScRsp = 6995,
    CmdEndDrinkMakerSequenceScRsp = 6991,
    CmdGetDrinkMakerDayEndScNotify = 6996,
    CmdDrinkMakerCheersMakeDrinkCsReq = 6983,
    CmdDrinkMakerCheersGetDataCsReq = 6997,
    CmdDrinkMakerCheersEnterNextGroupScRsp = 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 {
            Self::LjhfhmbdlofGkjbaodjmjg => "LJHFHMBDLOF_GKJBAODJMJG",
            Self::CmdMakeDrinkCsReq => "CmdMakeDrinkCsReq",
            Self::CmdDrinkMakerChallengeCsReq => "CmdDrinkMakerChallengeCsReq",
            Self::CmdDrinkMakerCheersMakeDrinkScRsp => {
                "CmdDrinkMakerCheersMakeDrinkScRsp"
            }
            Self::CmdEndDrinkMakerSequenceCsReq => "CmdEndDrinkMakerSequenceCsReq",
            Self::CmdGetDrinkMakerDataCsReq => "CmdGetDrinkMakerDataCsReq",
            Self::CmdDrinkMakerCheersGetDataScRsp => "CmdDrinkMakerCheersGetDataScRsp",
            Self::CmdGetDrinkMakerDataScRsp => "CmdGetDrinkMakerDataScRsp",
            Self::CmdDrinkMakerCheersEnterNextGroupCsReq => {
                "CmdDrinkMakerCheersEnterNextGroupCsReq"
            }
            Self::CmdMakeMissionDrinkCsReq => "CmdMakeMissionDrinkCsReq",
            Self::CmdMakeDrinkScRsp => "CmdMakeDrinkScRsp",
            Self::CmdDrinkMakerChallengeScRsp => "CmdDrinkMakerChallengeScRsp",
            Self::CmdDrinkMakerUpdateTipsNotify => "CmdDrinkMakerUpdateTipsNotify",
            Self::CmdMakeMissionDrinkScRsp => "CmdMakeMissionDrinkScRsp",
            Self::CmdEndDrinkMakerSequenceScRsp => "CmdEndDrinkMakerSequenceScRsp",
            Self::CmdGetDrinkMakerDayEndScNotify => "CmdGetDrinkMakerDayEndScNotify",
            Self::CmdDrinkMakerCheersMakeDrinkCsReq => {
                "CmdDrinkMakerCheersMakeDrinkCsReq"
            }
            Self::CmdDrinkMakerCheersGetDataCsReq => "CmdDrinkMakerCheersGetDataCsReq",
            Self::CmdDrinkMakerCheersEnterNextGroupScRsp => {
                "CmdDrinkMakerCheersEnterNextGroupScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LJHFHMBDLOF_GKJBAODJMJG" => Some(Self::LjhfhmbdlofGkjbaodjmjg),
            "CmdMakeDrinkCsReq" => Some(Self::CmdMakeDrinkCsReq),
            "CmdDrinkMakerChallengeCsReq" => Some(Self::CmdDrinkMakerChallengeCsReq),
            "CmdDrinkMakerCheersMakeDrinkScRsp" => {
                Some(Self::CmdDrinkMakerCheersMakeDrinkScRsp)
            }
            "CmdEndDrinkMakerSequenceCsReq" => Some(Self::CmdEndDrinkMakerSequenceCsReq),
            "CmdGetDrinkMakerDataCsReq" => Some(Self::CmdGetDrinkMakerDataCsReq),
            "CmdDrinkMakerCheersGetDataScRsp" => {
                Some(Self::CmdDrinkMakerCheersGetDataScRsp)
            }
            "CmdGetDrinkMakerDataScRsp" => Some(Self::CmdGetDrinkMakerDataScRsp),
            "CmdDrinkMakerCheersEnterNextGroupCsReq" => {
                Some(Self::CmdDrinkMakerCheersEnterNextGroupCsReq)
            }
            "CmdMakeMissionDrinkCsReq" => Some(Self::CmdMakeMissionDrinkCsReq),
            "CmdMakeDrinkScRsp" => Some(Self::CmdMakeDrinkScRsp),
            "CmdDrinkMakerChallengeScRsp" => Some(Self::CmdDrinkMakerChallengeScRsp),
            "CmdDrinkMakerUpdateTipsNotify" => Some(Self::CmdDrinkMakerUpdateTipsNotify),
            "CmdMakeMissionDrinkScRsp" => Some(Self::CmdMakeMissionDrinkScRsp),
            "CmdEndDrinkMakerSequenceScRsp" => Some(Self::CmdEndDrinkMakerSequenceScRsp),
            "CmdGetDrinkMakerDayEndScNotify" => {
                Some(Self::CmdGetDrinkMakerDayEndScNotify)
            }
            "CmdDrinkMakerCheersMakeDrinkCsReq" => {
                Some(Self::CmdDrinkMakerCheersMakeDrinkCsReq)
            }
            "CmdDrinkMakerCheersGetDataCsReq" => {
                Some(Self::CmdDrinkMakerCheersGetDataCsReq)
            }
            "CmdDrinkMakerCheersEnterNextGroupScRsp" => {
                Some(Self::CmdDrinkMakerCheersEnterNextGroupScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: JJHENFIKOIA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdElationActivityType {
    JjhenfikoiaGkjbaodjmjg = 0,
    CmdGetElationActivityDataScRsp = 9108,
    CmdGetActivityElationDataCsReq = 9110,
    CmdEnterElationActivityStageCsReq = 9104,
    CmdEnterElationActivityStageScRsp = 9105,
    CmdElationActivityBattleEndScNotify = 9109,
}
impl CmdElationActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JjhenfikoiaGkjbaodjmjg => "JJHENFIKOIA_GKJBAODJMJG",
            Self::CmdGetElationActivityDataScRsp => "CmdGetElationActivityDataScRsp",
            Self::CmdGetActivityElationDataCsReq => "CmdGetActivityElationDataCsReq",
            Self::CmdEnterElationActivityStageCsReq => {
                "CmdEnterElationActivityStageCsReq"
            }
            Self::CmdEnterElationActivityStageScRsp => {
                "CmdEnterElationActivityStageScRsp"
            }
            Self::CmdElationActivityBattleEndScNotify => {
                "CmdElationActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JJHENFIKOIA_GKJBAODJMJG" => Some(Self::JjhenfikoiaGkjbaodjmjg),
            "CmdGetElationActivityDataScRsp" => {
                Some(Self::CmdGetElationActivityDataScRsp)
            }
            "CmdGetActivityElationDataCsReq" => {
                Some(Self::CmdGetActivityElationDataCsReq)
            }
            "CmdEnterElationActivityStageCsReq" => {
                Some(Self::CmdEnterElationActivityStageCsReq)
            }
            "CmdEnterElationActivityStageScRsp" => {
                Some(Self::CmdEnterElationActivityStageScRsp)
            }
            "CmdElationActivityBattleEndScNotify" => {
                Some(Self::CmdElationActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: OKENNGAAHIE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdElfRestaurantType {
    OkenngaahieGkjbaodjmjg = 0,
    CmdHoedchhanpl = 2561,
    CmdElfRestaurantFinishTradeOrderCsReq = 2595,
    CmdElfRestaurantFinishTradeOrderScRsp = 2598,
    CmdElfRestaurantRecycleSeedScRsp = 2579,
    OkenngaahieAhopcmieama = 2572,
    CmdGlchpeffcbl = 2570,
    CmdElfRestaurantHarvestCropScRsp = 2553,
    CmdElfRestaurantHarvestCropCsReq = 2593,
    CmdElfRestaurantTakeVillagerRewardScRsp = 2573,
    CmdElfRestaurantPlantSeedCsReq = 2558,
    CmdLpmncccmebo = 2585,
    CmdElfRestaurantTakeVillagerRewardCsReq = 2576,
    CmdGetElfRestaurantDataScRsp = 2599,
    CmdElfRestaurantPlantSeedScRsp = 2556,
    CmdElfRestaurantUpgradeFacilityLevelCsReq = 2588,
    CmdElfRestaurantBuyShopItemScRsp = 2596,
    CmdSettleElfRestaurantPlayCsReq = 2587,
    CmdJamkmlfkhlp = 2590,
    CmdElfRestaurantBuyFieldCsReq = 2597,
    CmdEnterElfRestaurantNextDayCsReq = 2574,
    CmdElfRestaurantDataChangeNotify = 2583,
    CmdGinlaepckfa = 2557,
    CmdElfRestaurantUpgradeRecipeLevelCsReq = 2571,
    CmdElfRestaurantUpgradeEmployeeLevelCsReq = 2551,
    CmdElfRestaurantClientStatusCsReq = 2565,
    CmdElfRestaurantRecycleSeedCsReq = 2581,
    CmdGetElfRestaurantDataCsReq = 2600,
    OkenngaahieAfhggpaolnj = 2569,
    CmdSetElfRestaurantPlayRecipeCsReq = 2586,
    CmdElfRestaurantBuyShopItemCsReq = 2552,
    CmdLiinmfdjoof = 2578,
    CmdFoaaleipljk = 2555,
    CmdDkfakkmdgco = 2591,
}
impl CmdElfRestaurantType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OkenngaahieGkjbaodjmjg => "OKENNGAAHIE_GKJBAODJMJG",
            Self::CmdHoedchhanpl => "CmdHOEDCHHANPL",
            Self::CmdElfRestaurantFinishTradeOrderCsReq => {
                "CmdElfRestaurantFinishTradeOrderCsReq"
            }
            Self::CmdElfRestaurantFinishTradeOrderScRsp => {
                "CmdElfRestaurantFinishTradeOrderScRsp"
            }
            Self::CmdElfRestaurantRecycleSeedScRsp => "CmdElfRestaurantRecycleSeedScRsp",
            Self::OkenngaahieAhopcmieama => "OKENNGAAHIE_AHOPCMIEAMA",
            Self::CmdGlchpeffcbl => "CmdGLCHPEFFCBL",
            Self::CmdElfRestaurantHarvestCropScRsp => "CmdElfRestaurantHarvestCropScRsp",
            Self::CmdElfRestaurantHarvestCropCsReq => "CmdElfRestaurantHarvestCropCsReq",
            Self::CmdElfRestaurantTakeVillagerRewardScRsp => {
                "CmdElfRestaurantTakeVillagerRewardScRsp"
            }
            Self::CmdElfRestaurantPlantSeedCsReq => "CmdElfRestaurantPlantSeedCsReq",
            Self::CmdLpmncccmebo => "CmdLPMNCCCMEBO",
            Self::CmdElfRestaurantTakeVillagerRewardCsReq => {
                "CmdElfRestaurantTakeVillagerRewardCsReq"
            }
            Self::CmdGetElfRestaurantDataScRsp => "CmdGetElfRestaurantDataScRsp",
            Self::CmdElfRestaurantPlantSeedScRsp => "CmdElfRestaurantPlantSeedScRsp",
            Self::CmdElfRestaurantUpgradeFacilityLevelCsReq => {
                "CmdElfRestaurantUpgradeFacilityLevelCsReq"
            }
            Self::CmdElfRestaurantBuyShopItemScRsp => "CmdElfRestaurantBuyShopItemScRsp",
            Self::CmdSettleElfRestaurantPlayCsReq => "CmdSettleElfRestaurantPlayCsReq",
            Self::CmdJamkmlfkhlp => "CmdJAMKMLFKHLP",
            Self::CmdElfRestaurantBuyFieldCsReq => "CmdElfRestaurantBuyFieldCsReq",
            Self::CmdEnterElfRestaurantNextDayCsReq => {
                "CmdEnterElfRestaurantNextDayCsReq"
            }
            Self::CmdElfRestaurantDataChangeNotify => "CmdElfRestaurantDataChangeNotify",
            Self::CmdGinlaepckfa => "CmdGINLAEPCKFA",
            Self::CmdElfRestaurantUpgradeRecipeLevelCsReq => {
                "CmdElfRestaurantUpgradeRecipeLevelCsReq"
            }
            Self::CmdElfRestaurantUpgradeEmployeeLevelCsReq => {
                "CmdElfRestaurantUpgradeEmployeeLevelCsReq"
            }
            Self::CmdElfRestaurantClientStatusCsReq => {
                "CmdElfRestaurantClientStatusCsReq"
            }
            Self::CmdElfRestaurantRecycleSeedCsReq => "CmdElfRestaurantRecycleSeedCsReq",
            Self::CmdGetElfRestaurantDataCsReq => "CmdGetElfRestaurantDataCsReq",
            Self::OkenngaahieAfhggpaolnj => "OKENNGAAHIE_AFHGGPAOLNJ",
            Self::CmdSetElfRestaurantPlayRecipeCsReq => {
                "CmdSetElfRestaurantPlayRecipeCsReq"
            }
            Self::CmdElfRestaurantBuyShopItemCsReq => "CmdElfRestaurantBuyShopItemCsReq",
            Self::CmdLiinmfdjoof => "CmdLIINMFDJOOF",
            Self::CmdFoaaleipljk => "CmdFOAALEIPLJK",
            Self::CmdDkfakkmdgco => "CmdDKFAKKMDGCO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OKENNGAAHIE_GKJBAODJMJG" => Some(Self::OkenngaahieGkjbaodjmjg),
            "CmdHOEDCHHANPL" => Some(Self::CmdHoedchhanpl),
            "CmdElfRestaurantFinishTradeOrderCsReq" => {
                Some(Self::CmdElfRestaurantFinishTradeOrderCsReq)
            }
            "CmdElfRestaurantFinishTradeOrderScRsp" => {
                Some(Self::CmdElfRestaurantFinishTradeOrderScRsp)
            }
            "CmdElfRestaurantRecycleSeedScRsp" => {
                Some(Self::CmdElfRestaurantRecycleSeedScRsp)
            }
            "OKENNGAAHIE_AHOPCMIEAMA" => Some(Self::OkenngaahieAhopcmieama),
            "CmdGLCHPEFFCBL" => Some(Self::CmdGlchpeffcbl),
            "CmdElfRestaurantHarvestCropScRsp" => {
                Some(Self::CmdElfRestaurantHarvestCropScRsp)
            }
            "CmdElfRestaurantHarvestCropCsReq" => {
                Some(Self::CmdElfRestaurantHarvestCropCsReq)
            }
            "CmdElfRestaurantTakeVillagerRewardScRsp" => {
                Some(Self::CmdElfRestaurantTakeVillagerRewardScRsp)
            }
            "CmdElfRestaurantPlantSeedCsReq" => {
                Some(Self::CmdElfRestaurantPlantSeedCsReq)
            }
            "CmdLPMNCCCMEBO" => Some(Self::CmdLpmncccmebo),
            "CmdElfRestaurantTakeVillagerRewardCsReq" => {
                Some(Self::CmdElfRestaurantTakeVillagerRewardCsReq)
            }
            "CmdGetElfRestaurantDataScRsp" => Some(Self::CmdGetElfRestaurantDataScRsp),
            "CmdElfRestaurantPlantSeedScRsp" => {
                Some(Self::CmdElfRestaurantPlantSeedScRsp)
            }
            "CmdElfRestaurantUpgradeFacilityLevelCsReq" => {
                Some(Self::CmdElfRestaurantUpgradeFacilityLevelCsReq)
            }
            "CmdElfRestaurantBuyShopItemScRsp" => {
                Some(Self::CmdElfRestaurantBuyShopItemScRsp)
            }
            "CmdSettleElfRestaurantPlayCsReq" => {
                Some(Self::CmdSettleElfRestaurantPlayCsReq)
            }
            "CmdJAMKMLFKHLP" => Some(Self::CmdJamkmlfkhlp),
            "CmdElfRestaurantBuyFieldCsReq" => Some(Self::CmdElfRestaurantBuyFieldCsReq),
            "CmdEnterElfRestaurantNextDayCsReq" => {
                Some(Self::CmdEnterElfRestaurantNextDayCsReq)
            }
            "CmdElfRestaurantDataChangeNotify" => {
                Some(Self::CmdElfRestaurantDataChangeNotify)
            }
            "CmdGINLAEPCKFA" => Some(Self::CmdGinlaepckfa),
            "CmdElfRestaurantUpgradeRecipeLevelCsReq" => {
                Some(Self::CmdElfRestaurantUpgradeRecipeLevelCsReq)
            }
            "CmdElfRestaurantUpgradeEmployeeLevelCsReq" => {
                Some(Self::CmdElfRestaurantUpgradeEmployeeLevelCsReq)
            }
            "CmdElfRestaurantClientStatusCsReq" => {
                Some(Self::CmdElfRestaurantClientStatusCsReq)
            }
            "CmdElfRestaurantRecycleSeedCsReq" => {
                Some(Self::CmdElfRestaurantRecycleSeedCsReq)
            }
            "CmdGetElfRestaurantDataCsReq" => Some(Self::CmdGetElfRestaurantDataCsReq),
            "OKENNGAAHIE_AFHGGPAOLNJ" => Some(Self::OkenngaahieAfhggpaolnj),
            "CmdSetElfRestaurantPlayRecipeCsReq" => {
                Some(Self::CmdSetElfRestaurantPlayRecipeCsReq)
            }
            "CmdElfRestaurantBuyShopItemCsReq" => {
                Some(Self::CmdElfRestaurantBuyShopItemCsReq)
            }
            "CmdLIINMFDJOOF" => Some(Self::CmdLiinmfdjoof),
            "CmdFOAALEIPLJK" => Some(Self::CmdFoaaleipljk),
            "CmdDKFAKKMDGCO" => Some(Self::CmdDkfakkmdgco),
            _ => None,
        }
    }
}
/// Obf: GPOEBEDJBGF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEraFlipperType {
    GpoebedjbgfGkjbaodjmjg = 0,
    CmdEnterEraFlipperDataCsReq = 6569,
    CmdGkcidnbobim = 6560,
    CmdIhbjcbnkgkk = 6575,
    CmdGetEraFlipperDataCsReq = 6551,
    CmdChangeEraFlipperDataCsReq = 6563,
    CmdNcdceeepida = 6554,
    CmdNcbdooeiopi = 6561,
    CmdResetEraFlipperDataCsReq = 6559,
    CmdDhjbbpldkjf = 6572,
}
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 {
            Self::GpoebedjbgfGkjbaodjmjg => "GPOEBEDJBGF_GKJBAODJMJG",
            Self::CmdEnterEraFlipperDataCsReq => "CmdEnterEraFlipperDataCsReq",
            Self::CmdGkcidnbobim => "CmdGKCIDNBOBIM",
            Self::CmdIhbjcbnkgkk => "CmdIHBJCBNKGKK",
            Self::CmdGetEraFlipperDataCsReq => "CmdGetEraFlipperDataCsReq",
            Self::CmdChangeEraFlipperDataCsReq => "CmdChangeEraFlipperDataCsReq",
            Self::CmdNcdceeepida => "CmdNCDCEEEPIDA",
            Self::CmdNcbdooeiopi => "CmdNCBDOOEIOPI",
            Self::CmdResetEraFlipperDataCsReq => "CmdResetEraFlipperDataCsReq",
            Self::CmdDhjbbpldkjf => "CmdDHJBBPLDKJF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GPOEBEDJBGF_GKJBAODJMJG" => Some(Self::GpoebedjbgfGkjbaodjmjg),
            "CmdEnterEraFlipperDataCsReq" => Some(Self::CmdEnterEraFlipperDataCsReq),
            "CmdGKCIDNBOBIM" => Some(Self::CmdGkcidnbobim),
            "CmdIHBJCBNKGKK" => Some(Self::CmdIhbjcbnkgkk),
            "CmdGetEraFlipperDataCsReq" => Some(Self::CmdGetEraFlipperDataCsReq),
            "CmdChangeEraFlipperDataCsReq" => Some(Self::CmdChangeEraFlipperDataCsReq),
            "CmdNCDCEEEPIDA" => Some(Self::CmdNcdceeepida),
            "CmdNCBDOOEIOPI" => Some(Self::CmdNcbdooeiopi),
            "CmdResetEraFlipperDataCsReq" => Some(Self::CmdResetEraFlipperDataCsReq),
            "CmdDHJBBPLDKJF" => Some(Self::CmdDhjbbpldkjf),
            _ => None,
        }
    }
}
/// Obf: LBGEAODKEND
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEvolveBuildType {
    LbgeaodkendMmhhlbkkbah = 0,
    CmdEvolveBuildSkipTeachLevelCsReq = 7146,
    LbgeaodkendIhgapifalho = 7108,
    CmdEvolveBuildQueryInfoCsReq = 7150,
    CmdGetEvolveBuildGiveupScRsp = 7135,
    CmdEvolveBuildSkipTeachLevelScRsp = 7145,
    CmdEvolveBuildStartStageScRsp = 7133,
    CmdEvolveBuildGiveupCsReq = 7147,
    CmdLpjpfnncikm = 7106,
    CmdGetEvolveBuildCoinNotify = 7128,
    CmdEvolveBuildStartStageCsReq = 7139,
    CmdEvolveBuildStartLevelScRsp = 7107,
    CmdGetEvolveBuildShopAbilityUpScRsp = 7101,
    CmdGetEvolveBuildShopAbilityResetScRsp = 7137,
    CmdEvolveBuildReRandomStageCsReq = 7103,
    CmdEvolveBuildStartLevelCsReq = 7124,
    CmdGetEvolveBuildQueryInfoScRsp = 7149,
    CmdGetEvolveBuildFinishScNotify = 7143,
    CmdEvolveBuildShopAbilityDownCsReq = 7120,
    CmdEvolveBuildShopAbilityUpCsReq = 7119,
    CmdEvolveBuildShopAbilityResetCsReq = 7140,
    CmdGetEvolveBuildReRandomStageScRsp = 7131,
    CmdGetEvolveBuildShopAbilityDownScRsp = 7138,
}
impl CmdEvolveBuildType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LbgeaodkendMmhhlbkkbah => "LBGEAODKEND_MMHHLBKKBAH",
            Self::CmdEvolveBuildSkipTeachLevelCsReq => {
                "CmdEvolveBuildSkipTeachLevelCsReq"
            }
            Self::LbgeaodkendIhgapifalho => "LBGEAODKEND_IHGAPIFALHO",
            Self::CmdEvolveBuildQueryInfoCsReq => "CmdEvolveBuildQueryInfoCsReq",
            Self::CmdGetEvolveBuildGiveupScRsp => "CmdGetEvolveBuildGiveupScRsp",
            Self::CmdEvolveBuildSkipTeachLevelScRsp => {
                "CmdEvolveBuildSkipTeachLevelScRsp"
            }
            Self::CmdEvolveBuildStartStageScRsp => "CmdEvolveBuildStartStageScRsp",
            Self::CmdEvolveBuildGiveupCsReq => "CmdEvolveBuildGiveupCsReq",
            Self::CmdLpjpfnncikm => "CmdLPJPFNNCIKM",
            Self::CmdGetEvolveBuildCoinNotify => "CmdGetEvolveBuildCoinNotify",
            Self::CmdEvolveBuildStartStageCsReq => "CmdEvolveBuildStartStageCsReq",
            Self::CmdEvolveBuildStartLevelScRsp => "CmdEvolveBuildStartLevelScRsp",
            Self::CmdGetEvolveBuildShopAbilityUpScRsp => {
                "CmdGetEvolveBuildShopAbilityUpScRsp"
            }
            Self::CmdGetEvolveBuildShopAbilityResetScRsp => {
                "CmdGetEvolveBuildShopAbilityResetScRsp"
            }
            Self::CmdEvolveBuildReRandomStageCsReq => "CmdEvolveBuildReRandomStageCsReq",
            Self::CmdEvolveBuildStartLevelCsReq => "CmdEvolveBuildStartLevelCsReq",
            Self::CmdGetEvolveBuildQueryInfoScRsp => "CmdGetEvolveBuildQueryInfoScRsp",
            Self::CmdGetEvolveBuildFinishScNotify => "CmdGetEvolveBuildFinishScNotify",
            Self::CmdEvolveBuildShopAbilityDownCsReq => {
                "CmdEvolveBuildShopAbilityDownCsReq"
            }
            Self::CmdEvolveBuildShopAbilityUpCsReq => "CmdEvolveBuildShopAbilityUpCsReq",
            Self::CmdEvolveBuildShopAbilityResetCsReq => {
                "CmdEvolveBuildShopAbilityResetCsReq"
            }
            Self::CmdGetEvolveBuildReRandomStageScRsp => {
                "CmdGetEvolveBuildReRandomStageScRsp"
            }
            Self::CmdGetEvolveBuildShopAbilityDownScRsp => {
                "CmdGetEvolveBuildShopAbilityDownScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBGEAODKEND_MMHHLBKKBAH" => Some(Self::LbgeaodkendMmhhlbkkbah),
            "CmdEvolveBuildSkipTeachLevelCsReq" => {
                Some(Self::CmdEvolveBuildSkipTeachLevelCsReq)
            }
            "LBGEAODKEND_IHGAPIFALHO" => Some(Self::LbgeaodkendIhgapifalho),
            "CmdEvolveBuildQueryInfoCsReq" => Some(Self::CmdEvolveBuildQueryInfoCsReq),
            "CmdGetEvolveBuildGiveupScRsp" => Some(Self::CmdGetEvolveBuildGiveupScRsp),
            "CmdEvolveBuildSkipTeachLevelScRsp" => {
                Some(Self::CmdEvolveBuildSkipTeachLevelScRsp)
            }
            "CmdEvolveBuildStartStageScRsp" => Some(Self::CmdEvolveBuildStartStageScRsp),
            "CmdEvolveBuildGiveupCsReq" => Some(Self::CmdEvolveBuildGiveupCsReq),
            "CmdLPJPFNNCIKM" => Some(Self::CmdLpjpfnncikm),
            "CmdGetEvolveBuildCoinNotify" => Some(Self::CmdGetEvolveBuildCoinNotify),
            "CmdEvolveBuildStartStageCsReq" => Some(Self::CmdEvolveBuildStartStageCsReq),
            "CmdEvolveBuildStartLevelScRsp" => Some(Self::CmdEvolveBuildStartLevelScRsp),
            "CmdGetEvolveBuildShopAbilityUpScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityUpScRsp)
            }
            "CmdGetEvolveBuildShopAbilityResetScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityResetScRsp)
            }
            "CmdEvolveBuildReRandomStageCsReq" => {
                Some(Self::CmdEvolveBuildReRandomStageCsReq)
            }
            "CmdEvolveBuildStartLevelCsReq" => Some(Self::CmdEvolveBuildStartLevelCsReq),
            "CmdGetEvolveBuildQueryInfoScRsp" => {
                Some(Self::CmdGetEvolveBuildQueryInfoScRsp)
            }
            "CmdGetEvolveBuildFinishScNotify" => {
                Some(Self::CmdGetEvolveBuildFinishScNotify)
            }
            "CmdEvolveBuildShopAbilityDownCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityDownCsReq)
            }
            "CmdEvolveBuildShopAbilityUpCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityUpCsReq)
            }
            "CmdEvolveBuildShopAbilityResetCsReq" => {
                Some(Self::CmdEvolveBuildShopAbilityResetCsReq)
            }
            "CmdGetEvolveBuildReRandomStageScRsp" => {
                Some(Self::CmdGetEvolveBuildReRandomStageScRsp)
            }
            "CmdGetEvolveBuildShopAbilityDownScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityDownScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mjpdonkmdlg {
    Mibckdchdcd = 0,
    Oocdhclckop = 1,
    Kcpmlonakgf = 2,
    Eajjdeehcnd = 3,
    Ghfmlbmkomg = 4,
}
impl Mjpdonkmdlg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mibckdchdcd => "MJPDONKMDLG_MIBCKDCHDCD",
            Self::Oocdhclckop => "MJPDONKMDLG_OOCDHCLCKOP",
            Self::Kcpmlonakgf => "MJPDONKMDLG_KCPMLONAKGF",
            Self::Eajjdeehcnd => "MJPDONKMDLG_EAJJDEEHCND",
            Self::Ghfmlbmkomg => "MJPDONKMDLG_GHFMLBMKOMG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJPDONKMDLG_MIBCKDCHDCD" => Some(Self::Mibckdchdcd),
            "MJPDONKMDLG_OOCDHCLCKOP" => Some(Self::Oocdhclckop),
            "MJPDONKMDLG_KCPMLONAKGF" => Some(Self::Kcpmlonakgf),
            "MJPDONKMDLG_EAJJDEEHCND" => Some(Self::Eajjdeehcnd),
            "MJPDONKMDLG_GHFMLBMKOMG" => Some(Self::Ghfmlbmkomg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Peoapfklnbj {
    Mhokkbbjgjh = 0,
    Eioacjfjdgh = 1,
    Mkkpahojcea = 2,
    Ejeinmpahkm = 3,
    Ombnlbghelo = 4,
}
impl Peoapfklnbj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mhokkbbjgjh => "PEOAPFKLNBJ_MHOKKBBJGJH",
            Self::Eioacjfjdgh => "PEOAPFKLNBJ_EIOACJFJDGH",
            Self::Mkkpahojcea => "PEOAPFKLNBJ_MKKPAHOJCEA",
            Self::Ejeinmpahkm => "PEOAPFKLNBJ_EJEINMPAHKM",
            Self::Ombnlbghelo => "PEOAPFKLNBJ_OMBNLBGHELO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PEOAPFKLNBJ_MHOKKBBJGJH" => Some(Self::Mhokkbbjgjh),
            "PEOAPFKLNBJ_EIOACJFJDGH" => Some(Self::Eioacjfjdgh),
            "PEOAPFKLNBJ_MKKPAHOJCEA" => Some(Self::Mkkpahojcea),
            "PEOAPFKLNBJ_EJEINMPAHKM" => Some(Self::Ejeinmpahkm),
            "PEOAPFKLNBJ_OMBNLBGHELO" => Some(Self::Ombnlbghelo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dedjhejalmm {
    Mnpijjnjlkl = 0,
    Janknkchcak = 1,
    Okbihbjklbd = 2,
}
impl Dedjhejalmm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mnpijjnjlkl => "DEDJHEJALMM_MNPIJJNJLKL",
            Self::Janknkchcak => "DEDJHEJALMM_JANKNKCHCAK",
            Self::Okbihbjklbd => "DEDJHEJALMM_OKBIHBJKLBD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEDJHEJALMM_MNPIJJNJLKL" => Some(Self::Mnpijjnjlkl),
            "DEDJHEJALMM_JANKNKCHCAK" => Some(Self::Janknkchcak),
            "DEDJHEJALMM_OKBIHBJKLBD" => Some(Self::Okbihbjklbd),
            _ => None,
        }
    }
}
/// Obf: HHMPEGGKLCH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdExpeditionType {
    HhmpeggklchGkjbaodjmjg = 0,
    CmdGetExpeditionDataCsReq = 2550,
    CmdTakeMultipleExpeditionRewardCsReq = 2520,
    CmdGetExpeditionDataScRsp = 2549,
    CmdKcbhclkeobm = 2508,
    CmdTakeMultipleExpeditionRewardScRsp = 2538,
    CmdAcceptMultipleExpeditionScRsp = 2501,
    CmdAcceptMultipleExpeditionCsReq = 2519,
}
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 {
            Self::HhmpeggklchGkjbaodjmjg => "HHMPEGGKLCH_GKJBAODJMJG",
            Self::CmdGetExpeditionDataCsReq => "CmdGetExpeditionDataCsReq",
            Self::CmdTakeMultipleExpeditionRewardCsReq => {
                "CmdTakeMultipleExpeditionRewardCsReq"
            }
            Self::CmdGetExpeditionDataScRsp => "CmdGetExpeditionDataScRsp",
            Self::CmdKcbhclkeobm => "CmdKCBHCLKEOBM",
            Self::CmdTakeMultipleExpeditionRewardScRsp => {
                "CmdTakeMultipleExpeditionRewardScRsp"
            }
            Self::CmdAcceptMultipleExpeditionScRsp => "CmdAcceptMultipleExpeditionScRsp",
            Self::CmdAcceptMultipleExpeditionCsReq => "CmdAcceptMultipleExpeditionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HHMPEGGKLCH_GKJBAODJMJG" => Some(Self::HhmpeggklchGkjbaodjmjg),
            "CmdGetExpeditionDataCsReq" => Some(Self::CmdGetExpeditionDataCsReq),
            "CmdTakeMultipleExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleExpeditionRewardCsReq)
            }
            "CmdGetExpeditionDataScRsp" => Some(Self::CmdGetExpeditionDataScRsp),
            "CmdKCBHCLKEOBM" => Some(Self::CmdKcbhclkeobm),
            "CmdTakeMultipleExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleExpeditionRewardScRsp)
            }
            "CmdAcceptMultipleExpeditionScRsp" => {
                Some(Self::CmdAcceptMultipleExpeditionScRsp)
            }
            "CmdAcceptMultipleExpeditionCsReq" => {
                Some(Self::CmdAcceptMultipleExpeditionCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: FEPBJHIOECG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFantasticStoryActivityType {
    FepbjhioecgGkjbaodjmjg = 0,
    CmdGetFantasticStoryActivityDataScRsp = 4928,
    CmdFantasticStoryActivityBattleEndScNotify = 4962,
    CmdGetFantasticStoryActivityDataCsReq = 4957,
    CmdEnterActivityFantasticStoryCsReq = 4975,
    CmdEnterFantasticStoryActivityStageScRsp = 4938,
    CmdMgnbbjaiace = 4955,
}
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 {
            Self::FepbjhioecgGkjbaodjmjg => "FEPBJHIOECG_GKJBAODJMJG",
            Self::CmdGetFantasticStoryActivityDataScRsp => {
                "CmdGetFantasticStoryActivityDataScRsp"
            }
            Self::CmdFantasticStoryActivityBattleEndScNotify => {
                "CmdFantasticStoryActivityBattleEndScNotify"
            }
            Self::CmdGetFantasticStoryActivityDataCsReq => {
                "CmdGetFantasticStoryActivityDataCsReq"
            }
            Self::CmdEnterActivityFantasticStoryCsReq => {
                "CmdEnterActivityFantasticStoryCsReq"
            }
            Self::CmdEnterFantasticStoryActivityStageScRsp => {
                "CmdEnterFantasticStoryActivityStageScRsp"
            }
            Self::CmdMgnbbjaiace => "CmdMGNBBJAIACE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEPBJHIOECG_GKJBAODJMJG" => Some(Self::FepbjhioecgGkjbaodjmjg),
            "CmdGetFantasticStoryActivityDataScRsp" => {
                Some(Self::CmdGetFantasticStoryActivityDataScRsp)
            }
            "CmdFantasticStoryActivityBattleEndScNotify" => {
                Some(Self::CmdFantasticStoryActivityBattleEndScNotify)
            }
            "CmdGetFantasticStoryActivityDataCsReq" => {
                Some(Self::CmdGetFantasticStoryActivityDataCsReq)
            }
            "CmdEnterActivityFantasticStoryCsReq" => {
                Some(Self::CmdEnterActivityFantasticStoryCsReq)
            }
            "CmdEnterFantasticStoryActivityStageScRsp" => {
                Some(Self::CmdEnterFantasticStoryActivityStageScRsp)
            }
            "CmdMGNBBJAIACE" => Some(Self::CmdMgnbbjaiace),
            _ => None,
        }
    }
}
/// Obf: DKHPGDIBPNG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFateType {
    DkhpgdibpngGkjbaodjmjg = 0,
    CmdFateTakeExpRewardCsReq = 5996,
    CmdFateChangeLineupScRsp = 5985,
    CmdFateTakeExpRewardScRsp = 5995,
    CmdFateShopBuyGoodsCsReq = 5958,
    CmdFateSyncActionResultScNotify = 5971,
    CmdFateStartScRsp = 5957,
    CmdFateShopRefreshGoodsScRsp = 5979,
    CmdFateBattleStartCsReq = 5989,
    CmdFateStartCsReq = 5974,
    CmdFateQueryCsReq = 6000,
    CmdFateSyncPendingActionScNotify = 5990,
    CmdFateShopLockGoodsScRsp = 5969,
    CmdFateHandlePendingActionScRsp = 5961,
    CmdFateShopRefreshGoodsCsReq = 5981,
    CmdFateShopBuyGoodsScRsp = 5956,
    CmdFateShopLockGoodsCsReq = 5972,
    CmdIkcjolplecf = 5978,
    CmdFateSettleScNotify = 5952,
    CmdFateQueryScRsp = 5999,
    CmdFateShopSellBuffCsReq = 5993,
    CmdFateShopSellBuffScRsp = 5953,
    CmdFateShopLeaveCsReq = 5951,
    CmdFateChangeLineupCsReq = 5997,
    CmdCicmhgaomop = 5987,
    CmdFateBattleStartScRsp = 5983,
    CmdFateHouguSelectReq = 5988,
    CmdFateShopLeaveScRsp = 5970,
}
impl CmdFateType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DkhpgdibpngGkjbaodjmjg => "DKHPGDIBPNG_GKJBAODJMJG",
            Self::CmdFateTakeExpRewardCsReq => "CmdFateTakeExpRewardCsReq",
            Self::CmdFateChangeLineupScRsp => "CmdFateChangeLineupScRsp",
            Self::CmdFateTakeExpRewardScRsp => "CmdFateTakeExpRewardScRsp",
            Self::CmdFateShopBuyGoodsCsReq => "CmdFateShopBuyGoodsCsReq",
            Self::CmdFateSyncActionResultScNotify => "CmdFateSyncActionResultScNotify",
            Self::CmdFateStartScRsp => "CmdFateStartScRsp",
            Self::CmdFateShopRefreshGoodsScRsp => "CmdFateShopRefreshGoodsScRsp",
            Self::CmdFateBattleStartCsReq => "CmdFateBattleStartCsReq",
            Self::CmdFateStartCsReq => "CmdFateStartCsReq",
            Self::CmdFateQueryCsReq => "CmdFateQueryCsReq",
            Self::CmdFateSyncPendingActionScNotify => "CmdFateSyncPendingActionScNotify",
            Self::CmdFateShopLockGoodsScRsp => "CmdFateShopLockGoodsScRsp",
            Self::CmdFateHandlePendingActionScRsp => "CmdFateHandlePendingActionScRsp",
            Self::CmdFateShopRefreshGoodsCsReq => "CmdFateShopRefreshGoodsCsReq",
            Self::CmdFateShopBuyGoodsScRsp => "CmdFateShopBuyGoodsScRsp",
            Self::CmdFateShopLockGoodsCsReq => "CmdFateShopLockGoodsCsReq",
            Self::CmdIkcjolplecf => "CmdIKCJOLPLECF",
            Self::CmdFateSettleScNotify => "CmdFateSettleScNotify",
            Self::CmdFateQueryScRsp => "CmdFateQueryScRsp",
            Self::CmdFateShopSellBuffCsReq => "CmdFateShopSellBuffCsReq",
            Self::CmdFateShopSellBuffScRsp => "CmdFateShopSellBuffScRsp",
            Self::CmdFateShopLeaveCsReq => "CmdFateShopLeaveCsReq",
            Self::CmdFateChangeLineupCsReq => "CmdFateChangeLineupCsReq",
            Self::CmdCicmhgaomop => "CmdCICMHGAOMOP",
            Self::CmdFateBattleStartScRsp => "CmdFateBattleStartScRsp",
            Self::CmdFateHouguSelectReq => "CmdFateHouguSelectReq",
            Self::CmdFateShopLeaveScRsp => "CmdFateShopLeaveScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DKHPGDIBPNG_GKJBAODJMJG" => Some(Self::DkhpgdibpngGkjbaodjmjg),
            "CmdFateTakeExpRewardCsReq" => Some(Self::CmdFateTakeExpRewardCsReq),
            "CmdFateChangeLineupScRsp" => Some(Self::CmdFateChangeLineupScRsp),
            "CmdFateTakeExpRewardScRsp" => Some(Self::CmdFateTakeExpRewardScRsp),
            "CmdFateShopBuyGoodsCsReq" => Some(Self::CmdFateShopBuyGoodsCsReq),
            "CmdFateSyncActionResultScNotify" => {
                Some(Self::CmdFateSyncActionResultScNotify)
            }
            "CmdFateStartScRsp" => Some(Self::CmdFateStartScRsp),
            "CmdFateShopRefreshGoodsScRsp" => Some(Self::CmdFateShopRefreshGoodsScRsp),
            "CmdFateBattleStartCsReq" => Some(Self::CmdFateBattleStartCsReq),
            "CmdFateStartCsReq" => Some(Self::CmdFateStartCsReq),
            "CmdFateQueryCsReq" => Some(Self::CmdFateQueryCsReq),
            "CmdFateSyncPendingActionScNotify" => {
                Some(Self::CmdFateSyncPendingActionScNotify)
            }
            "CmdFateShopLockGoodsScRsp" => Some(Self::CmdFateShopLockGoodsScRsp),
            "CmdFateHandlePendingActionScRsp" => {
                Some(Self::CmdFateHandlePendingActionScRsp)
            }
            "CmdFateShopRefreshGoodsCsReq" => Some(Self::CmdFateShopRefreshGoodsCsReq),
            "CmdFateShopBuyGoodsScRsp" => Some(Self::CmdFateShopBuyGoodsScRsp),
            "CmdFateShopLockGoodsCsReq" => Some(Self::CmdFateShopLockGoodsCsReq),
            "CmdIKCJOLPLECF" => Some(Self::CmdIkcjolplecf),
            "CmdFateSettleScNotify" => Some(Self::CmdFateSettleScNotify),
            "CmdFateQueryScRsp" => Some(Self::CmdFateQueryScRsp),
            "CmdFateShopSellBuffCsReq" => Some(Self::CmdFateShopSellBuffCsReq),
            "CmdFateShopSellBuffScRsp" => Some(Self::CmdFateShopSellBuffScRsp),
            "CmdFateShopLeaveCsReq" => Some(Self::CmdFateShopLeaveCsReq),
            "CmdFateChangeLineupCsReq" => Some(Self::CmdFateChangeLineupCsReq),
            "CmdCICMHGAOMOP" => Some(Self::CmdCicmhgaomop),
            "CmdFateBattleStartScRsp" => Some(Self::CmdFateBattleStartScRsp),
            "CmdFateHouguSelectReq" => Some(Self::CmdFateHouguSelectReq),
            "CmdFateShopLeaveScRsp" => Some(Self::CmdFateShopLeaveScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Akgjbmcfojg {
    Gkjbaodjmjg = 0,
    Jfpjgaofmom = 1,
    Ffgcnbaegjm = 2,
    Enjbdfenogc = 3,
    Afofejejfml = 4,
    Fachgbfboae = 5,
    Ljclgepdlkj = 6,
}
impl Akgjbmcfojg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "AKGJBMCFOJG_GKJBAODJMJG",
            Self::Jfpjgaofmom => "AKGJBMCFOJG_JFPJGAOFMOM",
            Self::Ffgcnbaegjm => "AKGJBMCFOJG_FFGCNBAEGJM",
            Self::Enjbdfenogc => "AKGJBMCFOJG_ENJBDFENOGC",
            Self::Afofejejfml => "AKGJBMCFOJG_AFOFEJEJFML",
            Self::Fachgbfboae => "AKGJBMCFOJG_FACHGBFBOAE",
            Self::Ljclgepdlkj => "AKGJBMCFOJG_LJCLGEPDLKJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AKGJBMCFOJG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "AKGJBMCFOJG_JFPJGAOFMOM" => Some(Self::Jfpjgaofmom),
            "AKGJBMCFOJG_FFGCNBAEGJM" => Some(Self::Ffgcnbaegjm),
            "AKGJBMCFOJG_ENJBDFENOGC" => Some(Self::Enjbdfenogc),
            "AKGJBMCFOJG_AFOFEJEJFML" => Some(Self::Afofejejfml),
            "AKGJBMCFOJG_FACHGBFBOAE" => Some(Self::Fachgbfboae),
            "AKGJBMCFOJG_LJCLGEPDLKJ" => Some(Self::Ljclgepdlkj),
            _ => None,
        }
    }
}
/// Obf: PALKPMNMBMI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FateMasterStatusType {
    PalkpmnmbmiGkjbaodjmjg = 0,
    PalkpmnmbmiNdmgbbjcmgf = 1,
    PalkpmnmbmiAddopiljdka = 2,
    PalkpmnmbmiHndflpaeofg = 3,
}
impl FateMasterStatusType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PalkpmnmbmiGkjbaodjmjg => "PALKPMNMBMI_GKJBAODJMJG",
            Self::PalkpmnmbmiNdmgbbjcmgf => "PALKPMNMBMI_NDMGBBJCMGF",
            Self::PalkpmnmbmiAddopiljdka => "PALKPMNMBMI_ADDOPILJDKA",
            Self::PalkpmnmbmiHndflpaeofg => "PALKPMNMBMI_HNDFLPAEOFG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PALKPMNMBMI_GKJBAODJMJG" => Some(Self::PalkpmnmbmiGkjbaodjmjg),
            "PALKPMNMBMI_NDMGBBJCMGF" => Some(Self::PalkpmnmbmiNdmgbbjcmgf),
            "PALKPMNMBMI_ADDOPILJDKA" => Some(Self::PalkpmnmbmiAddopiljdka),
            "PALKPMNMBMI_HNDFLPAEOFG" => Some(Self::PalkpmnmbmiHndflpaeofg),
            _ => None,
        }
    }
}
/// Obf: MBJBFCEKDFN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFeverTimeActivityType {
    MbjbfcekdfnGkjbaodjmjg = 0,
    CmdGetFeverTimeActivityDataCsReq = 7155,
    CmdGetFeverTimeActivityDataScRsp = 7159,
    CmdFeverTimeActivityBattleEndScNotify = 7154,
    CmdEnterFeverTimeActivityStageScRsp = 7158,
    CmdEnterFeverTimeActivityStageCsReq = 7160,
}
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 {
            Self::MbjbfcekdfnGkjbaodjmjg => "MBJBFCEKDFN_GKJBAODJMJG",
            Self::CmdGetFeverTimeActivityDataCsReq => "CmdGetFeverTimeActivityDataCsReq",
            Self::CmdGetFeverTimeActivityDataScRsp => "CmdGetFeverTimeActivityDataScRsp",
            Self::CmdFeverTimeActivityBattleEndScNotify => {
                "CmdFeverTimeActivityBattleEndScNotify"
            }
            Self::CmdEnterFeverTimeActivityStageScRsp => {
                "CmdEnterFeverTimeActivityStageScRsp"
            }
            Self::CmdEnterFeverTimeActivityStageCsReq => {
                "CmdEnterFeverTimeActivityStageCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MBJBFCEKDFN_GKJBAODJMJG" => Some(Self::MbjbfcekdfnGkjbaodjmjg),
            "CmdGetFeverTimeActivityDataCsReq" => {
                Some(Self::CmdGetFeverTimeActivityDataCsReq)
            }
            "CmdGetFeverTimeActivityDataScRsp" => {
                Some(Self::CmdGetFeverTimeActivityDataScRsp)
            }
            "CmdFeverTimeActivityBattleEndScNotify" => {
                Some(Self::CmdFeverTimeActivityBattleEndScNotify)
            }
            "CmdEnterFeverTimeActivityStageScRsp" => {
                Some(Self::CmdEnterFeverTimeActivityStageScRsp)
            }
            "CmdEnterFeverTimeActivityStageCsReq" => {
                Some(Self::CmdEnterFeverTimeActivityStageCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: GIDPEAKAKPC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeverTimeBattleRank {
    GidpeakakpcPpdnhpknbdo = 0,
    GidpeakakpcJcoipipidno = 1,
    GidpeakakpcNekpcnmcebg = 2,
    GidpeakakpcEcclnmcpjjh = 3,
    GidpeakakpcOjdmoppeegb = 4,
}
impl FeverTimeBattleRank {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GidpeakakpcPpdnhpknbdo => "GIDPEAKAKPC_PPDNHPKNBDO",
            Self::GidpeakakpcJcoipipidno => "GIDPEAKAKPC_JCOIPIPIDNO",
            Self::GidpeakakpcNekpcnmcebg => "GIDPEAKAKPC_NEKPCNMCEBG",
            Self::GidpeakakpcEcclnmcpjjh => "GIDPEAKAKPC_ECCLNMCPJJH",
            Self::GidpeakakpcOjdmoppeegb => "GIDPEAKAKPC_OJDMOPPEEGB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GIDPEAKAKPC_PPDNHPKNBDO" => Some(Self::GidpeakakpcPpdnhpknbdo),
            "GIDPEAKAKPC_JCOIPIPIDNO" => Some(Self::GidpeakakpcJcoipipidno),
            "GIDPEAKAKPC_NEKPCNMCEBG" => Some(Self::GidpeakakpcNekpcnmcebg),
            "GIDPEAKAKPC_ECCLNMCPJJH" => Some(Self::GidpeakakpcEcclnmcpjjh),
            "GIDPEAKAKPC_OJDMOPPEEGB" => Some(Self::GidpeakakpcOjdmoppeegb),
            _ => None,
        }
    }
}
/// Obf: LCLKCKNIMJM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightType {
    LclkcknimjmGkjbaodjmjg = 0,
    CmdPgaolaldgkk = 30028,
    CmdHbfmjjkmoml = 30026,
    CmdPembaeijmbp = 30062,
    CmdCajeeghjcnc = 30075,
    LclkcknimjmPcaohaedhop = 30038,
    LclkcknimjmJnahaingpbd = 30057,
    CmdBihmehdekie = 30055,
    CmdGplkjalhghi = 30005,
    CmdJpihmhnijgg = 30047,
    LclkcknimjmPfcdapglabb = 30020,
}
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 {
            Self::LclkcknimjmGkjbaodjmjg => "LCLKCKNIMJM_GKJBAODJMJG",
            Self::CmdPgaolaldgkk => "CmdPGAOLALDGKK",
            Self::CmdHbfmjjkmoml => "CmdHBFMJJKMOML",
            Self::CmdPembaeijmbp => "CmdPEMBAEIJMBP",
            Self::CmdCajeeghjcnc => "CmdCAJEEGHJCNC",
            Self::LclkcknimjmPcaohaedhop => "LCLKCKNIMJM_PCAOHAEDHOP",
            Self::LclkcknimjmJnahaingpbd => "LCLKCKNIMJM_JNAHAINGPBD",
            Self::CmdBihmehdekie => "CmdBIHMEHDEKIE",
            Self::CmdGplkjalhghi => "CmdGPLKJALHGHI",
            Self::CmdJpihmhnijgg => "CmdJPIHMHNIJGG",
            Self::LclkcknimjmPfcdapglabb => "LCLKCKNIMJM_PFCDAPGLABB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCLKCKNIMJM_GKJBAODJMJG" => Some(Self::LclkcknimjmGkjbaodjmjg),
            "CmdPGAOLALDGKK" => Some(Self::CmdPgaolaldgkk),
            "CmdHBFMJJKMOML" => Some(Self::CmdHbfmjjkmoml),
            "CmdPEMBAEIJMBP" => Some(Self::CmdPembaeijmbp),
            "CmdCAJEEGHJCNC" => Some(Self::CmdCajeeghjcnc),
            "LCLKCKNIMJM_PCAOHAEDHOP" => Some(Self::LclkcknimjmPcaohaedhop),
            "LCLKCKNIMJM_JNAHAINGPBD" => Some(Self::LclkcknimjmJnahaingpbd),
            "CmdBIHMEHDEKIE" => Some(Self::CmdBihmehdekie),
            "CmdGPLKJALHGHI" => Some(Self::CmdGplkjalhghi),
            "CmdJPIHMHNIJGG" => Some(Self::CmdJpihmhnijgg),
            "LCLKCKNIMJM_PFCDAPGLABB" => Some(Self::LclkcknimjmPfcdapglabb),
            _ => None,
        }
    }
}
/// Obf: PFHGKOJIFJG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightActivityType {
    PfhgkojifjgGkjbaodjmjg = 0,
    CmdFightActivityDataChangeScNotify = 3655,
    CmdEnterFightActivityStageScRsp = 3638,
    CmdGetFightActivityDataScRsp = 3628,
    CmdTakeFightActivityRewardScRsp = 3647,
    CmdEnterFightActivityStageCsReq = 3675,
    CmdTakeFightActivityRewardCsReq = 3662,
    CmdGetFightActivityDataCsReq = 3657,
}
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 {
            Self::PfhgkojifjgGkjbaodjmjg => "PFHGKOJIFJG_GKJBAODJMJG",
            Self::CmdFightActivityDataChangeScNotify => {
                "CmdFightActivityDataChangeScNotify"
            }
            Self::CmdEnterFightActivityStageScRsp => "CmdEnterFightActivityStageScRsp",
            Self::CmdGetFightActivityDataScRsp => "CmdGetFightActivityDataScRsp",
            Self::CmdTakeFightActivityRewardScRsp => "CmdTakeFightActivityRewardScRsp",
            Self::CmdEnterFightActivityStageCsReq => "CmdEnterFightActivityStageCsReq",
            Self::CmdTakeFightActivityRewardCsReq => "CmdTakeFightActivityRewardCsReq",
            Self::CmdGetFightActivityDataCsReq => "CmdGetFightActivityDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PFHGKOJIFJG_GKJBAODJMJG" => Some(Self::PfhgkojifjgGkjbaodjmjg),
            "CmdFightActivityDataChangeScNotify" => {
                Some(Self::CmdFightActivityDataChangeScNotify)
            }
            "CmdEnterFightActivityStageScRsp" => {
                Some(Self::CmdEnterFightActivityStageScRsp)
            }
            "CmdGetFightActivityDataScRsp" => Some(Self::CmdGetFightActivityDataScRsp),
            "CmdTakeFightActivityRewardScRsp" => {
                Some(Self::CmdTakeFightActivityRewardScRsp)
            }
            "CmdEnterFightActivityStageCsReq" => {
                Some(Self::CmdEnterFightActivityStageCsReq)
            }
            "CmdTakeFightActivityRewardCsReq" => {
                Some(Self::CmdTakeFightActivityRewardCsReq)
            }
            "CmdGetFightActivityDataCsReq" => Some(Self::CmdGetFightActivityDataCsReq),
            _ => None,
        }
    }
}
/// Obf: MMHPDCOONBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightCakeRaceType {
    MmhpdcoonbiGkjbaodjmjg = 0,
}
impl CmdFightCakeRaceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MmhpdcoonbiGkjbaodjmjg => "MMHPDCOONBI_GKJBAODJMJG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MMHPDCOONBI_GKJBAODJMJG" => Some(Self::MmhpdcoonbiGkjbaodjmjg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hccfnhpmbap {
    Gkjbaodjmjg = 0,
    Dmfnibnolkk = 1,
}
impl Hccfnhpmbap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HCCFNHPMBAP_GKJBAODJMJG",
            Self::Dmfnibnolkk => "HCCFNHPMBAP_DMFNIBNOLKK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HCCFNHPMBAP_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HCCFNHPMBAP_DMFNIBNOLKK" => Some(Self::Dmfnibnolkk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hnadojbjcnd {
    Emegieblnjk = 0,
    Bjgbonmihof = 1,
    Ddgcjpfjogg = 2,
    Bcfaeijiigf = 3,
}
impl Hnadojbjcnd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Emegieblnjk => "HNADOJBJCND_EMEGIEBLNJK",
            Self::Bjgbonmihof => "HNADOJBJCND_BJGBONMIHOF",
            Self::Ddgcjpfjogg => "HNADOJBJCND_DDGCJPFJOGG",
            Self::Bcfaeijiigf => "HNADOJBJCND_BCFAEIJIIGF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HNADOJBJCND_EMEGIEBLNJK" => Some(Self::Emegieblnjk),
            "HNADOJBJCND_BJGBONMIHOF" => Some(Self::Bjgbonmihof),
            "HNADOJBJCND_DDGCJPFJOGG" => Some(Self::Ddgcjpfjogg),
            "HNADOJBJCND_BCFAEIJIIGF" => Some(Self::Bcfaeijiigf),
            _ => None,
        }
    }
}
/// Obf: CCMBECKIBCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightDiceCombatType {
    CcmbeckibcnGkjbaodjmjg = 0,
}
impl CmdFightDiceCombatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::CcmbeckibcnGkjbaodjmjg => "CCMBECKIBCN_GKJBAODJMJG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CCMBECKIBCN_GKJBAODJMJG" => Some(Self::CcmbeckibcnGkjbaodjmjg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kcegkpoccff {
    Gkjbaodjmjg = 0,
    Dmfnibnolkk = 1,
}
impl Kcegkpoccff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "KCEGKPOCCFF_GKJBAODJMJG",
            Self::Dmfnibnolkk => "KCEGKPOCCFF_DMFNIBNOLKK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KCEGKPOCCFF_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "KCEGKPOCCFF_DMFNIBNOLKK" => Some(Self::Dmfnibnolkk),
            _ => None,
        }
    }
}
/// Obf: GCKKMKMBKOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightFestType {
    GckkmkmbkoeGkjbaodjmjg = 0,
    CmdGetFightFestDataCsReq = 7300,
    CmdStartFightFestScRsp = 7257,
    CmdFightFestUpdateChallengeRecordNotify = 7297,
    CmdStartFightFestCsReq = 7274,
    CmdFightFestUnlockSkillNotify = 7283,
    CmdGetFightFestDataScRsp = 7299,
    CmdFightFestScoreUpdateNotify = 7289,
    CmdFightFestUpdateCoinNotify = 7285,
}
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 {
            Self::GckkmkmbkoeGkjbaodjmjg => "GCKKMKMBKOE_GKJBAODJMJG",
            Self::CmdGetFightFestDataCsReq => "CmdGetFightFestDataCsReq",
            Self::CmdStartFightFestScRsp => "CmdStartFightFestScRsp",
            Self::CmdFightFestUpdateChallengeRecordNotify => {
                "CmdFightFestUpdateChallengeRecordNotify"
            }
            Self::CmdStartFightFestCsReq => "CmdStartFightFestCsReq",
            Self::CmdFightFestUnlockSkillNotify => "CmdFightFestUnlockSkillNotify",
            Self::CmdGetFightFestDataScRsp => "CmdGetFightFestDataScRsp",
            Self::CmdFightFestScoreUpdateNotify => "CmdFightFestScoreUpdateNotify",
            Self::CmdFightFestUpdateCoinNotify => "CmdFightFestUpdateCoinNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GCKKMKMBKOE_GKJBAODJMJG" => Some(Self::GckkmkmbkoeGkjbaodjmjg),
            "CmdGetFightFestDataCsReq" => Some(Self::CmdGetFightFestDataCsReq),
            "CmdStartFightFestScRsp" => Some(Self::CmdStartFightFestScRsp),
            "CmdFightFestUpdateChallengeRecordNotify" => {
                Some(Self::CmdFightFestUpdateChallengeRecordNotify)
            }
            "CmdStartFightFestCsReq" => Some(Self::CmdStartFightFestCsReq),
            "CmdFightFestUnlockSkillNotify" => Some(Self::CmdFightFestUnlockSkillNotify),
            "CmdGetFightFestDataScRsp" => Some(Self::CmdGetFightFestDataScRsp),
            "CmdFightFestScoreUpdateNotify" => Some(Self::CmdFightFestScoreUpdateNotify),
            "CmdFightFestUpdateCoinNotify" => Some(Self::CmdFightFestUpdateCoinNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hhekachhnca {
    Ppdnhpknbdo = 0,
    Jcoipipidno = 1,
    Nekpcnmcebg = 2,
    Ecclnmcpjjh = 3,
    Ojdmoppeegb = 4,
}
impl Hhekachhnca {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ppdnhpknbdo => "HHEKACHHNCA_PPDNHPKNBDO",
            Self::Jcoipipidno => "HHEKACHHNCA_JCOIPIPIDNO",
            Self::Nekpcnmcebg => "HHEKACHHNCA_NEKPCNMCEBG",
            Self::Ecclnmcpjjh => "HHEKACHHNCA_ECCLNMCPJJH",
            Self::Ojdmoppeegb => "HHEKACHHNCA_OJDMOPPEEGB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HHEKACHHNCA_PPDNHPKNBDO" => Some(Self::Ppdnhpknbdo),
            "HHEKACHHNCA_JCOIPIPIDNO" => Some(Self::Jcoipipidno),
            "HHEKACHHNCA_NEKPCNMCEBG" => Some(Self::Nekpcnmcebg),
            "HHEKACHHNCA_ECCLNMCPJJH" => Some(Self::Ecclnmcpjjh),
            "HHEKACHHNCA_OJDMOPPEEGB" => Some(Self::Ojdmoppeegb),
            _ => None,
        }
    }
}
/// Obf: LBIOKBHIDCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightFestType {
    LbiokbhidcnGkjbaodjmjg = 0,
    LbiokbhidcnIiepbkmlmai = 1,
    LbiokbhidcnScoreId = 2,
    LbiokbhidcnJbnckfnjdkp = 3,
    LbiokbhidcnDonglbhcaff = 4,
}
impl FightFestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LbiokbhidcnGkjbaodjmjg => "LBIOKBHIDCN_GKJBAODJMJG",
            Self::LbiokbhidcnIiepbkmlmai => "LBIOKBHIDCN_IIEPBKMLMAI",
            Self::LbiokbhidcnScoreId => "LBIOKBHIDCN_score_id",
            Self::LbiokbhidcnJbnckfnjdkp => "LBIOKBHIDCN_JBNCKFNJDKP",
            Self::LbiokbhidcnDonglbhcaff => "LBIOKBHIDCN_DONGLBHCAFF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBIOKBHIDCN_GKJBAODJMJG" => Some(Self::LbiokbhidcnGkjbaodjmjg),
            "LBIOKBHIDCN_IIEPBKMLMAI" => Some(Self::LbiokbhidcnIiepbkmlmai),
            "LBIOKBHIDCN_score_id" => Some(Self::LbiokbhidcnScoreId),
            "LBIOKBHIDCN_JBNCKFNJDKP" => Some(Self::LbiokbhidcnJbnckfnjdkp),
            "LBIOKBHIDCN_DONGLBHCAFF" => Some(Self::LbiokbhidcnDonglbhcaff),
            _ => None,
        }
    }
}
/// Obf: ADOPBLEAIOJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMarbleType {
    AdopbleaiojGkjbaodjmjg = 0,
}
impl CmdFightMarbleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AdopbleaiojGkjbaodjmjg => "ADOPBLEAIOJ_GKJBAODJMJG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADOPBLEAIOJ_GKJBAODJMJG" => Some(Self::AdopbleaiojGkjbaodjmjg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fekcgahddig {
    Gkjbaodjmjg = 0,
    Dmfnibnolkk = 1,
    Dlbmfibaknj = 2,
}
impl Fekcgahddig {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FEKCGAHDDIG_GKJBAODJMJG",
            Self::Dmfnibnolkk => "FEKCGAHDDIG_DMFNIBNOLKK",
            Self::Dlbmfibaknj => "FEKCGAHDDIG_DLBMFIBAKNJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEKCGAHDDIG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FEKCGAHDDIG_DMFNIBNOLKK" => Some(Self::Dmfnibnolkk),
            "FEKCGAHDDIG_DLBMFIBAKNJ" => Some(Self::Dlbmfibaknj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mjnmmhkikpg {
    Obbgldaojhc = 0,
    Jnbfloofaoa = 1,
    Ddhfppdicol = 2,
}
impl Mjnmmhkikpg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Obbgldaojhc => "MJNMMHKIKPG_OBBGLDAOJHC",
            Self::Jnbfloofaoa => "MJNMMHKIKPG_JNBFLOOFAOA",
            Self::Ddhfppdicol => "MJNMMHKIKPG_DDHFPPDICOL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJNMMHKIKPG_OBBGLDAOJHC" => Some(Self::Obbgldaojhc),
            "MJNMMHKIKPG_JNBFLOOFAOA" => Some(Self::Jnbfloofaoa),
            "MJNMMHKIKPG_DDHFPPDICOL" => Some(Self::Ddhfppdicol),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mddpcpianil {
    Hcgpmcnghle = 0,
    Lanfpapapim = 1,
    Fpgmbpdhacm = 2,
}
impl Mddpcpianil {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hcgpmcnghle => "MDDPCPIANIL_HCGPMCNGHLE",
            Self::Lanfpapapim => "MDDPCPIANIL_LANFPAPAPIM",
            Self::Fpgmbpdhacm => "MDDPCPIANIL_FPGMBPDHACM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MDDPCPIANIL_HCGPMCNGHLE" => Some(Self::Hcgpmcnghle),
            "MDDPCPIANIL_LANFPAPAPIM" => Some(Self::Lanfpapapim),
            "MDDPCPIANIL_FPGMBPDHACM" => Some(Self::Fpgmbpdhacm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Denipndochl {
    Nhmhaioopan = 0,
    Goampglbeco = 1,
    Omekanjllaj = 2,
    Nheeajccjjm = 3,
    Hkaingpmiig = 4,
    Fofngganoen = 6,
    Djibfepgjbc = 7,
    Mhlnihkkkco = 8,
    Ndnjbnclipm = 9,
    Fnboekjfhnh = 10,
}
impl Denipndochl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nhmhaioopan => "DENIPNDOCHL_NHMHAIOOPAN",
            Self::Goampglbeco => "DENIPNDOCHL_GOAMPGLBECO",
            Self::Omekanjllaj => "DENIPNDOCHL_OMEKANJLLAJ",
            Self::Nheeajccjjm => "DENIPNDOCHL_NHEEAJCCJJM",
            Self::Hkaingpmiig => "DENIPNDOCHL_HKAINGPMIIG",
            Self::Fofngganoen => "DENIPNDOCHL_FOFNGGANOEN",
            Self::Djibfepgjbc => "DENIPNDOCHL_DJIBFEPGJBC",
            Self::Mhlnihkkkco => "DENIPNDOCHL_MHLNIHKKKCO",
            Self::Ndnjbnclipm => "DENIPNDOCHL_NDNJBNCLIPM",
            Self::Fnboekjfhnh => "DENIPNDOCHL_FNBOEKJFHNH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DENIPNDOCHL_NHMHAIOOPAN" => Some(Self::Nhmhaioopan),
            "DENIPNDOCHL_GOAMPGLBECO" => Some(Self::Goampglbeco),
            "DENIPNDOCHL_OMEKANJLLAJ" => Some(Self::Omekanjllaj),
            "DENIPNDOCHL_NHEEAJCCJJM" => Some(Self::Nheeajccjjm),
            "DENIPNDOCHL_HKAINGPMIIG" => Some(Self::Hkaingpmiig),
            "DENIPNDOCHL_FOFNGGANOEN" => Some(Self::Fofngganoen),
            "DENIPNDOCHL_DJIBFEPGJBC" => Some(Self::Djibfepgjbc),
            "DENIPNDOCHL_MHLNIHKKKCO" => Some(Self::Mhlnihkkkco),
            "DENIPNDOCHL_NDNJBNCLIPM" => Some(Self::Ndnjbnclipm),
            "DENIPNDOCHL_FNBOEKJFHNH" => Some(Self::Fnboekjfhnh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdenoikddlj {
    Cllimdddfcj = 0,
    Daijjhaiklc = 1,
    Obfcidenffn = 2,
    Kopnhpnecmj = 3,
    Jmkhlbcemab = 4,
    Lbphijbjkmi = 5,
    Bkjmmaokjbc = 6,
    Cibnnobccha = 7,
    Lnjhajckgjp = 8,
    Plbaglmhecd = 9,
    Ljongjlcgoj = 10,
    Ckjfhghoack = 11,
    Npoppffhano = 12,
    Aifafepphbe = 13,
    Jmfffjdkeim = 14,
    Pahjkoomeci = 15,
    Gmfolmcjdcn = 16,
    Hbjiijkjcga = 17,
    Codbknekgom = 18,
    Opedfndkmcj = 19,
    Bjjmnlkdoip = 20,
    Bkjniggafoo = 21,
    Gflkbgdmidl = 22,
    Leodkjlmccg = 23,
    Npdkighhgaj = 24,
    Hpegjenadah = 25,
    Jpikialdkdm = 26,
}
impl Bdenoikddlj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cllimdddfcj => "BDENOIKDDLJ_CLLIMDDDFCJ",
            Self::Daijjhaiklc => "BDENOIKDDLJ_DAIJJHAIKLC",
            Self::Obfcidenffn => "BDENOIKDDLJ_OBFCIDENFFN",
            Self::Kopnhpnecmj => "BDENOIKDDLJ_KOPNHPNECMJ",
            Self::Jmkhlbcemab => "BDENOIKDDLJ_JMKHLBCEMAB",
            Self::Lbphijbjkmi => "BDENOIKDDLJ_LBPHIJBJKMI",
            Self::Bkjmmaokjbc => "BDENOIKDDLJ_BKJMMAOKJBC",
            Self::Cibnnobccha => "BDENOIKDDLJ_CIBNNOBCCHA",
            Self::Lnjhajckgjp => "BDENOIKDDLJ_LNJHAJCKGJP",
            Self::Plbaglmhecd => "BDENOIKDDLJ_PLBAGLMHECD",
            Self::Ljongjlcgoj => "BDENOIKDDLJ_LJONGJLCGOJ",
            Self::Ckjfhghoack => "BDENOIKDDLJ_CKJFHGHOACK",
            Self::Npoppffhano => "BDENOIKDDLJ_NPOPPFFHANO",
            Self::Aifafepphbe => "BDENOIKDDLJ_AIFAFEPPHBE",
            Self::Jmfffjdkeim => "BDENOIKDDLJ_JMFFFJDKEIM",
            Self::Pahjkoomeci => "BDENOIKDDLJ_PAHJKOOMECI",
            Self::Gmfolmcjdcn => "BDENOIKDDLJ_GMFOLMCJDCN",
            Self::Hbjiijkjcga => "BDENOIKDDLJ_HBJIIJKJCGA",
            Self::Codbknekgom => "BDENOIKDDLJ_CODBKNEKGOM",
            Self::Opedfndkmcj => "BDENOIKDDLJ_OPEDFNDKMCJ",
            Self::Bjjmnlkdoip => "BDENOIKDDLJ_BJJMNLKDOIP",
            Self::Bkjniggafoo => "BDENOIKDDLJ_BKJNIGGAFOO",
            Self::Gflkbgdmidl => "BDENOIKDDLJ_GFLKBGDMIDL",
            Self::Leodkjlmccg => "BDENOIKDDLJ_LEODKJLMCCG",
            Self::Npdkighhgaj => "BDENOIKDDLJ_NPDKIGHHGAJ",
            Self::Hpegjenadah => "BDENOIKDDLJ_HPEGJENADAH",
            Self::Jpikialdkdm => "BDENOIKDDLJ_JPIKIALDKDM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BDENOIKDDLJ_CLLIMDDDFCJ" => Some(Self::Cllimdddfcj),
            "BDENOIKDDLJ_DAIJJHAIKLC" => Some(Self::Daijjhaiklc),
            "BDENOIKDDLJ_OBFCIDENFFN" => Some(Self::Obfcidenffn),
            "BDENOIKDDLJ_KOPNHPNECMJ" => Some(Self::Kopnhpnecmj),
            "BDENOIKDDLJ_JMKHLBCEMAB" => Some(Self::Jmkhlbcemab),
            "BDENOIKDDLJ_LBPHIJBJKMI" => Some(Self::Lbphijbjkmi),
            "BDENOIKDDLJ_BKJMMAOKJBC" => Some(Self::Bkjmmaokjbc),
            "BDENOIKDDLJ_CIBNNOBCCHA" => Some(Self::Cibnnobccha),
            "BDENOIKDDLJ_LNJHAJCKGJP" => Some(Self::Lnjhajckgjp),
            "BDENOIKDDLJ_PLBAGLMHECD" => Some(Self::Plbaglmhecd),
            "BDENOIKDDLJ_LJONGJLCGOJ" => Some(Self::Ljongjlcgoj),
            "BDENOIKDDLJ_CKJFHGHOACK" => Some(Self::Ckjfhghoack),
            "BDENOIKDDLJ_NPOPPFFHANO" => Some(Self::Npoppffhano),
            "BDENOIKDDLJ_AIFAFEPPHBE" => Some(Self::Aifafepphbe),
            "BDENOIKDDLJ_JMFFFJDKEIM" => Some(Self::Jmfffjdkeim),
            "BDENOIKDDLJ_PAHJKOOMECI" => Some(Self::Pahjkoomeci),
            "BDENOIKDDLJ_GMFOLMCJDCN" => Some(Self::Gmfolmcjdcn),
            "BDENOIKDDLJ_HBJIIJKJCGA" => Some(Self::Hbjiijkjcga),
            "BDENOIKDDLJ_CODBKNEKGOM" => Some(Self::Codbknekgom),
            "BDENOIKDDLJ_OPEDFNDKMCJ" => Some(Self::Opedfndkmcj),
            "BDENOIKDDLJ_BJJMNLKDOIP" => Some(Self::Bjjmnlkdoip),
            "BDENOIKDDLJ_BKJNIGGAFOO" => Some(Self::Bkjniggafoo),
            "BDENOIKDDLJ_GFLKBGDMIDL" => Some(Self::Gflkbgdmidl),
            "BDENOIKDDLJ_LEODKJLMCCG" => Some(Self::Leodkjlmccg),
            "BDENOIKDDLJ_NPDKIGHHGAJ" => Some(Self::Npdkighhgaj),
            "BDENOIKDDLJ_HPEGJENADAH" => Some(Self::Hpegjenadah),
            "BDENOIKDDLJ_JPIKIALDKDM" => Some(Self::Jpikialdkdm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Obkldjbdhil {
    Ajbfgnknedl = 0,
    Meacbfmpkje = 1,
    Mdnphefbefa = 2,
    Gcpjflkhjen = 3,
    Jececepnjhe = 4,
}
impl Obkldjbdhil {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ajbfgnknedl => "OBKLDJBDHIL_AJBFGNKNEDL",
            Self::Meacbfmpkje => "OBKLDJBDHIL_MEACBFMPKJE",
            Self::Mdnphefbefa => "OBKLDJBDHIL_MDNPHEFBEFA",
            Self::Gcpjflkhjen => "OBKLDJBDHIL_GCPJFLKHJEN",
            Self::Jececepnjhe => "OBKLDJBDHIL_JECECEPNJHE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OBKLDJBDHIL_AJBFGNKNEDL" => Some(Self::Ajbfgnknedl),
            "OBKLDJBDHIL_MEACBFMPKJE" => Some(Self::Meacbfmpkje),
            "OBKLDJBDHIL_MDNPHEFBEFA" => Some(Self::Mdnphefbefa),
            "OBKLDJBDHIL_GCPJFLKHJEN" => Some(Self::Gcpjflkhjen),
            "OBKLDJBDHIL_JECECEPNJHE" => Some(Self::Jececepnjhe),
            _ => None,
        }
    }
}
/// Obf: AHACILHIOMJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightMarbleHpChangeType {
    AhacilhiomjGjfeondmbkn = 0,
    AhacilhiomjIcfbljfcjik = 1,
    AhacilhiomjJmjpodnmfcp = 2,
}
impl FightMarbleHpChangeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AhacilhiomjGjfeondmbkn => "AHACILHIOMJ_GJFEONDMBKN",
            Self::AhacilhiomjIcfbljfcjik => "AHACILHIOMJ_ICFBLJFCJIK",
            Self::AhacilhiomjJmjpodnmfcp => "AHACILHIOMJ_JMJPODNMFCP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AHACILHIOMJ_GJFEONDMBKN" => Some(Self::AhacilhiomjGjfeondmbkn),
            "AHACILHIOMJ_ICFBLJFCJIK" => Some(Self::AhacilhiomjIcfbljfcjik),
            "AHACILHIOMJ_JMJPODNMFCP" => Some(Self::AhacilhiomjJmjpodnmfcp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kecgpfeiled {
    Nbmflbipofc = 0,
    Loijlmihcbl = 1,
    Mjkdpfcpedb = 2,
    Mpomdamldck = 3,
    Ndmcdmikccm = 4,
    Eafnkpaedik = 5,
    Lgkjpjihkoc = 6,
    Oikndflfbdp = 7,
    Kbmidemopdd = 8,
    Olkbokmhiki = 9,
    Klljacgfhgd = 10,
    Nbaebncpfoc = 11,
    Llaklecdfmg = 12,
    Kbiimaemapp = 13,
    Ogmemcmmicc = 14,
    Gnfnclpdjja = 15,
}
impl Kecgpfeiled {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nbmflbipofc => "KECGPFEILED_NBMFLBIPOFC",
            Self::Loijlmihcbl => "KECGPFEILED_LOIJLMIHCBL",
            Self::Mjkdpfcpedb => "KECGPFEILED_MJKDPFCPEDB",
            Self::Mpomdamldck => "KECGPFEILED_MPOMDAMLDCK",
            Self::Ndmcdmikccm => "KECGPFEILED_NDMCDMIKCCM",
            Self::Eafnkpaedik => "KECGPFEILED_EAFNKPAEDIK",
            Self::Lgkjpjihkoc => "KECGPFEILED_LGKJPJIHKOC",
            Self::Oikndflfbdp => "KECGPFEILED_OIKNDFLFBDP",
            Self::Kbmidemopdd => "KECGPFEILED_KBMIDEMOPDD",
            Self::Olkbokmhiki => "KECGPFEILED_OLKBOKMHIKI",
            Self::Klljacgfhgd => "KECGPFEILED_KLLJACGFHGD",
            Self::Nbaebncpfoc => "KECGPFEILED_NBAEBNCPFOC",
            Self::Llaklecdfmg => "KECGPFEILED_LLAKLECDFMG",
            Self::Kbiimaemapp => "KECGPFEILED_KBIIMAEMAPP",
            Self::Ogmemcmmicc => "KECGPFEILED_OGMEMCMMICC",
            Self::Gnfnclpdjja => "KECGPFEILED_GNFNCLPDJJA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KECGPFEILED_NBMFLBIPOFC" => Some(Self::Nbmflbipofc),
            "KECGPFEILED_LOIJLMIHCBL" => Some(Self::Loijlmihcbl),
            "KECGPFEILED_MJKDPFCPEDB" => Some(Self::Mjkdpfcpedb),
            "KECGPFEILED_MPOMDAMLDCK" => Some(Self::Mpomdamldck),
            "KECGPFEILED_NDMCDMIKCCM" => Some(Self::Ndmcdmikccm),
            "KECGPFEILED_EAFNKPAEDIK" => Some(Self::Eafnkpaedik),
            "KECGPFEILED_LGKJPJIHKOC" => Some(Self::Lgkjpjihkoc),
            "KECGPFEILED_OIKNDFLFBDP" => Some(Self::Oikndflfbdp),
            "KECGPFEILED_KBMIDEMOPDD" => Some(Self::Kbmidemopdd),
            "KECGPFEILED_OLKBOKMHIKI" => Some(Self::Olkbokmhiki),
            "KECGPFEILED_KLLJACGFHGD" => Some(Self::Klljacgfhgd),
            "KECGPFEILED_NBAEBNCPFOC" => Some(Self::Nbaebncpfoc),
            "KECGPFEILED_LLAKLECDFMG" => Some(Self::Llaklecdfmg),
            "KECGPFEILED_KBIIMAEMAPP" => Some(Self::Kbiimaemapp),
            "KECGPFEILED_OGMEMCMMICC" => Some(Self::Ogmemcmmicc),
            "KECGPFEILED_GNFNCLPDJJA" => Some(Self::Gnfnclpdjja),
            _ => None,
        }
    }
}
/// Obf: PAOKPHEDMFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMatch3Type {
    PaokphedmfoMgbjfkcfbdn = 0,
    CmdImkbckdhfab = 30128,
    CmdKlachdlobnl = 30189,
    PaokphedmfoDicbgedjdeh = 30145,
    CmdBfpcpoefjhn = 30150,
    PaokphedmfoDkionfogllg = 30157,
    PaokphedmfoIkmkohlpfnf = 30196,
    CmdAmcbdgkagkk = 30155,
    CmdHjbmnoeheon = 30120,
    CmdColjjdcagdo = 30134,
    CmdMapmmejebpm = 30179,
    CmdIbhhogcgebi = 30180,
    CmdCklgkfdpobn = 30193,
    PaokphedmfoKoochpndbdo = 30166,
    CmdAgmciceafhc = 30138,
    PaokphedmfoIlcpjmephij = 30177,
    CmdIjjnlccckob = 30183,
    CmdMiilkkkpekb = 30169,
    CmdCddboihmibp = 30176,
    CmdPopgbikilae = 30105,
    CmdDhlljfehjmc = 30175,
    CmdJcfdmdjncac = 30114,
    PaokphedmfoBbjdempnmgl = 30126,
    CmdKcjoojcbnjg = 30147,
    CmdBbmabhlnhfl = 30137,
    CmdEloocafchop = 30112,
    PaokphedmfoLfjcjdpdpjn = 30162,
    PaokphedmfoKndfokogkbd = 30195,
}
impl CmdFightMatch3Type {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PaokphedmfoMgbjfkcfbdn => "PAOKPHEDMFO_MGBJFKCFBDN",
            Self::CmdImkbckdhfab => "CmdIMKBCKDHFAB",
            Self::CmdKlachdlobnl => "CmdKLACHDLOBNL",
            Self::PaokphedmfoDicbgedjdeh => "PAOKPHEDMFO_DICBGEDJDEH",
            Self::CmdBfpcpoefjhn => "CmdBFPCPOEFJHN",
            Self::PaokphedmfoDkionfogllg => "PAOKPHEDMFO_DKIONFOGLLG",
            Self::PaokphedmfoIkmkohlpfnf => "PAOKPHEDMFO_IKMKOHLPFNF",
            Self::CmdAmcbdgkagkk => "CmdAMCBDGKAGKK",
            Self::CmdHjbmnoeheon => "CmdHJBMNOEHEON",
            Self::CmdColjjdcagdo => "CmdCOLJJDCAGDO",
            Self::CmdMapmmejebpm => "CmdMAPMMEJEBPM",
            Self::CmdIbhhogcgebi => "CmdIBHHOGCGEBI",
            Self::CmdCklgkfdpobn => "CmdCKLGKFDPOBN",
            Self::PaokphedmfoKoochpndbdo => "PAOKPHEDMFO_KOOCHPNDBDO",
            Self::CmdAgmciceafhc => "CmdAGMCICEAFHC",
            Self::PaokphedmfoIlcpjmephij => "PAOKPHEDMFO_ILCPJMEPHIJ",
            Self::CmdIjjnlccckob => "CmdIJJNLCCCKOB",
            Self::CmdMiilkkkpekb => "CmdMIILKKKPEKB",
            Self::CmdCddboihmibp => "CmdCDDBOIHMIBP",
            Self::CmdPopgbikilae => "CmdPOPGBIKILAE",
            Self::CmdDhlljfehjmc => "CmdDHLLJFEHJMC",
            Self::CmdJcfdmdjncac => "CmdJCFDMDJNCAC",
            Self::PaokphedmfoBbjdempnmgl => "PAOKPHEDMFO_BBJDEMPNMGL",
            Self::CmdKcjoojcbnjg => "CmdKCJOOJCBNJG",
            Self::CmdBbmabhlnhfl => "CmdBBMABHLNHFL",
            Self::CmdEloocafchop => "CmdELOOCAFCHOP",
            Self::PaokphedmfoLfjcjdpdpjn => "PAOKPHEDMFO_LFJCJDPDPJN",
            Self::PaokphedmfoKndfokogkbd => "PAOKPHEDMFO_KNDFOKOGKBD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAOKPHEDMFO_MGBJFKCFBDN" => Some(Self::PaokphedmfoMgbjfkcfbdn),
            "CmdIMKBCKDHFAB" => Some(Self::CmdImkbckdhfab),
            "CmdKLACHDLOBNL" => Some(Self::CmdKlachdlobnl),
            "PAOKPHEDMFO_DICBGEDJDEH" => Some(Self::PaokphedmfoDicbgedjdeh),
            "CmdBFPCPOEFJHN" => Some(Self::CmdBfpcpoefjhn),
            "PAOKPHEDMFO_DKIONFOGLLG" => Some(Self::PaokphedmfoDkionfogllg),
            "PAOKPHEDMFO_IKMKOHLPFNF" => Some(Self::PaokphedmfoIkmkohlpfnf),
            "CmdAMCBDGKAGKK" => Some(Self::CmdAmcbdgkagkk),
            "CmdHJBMNOEHEON" => Some(Self::CmdHjbmnoeheon),
            "CmdCOLJJDCAGDO" => Some(Self::CmdColjjdcagdo),
            "CmdMAPMMEJEBPM" => Some(Self::CmdMapmmejebpm),
            "CmdIBHHOGCGEBI" => Some(Self::CmdIbhhogcgebi),
            "CmdCKLGKFDPOBN" => Some(Self::CmdCklgkfdpobn),
            "PAOKPHEDMFO_KOOCHPNDBDO" => Some(Self::PaokphedmfoKoochpndbdo),
            "CmdAGMCICEAFHC" => Some(Self::CmdAgmciceafhc),
            "PAOKPHEDMFO_ILCPJMEPHIJ" => Some(Self::PaokphedmfoIlcpjmephij),
            "CmdIJJNLCCCKOB" => Some(Self::CmdIjjnlccckob),
            "CmdMIILKKKPEKB" => Some(Self::CmdMiilkkkpekb),
            "CmdCDDBOIHMIBP" => Some(Self::CmdCddboihmibp),
            "CmdPOPGBIKILAE" => Some(Self::CmdPopgbikilae),
            "CmdDHLLJFEHJMC" => Some(Self::CmdDhlljfehjmc),
            "CmdJCFDMDJNCAC" => Some(Self::CmdJcfdmdjncac),
            "PAOKPHEDMFO_BBJDEMPNMGL" => Some(Self::PaokphedmfoBbjdempnmgl),
            "CmdKCJOOJCBNJG" => Some(Self::CmdKcjoojcbnjg),
            "CmdBBMABHLNHFL" => Some(Self::CmdBbmabhlnhfl),
            "CmdELOOCAFCHOP" => Some(Self::CmdEloocafchop),
            "PAOKPHEDMFO_LFJCJDPDPJN" => Some(Self::PaokphedmfoLfjcjdpdpjn),
            "PAOKPHEDMFO_KNDFOKOGKBD" => Some(Self::PaokphedmfoKndfokogkbd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dedimhkjnmj {
    Kfnllpgmdmg = 0,
    Llgdddenfpj = 1,
    Onjoeknikge = 2,
    Cehfomdapfb = 3,
    Miineepjcla = 4,
    Koconockfnj = 5,
}
impl Dedimhkjnmj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kfnllpgmdmg => "DEDIMHKJNMJ_KFNLLPGMDMG",
            Self::Llgdddenfpj => "DEDIMHKJNMJ_LLGDDDENFPJ",
            Self::Onjoeknikge => "DEDIMHKJNMJ_ONJOEKNIKGE",
            Self::Cehfomdapfb => "DEDIMHKJNMJ_CEHFOMDAPFB",
            Self::Miineepjcla => "DEDIMHKJNMJ_MIINEEPJCLA",
            Self::Koconockfnj => "DEDIMHKJNMJ_KOCONOCKFNJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEDIMHKJNMJ_KFNLLPGMDMG" => Some(Self::Kfnllpgmdmg),
            "DEDIMHKJNMJ_LLGDDDENFPJ" => Some(Self::Llgdddenfpj),
            "DEDIMHKJNMJ_ONJOEKNIKGE" => Some(Self::Onjoeknikge),
            "DEDIMHKJNMJ_CEHFOMDAPFB" => Some(Self::Cehfomdapfb),
            "DEDIMHKJNMJ_MIINEEPJCLA" => Some(Self::Miineepjcla),
            "DEDIMHKJNMJ_KOCONOCKFNJ" => Some(Self::Koconockfnj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dgbmekmlobc {
    Ndmgbbjcmgf = 0,
    Epmgefkmifb = 1,
    Addopiljdka = 2,
    Gkekpbjedih = 3,
}
impl Dgbmekmlobc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ndmgbbjcmgf => "DGBMEKMLOBC_NDMGBBJCMGF",
            Self::Epmgefkmifb => "DGBMEKMLOBC_EPMGEFKMIFB",
            Self::Addopiljdka => "DGBMEKMLOBC_ADDOPILJDKA",
            Self::Gkekpbjedih => "DGBMEKMLOBC_GKEKPBJEDIH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DGBMEKMLOBC_NDMGBBJCMGF" => Some(Self::Ndmgbbjcmgf),
            "DGBMEKMLOBC_EPMGEFKMIFB" => Some(Self::Epmgefkmifb),
            "DGBMEKMLOBC_ADDOPILJDKA" => Some(Self::Addopiljdka),
            "DGBMEKMLOBC_GKEKPBJEDIH" => Some(Self::Gkekpbjedih),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lpjdbpmbdfa {
    Domapkgdjig = 0,
    Nofgdgfoakb = 1,
    Lnnafapfnbc = 2,
    Mbknlmffdeg = 3,
    Affobnipoba = 4,
    Dcjgkpdmlbn = 5,
}
impl Lpjdbpmbdfa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Domapkgdjig => "LPJDBPMBDFA_DOMAPKGDJIG",
            Self::Nofgdgfoakb => "LPJDBPMBDFA_NOFGDGFOAKB",
            Self::Lnnafapfnbc => "LPJDBPMBDFA_LNNAFAPFNBC",
            Self::Mbknlmffdeg => "LPJDBPMBDFA_MBKNLMFFDEG",
            Self::Affobnipoba => "LPJDBPMBDFA_AFFOBNIPOBA",
            Self::Dcjgkpdmlbn => "LPJDBPMBDFA_DCJGKPDMLBN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LPJDBPMBDFA_DOMAPKGDJIG" => Some(Self::Domapkgdjig),
            "LPJDBPMBDFA_NOFGDGFOAKB" => Some(Self::Nofgdgfoakb),
            "LPJDBPMBDFA_LNNAFAPFNBC" => Some(Self::Lnnafapfnbc),
            "LPJDBPMBDFA_MBKNLMFFDEG" => Some(Self::Mbknlmffdeg),
            "LPJDBPMBDFA_AFFOBNIPOBA" => Some(Self::Affobnipoba),
            "LPJDBPMBDFA_DCJGKPDMLBN" => Some(Self::Dcjgkpdmlbn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gibkpkmonma {
    Lcdpmhafphm = 0,
    Bnijnnikcfc = 1,
    Afapkaellgf = 2,
    Fpjfmjgpdpo = 3,
    Plmoijmoljk = 4,
    Bklkdfbeefe = 5,
}
impl Gibkpkmonma {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lcdpmhafphm => "GIBKPKMONMA_LCDPMHAFPHM",
            Self::Bnijnnikcfc => "GIBKPKMONMA_BNIJNNIKCFC",
            Self::Afapkaellgf => "GIBKPKMONMA_AFAPKAELLGF",
            Self::Fpjfmjgpdpo => "GIBKPKMONMA_FPJFMJGPDPO",
            Self::Plmoijmoljk => "GIBKPKMONMA_PLMOIJMOLJK",
            Self::Bklkdfbeefe => "GIBKPKMONMA_BKLKDFBEEFE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GIBKPKMONMA_LCDPMHAFPHM" => Some(Self::Lcdpmhafphm),
            "GIBKPKMONMA_BNIJNNIKCFC" => Some(Self::Bnijnnikcfc),
            "GIBKPKMONMA_AFAPKAELLGF" => Some(Self::Afapkaellgf),
            "GIBKPKMONMA_FPJFMJGPDPO" => Some(Self::Fpjfmjgpdpo),
            "GIBKPKMONMA_PLMOIJMOLJK" => Some(Self::Plmoijmoljk),
            "GIBKPKMONMA_BKLKDFBEEFE" => Some(Self::Bklkdfbeefe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kogcbngfomf {
    Gkjbaodjmjg = 0,
    Gnommhlefnf = 1,
    Mdjhepfeeol = 2,
}
impl Kogcbngfomf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "KOGCBNGFOMF_GKJBAODJMJG",
            Self::Gnommhlefnf => "KOGCBNGFOMF_GNOMMHLEFNF",
            Self::Mdjhepfeeol => "KOGCBNGFOMF_MDJHEPFEEOL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KOGCBNGFOMF_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "KOGCBNGFOMF_GNOMMHLEFNF" => Some(Self::Gnommhlefnf),
            "KOGCBNGFOMF_MDJHEPFEEOL" => Some(Self::Mdjhepfeeol),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ipgkkbajeim {
    Gkjbaodjmjg = 0,
    Pkmlmhhfobj = 1,
    Opmebamjfml = 2,
    Jnacadehhio = 3,
}
impl Ipgkkbajeim {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IPGKKBAJEIM_GKJBAODJMJG",
            Self::Pkmlmhhfobj => "IPGKKBAJEIM_PKMLMHHFOBJ",
            Self::Opmebamjfml => "IPGKKBAJEIM_OPMEBAMJFML",
            Self::Jnacadehhio => "IPGKKBAJEIM_JNACADEHHIO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IPGKKBAJEIM_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IPGKKBAJEIM_PKMLMHHFOBJ" => Some(Self::Pkmlmhhfobj),
            "IPGKKBAJEIM_OPMEBAMJFML" => Some(Self::Opmebamjfml),
            "IPGKKBAJEIM_JNACADEHHIO" => Some(Self::Jnacadehhio),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdmbcppdfml {
    Ebndmhhmpan = 0,
    Ooelljineim = 1,
    Cdgfffgpamg = 2,
    Deagggbajao = 3,
    Accpgdfehpe = 4,
    Cjmohicmfek = 5,
}
impl Hdmbcppdfml {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ebndmhhmpan => "HDMBCPPDFML_EBNDMHHMPAN",
            Self::Ooelljineim => "HDMBCPPDFML_OOELLJINEIM",
            Self::Cdgfffgpamg => "HDMBCPPDFML_CDGFFFGPAMG",
            Self::Deagggbajao => "HDMBCPPDFML_DEAGGGBAJAO",
            Self::Accpgdfehpe => "HDMBCPPDFML_ACCPGDFEHPE",
            Self::Cjmohicmfek => "HDMBCPPDFML_CJMOHICMFEK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDMBCPPDFML_EBNDMHHMPAN" => Some(Self::Ebndmhhmpan),
            "HDMBCPPDFML_OOELLJINEIM" => Some(Self::Ooelljineim),
            "HDMBCPPDFML_CDGFFFGPAMG" => Some(Self::Cdgfffgpamg),
            "HDMBCPPDFML_DEAGGGBAJAO" => Some(Self::Deagggbajao),
            "HDMBCPPDFML_ACCPGDFEHPE" => Some(Self::Accpgdfehpe),
            "HDMBCPPDFML_CJMOHICMFEK" => Some(Self::Cjmohicmfek),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Adaphabgple {
    Japabaloamn = 0,
    Neikcklojph = 1,
    Neikgmbmooj = 2,
    Akpdloebofb = 3,
    Knondhcmccj = 4,
}
impl Adaphabgple {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Japabaloamn => "ADAPHABGPLE_JAPABALOAMN",
            Self::Neikcklojph => "ADAPHABGPLE_NEIKCKLOJPH",
            Self::Neikgmbmooj => "ADAPHABGPLE_NEIKGMBMOOJ",
            Self::Akpdloebofb => "ADAPHABGPLE_AKPDLOEBOFB",
            Self::Knondhcmccj => "ADAPHABGPLE_KNONDHCMCCJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADAPHABGPLE_JAPABALOAMN" => Some(Self::Japabaloamn),
            "ADAPHABGPLE_NEIKCKLOJPH" => Some(Self::Neikcklojph),
            "ADAPHABGPLE_NEIKGMBMOOJ" => Some(Self::Neikgmbmooj),
            "ADAPHABGPLE_AKPDLOEBOFB" => Some(Self::Akpdloebofb),
            "ADAPHABGPLE_KNONDHCMCCJ" => Some(Self::Knondhcmccj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Flipmobngen {
    Dmndapiiahe = 0,
    Kojnpmfjcoj = 1,
    Cpjdmcanaii = 2,
    Kihhopclonc = 3,
    Nmjofkebpja = 4,
    Hnpmcgfdlmg = 5,
}
impl Flipmobngen {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dmndapiiahe => "FLIPMOBNGEN_DMNDAPIIAHE",
            Self::Kojnpmfjcoj => "FLIPMOBNGEN_KOJNPMFJCOJ",
            Self::Cpjdmcanaii => "FLIPMOBNGEN_CPJDMCANAII",
            Self::Kihhopclonc => "FLIPMOBNGEN_KIHHOPCLONC",
            Self::Nmjofkebpja => "FLIPMOBNGEN_NMJOFKEBPJA",
            Self::Hnpmcgfdlmg => "FLIPMOBNGEN_HNPMCGFDLMG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FLIPMOBNGEN_DMNDAPIIAHE" => Some(Self::Dmndapiiahe),
            "FLIPMOBNGEN_KOJNPMFJCOJ" => Some(Self::Kojnpmfjcoj),
            "FLIPMOBNGEN_CPJDMCANAII" => Some(Self::Cpjdmcanaii),
            "FLIPMOBNGEN_KIHHOPCLONC" => Some(Self::Kihhopclonc),
            "FLIPMOBNGEN_NMJOFKEBPJA" => Some(Self::Nmjofkebpja),
            "FLIPMOBNGEN_HNPMCGFDLMG" => Some(Self::Hnpmcgfdlmg),
            _ => None,
        }
    }
}
/// Obf: ANLJNPAFMJN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFiveDimType {
    AnljnpafmjnGkjbaodjmjg = 0,
    CmdFiveDimGameDataUpdateScNotify = 2262,
    AnljnpafmjnMflphfpbpbm = 2263,
    CmdLeaveFiveDimGameScRsp = 2272,
    AnljnpafmjnFajahmgjcii = 2251,
    CmdFiveDimMoneyChangeScNotify = 2274,
    CmdUpdateFiveDimGameDataScRsp = 2275,
    AnljnpafmjnPfpmnmlhokk = 2254,
    CmdFiveDimJumpEnergyChangeScNotify = 2253,
    AnljnpafmjnJbcjholbnnd = 2259,
    CmdFiveDimGameTransferScRsp = 2268,
    CmdEnterFiveDimGameScRsp = 2261,
    CmdGetFiveDimMoneyDataScRsp = 2267,
    AnljnpafmjnJcebfcnnoco = 2266,
    AnljnpafmjnIcdgpaddapd = 2269,
    CmdGetFiveDimMoneyScRsp = 2273,
    CmdGetFiveDimGameDataScRsp = 2260,
    AnljnpafmjnAafgdeognnj = 2270,
}
impl CmdFiveDimType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AnljnpafmjnGkjbaodjmjg => "ANLJNPAFMJN_GKJBAODJMJG",
            Self::CmdFiveDimGameDataUpdateScNotify => "CmdFiveDimGameDataUpdateScNotify",
            Self::AnljnpafmjnMflphfpbpbm => "ANLJNPAFMJN_MFLPHFPBPBM",
            Self::CmdLeaveFiveDimGameScRsp => "CmdLeaveFiveDimGameScRsp",
            Self::AnljnpafmjnFajahmgjcii => "ANLJNPAFMJN_FAJAHMGJCII",
            Self::CmdFiveDimMoneyChangeScNotify => "CmdFiveDimMoneyChangeScNotify",
            Self::CmdUpdateFiveDimGameDataScRsp => "CmdUpdateFiveDimGameDataScRsp",
            Self::AnljnpafmjnPfpmnmlhokk => "ANLJNPAFMJN_PFPMNMLHOKK",
            Self::CmdFiveDimJumpEnergyChangeScNotify => {
                "CmdFiveDimJumpEnergyChangeScNotify"
            }
            Self::AnljnpafmjnJbcjholbnnd => "ANLJNPAFMJN_JBCJHOLBNND",
            Self::CmdFiveDimGameTransferScRsp => "CmdFiveDimGameTransferScRsp",
            Self::CmdEnterFiveDimGameScRsp => "CmdEnterFiveDimGameScRsp",
            Self::CmdGetFiveDimMoneyDataScRsp => "CmdGetFiveDimMoneyDataScRsp",
            Self::AnljnpafmjnJcebfcnnoco => "ANLJNPAFMJN_JCEBFCNNOCO",
            Self::AnljnpafmjnIcdgpaddapd => "ANLJNPAFMJN_ICDGPADDAPD",
            Self::CmdGetFiveDimMoneyScRsp => "CmdGetFiveDimMoneyScRsp",
            Self::CmdGetFiveDimGameDataScRsp => "CmdGetFiveDimGameDataScRsp",
            Self::AnljnpafmjnAafgdeognnj => "ANLJNPAFMJN_AAFGDEOGNNJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ANLJNPAFMJN_GKJBAODJMJG" => Some(Self::AnljnpafmjnGkjbaodjmjg),
            "CmdFiveDimGameDataUpdateScNotify" => {
                Some(Self::CmdFiveDimGameDataUpdateScNotify)
            }
            "ANLJNPAFMJN_MFLPHFPBPBM" => Some(Self::AnljnpafmjnMflphfpbpbm),
            "CmdLeaveFiveDimGameScRsp" => Some(Self::CmdLeaveFiveDimGameScRsp),
            "ANLJNPAFMJN_FAJAHMGJCII" => Some(Self::AnljnpafmjnFajahmgjcii),
            "CmdFiveDimMoneyChangeScNotify" => Some(Self::CmdFiveDimMoneyChangeScNotify),
            "CmdUpdateFiveDimGameDataScRsp" => Some(Self::CmdUpdateFiveDimGameDataScRsp),
            "ANLJNPAFMJN_PFPMNMLHOKK" => Some(Self::AnljnpafmjnPfpmnmlhokk),
            "CmdFiveDimJumpEnergyChangeScNotify" => {
                Some(Self::CmdFiveDimJumpEnergyChangeScNotify)
            }
            "ANLJNPAFMJN_JBCJHOLBNND" => Some(Self::AnljnpafmjnJbcjholbnnd),
            "CmdFiveDimGameTransferScRsp" => Some(Self::CmdFiveDimGameTransferScRsp),
            "CmdEnterFiveDimGameScRsp" => Some(Self::CmdEnterFiveDimGameScRsp),
            "CmdGetFiveDimMoneyDataScRsp" => Some(Self::CmdGetFiveDimMoneyDataScRsp),
            "ANLJNPAFMJN_JCEBFCNNOCO" => Some(Self::AnljnpafmjnJcebfcnnoco),
            "ANLJNPAFMJN_ICDGPADDAPD" => Some(Self::AnljnpafmjnIcdgpaddapd),
            "CmdGetFiveDimMoneyScRsp" => Some(Self::CmdGetFiveDimMoneyScRsp),
            "CmdGetFiveDimGameDataScRsp" => Some(Self::CmdGetFiveDimGameDataScRsp),
            "ANLJNPAFMJN_AAFGDEOGNNJ" => Some(Self::AnljnpafmjnAafgdeognnj),
            _ => None,
        }
    }
}
/// Obf: OADOLBKLHAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFriendType {
    OadolbklhahGkjbaodjmjg = 0,
    CmdGetAssistHistoryCsReq = 2942,
    CmdGetFriendListInfoScRsp = 2928,
    CmdSearchPlayerCsReq = 2950,
    CmdTakeAssistRewardScRsp = 2988,
    CmdGetCurAssistScRsp = 2999,
    CmdGetFriendRecommendLineupDetailCsReq = 2960,
    CmdGetFriendBattleRecordDetailScRsp = 2997,
    CmdReportPlayerCsReq = 2980,
    CmdTakeAssistRewardCsReq = 2982,
    CmdCurAssistChangedNotify = 2951,
    CmdGetAssistHistoryScRsp = 2916,
    CmdSetForbidOtherApplyFriendScRsp = 2932,
    CmdAddBlacklistScRsp = 2995,
    CmdSearchPlayerScRsp = 2986,
    CmdSetFriendMarkCsReq = 2921,
    CmdSetFriendRemarkNameCsReq = 2976,
    CmdGetAssistListScRsp = 2985,
    CmdNewAssistHistoryNotify = 2952,
    CmdSyncHandleFriendScNotify = 2969,
    CmdGetFriendApplyListInfoScRsp = 2962,
    CmdDeleteFriendScRsp = 2979,
    CmdGetPlatformPlayerInfoScRsp = 2908,
    CmdNepelihlkin = 2977,
    CmdSetAssistCsReq = 2911,
    CmdApplyFriendCsReq = 2947,
    CmdDeleteBlacklistScRsp = 2912,
    CmdSetFriendRemarkNameScRsp = 2996,
    CmdGetFriendListInfoCsReq = 2957,
    CmdHandleFriendCsReq = 2905,
    CmdGetFriendDevelopmentInfoScRsp = 2991,
    CmdGetPlayerDetailInfoCsReq = 2955,
    CmdGetFriendDevelopmentInfoCsReq = 2915,
    CmdGetFriendRecommendLineupDetailScRsp = 2968,
    CmdGetFriendLoginInfoCsReq = 2970,
    CmdGetAssistListCsReq = 2909,
    CmdAddBlacklistCsReq = 2983,
    CmdSyncDeleteFriendScNotify = 2945,
    CmdSyncAddBlacklistScNotify = 2934,
    CmdSyncApplyFriendScNotify = 2926,
    CmdGetFriendRecommendLineupCsReq = 2922,
    CmdGetPlatformPlayerInfoCsReq = 2956,
    CmdGetFriendAssistListCsReq = 2918,
    CmdSetFriendMarkScRsp = 2930,
    CmdDeleteBlacklistCsReq = 2914,
    CmdGetCurAssistCsReq = 2913,
    CmdSetAllowOtherApplyFriendCsReq = 2941,
    CmdGetFriendBattleRecordDetailCsReq = 2981,
    CmdSetAssistScRsp = 2978,
    CmdGetFriendAssistListScRsp = 2992,
    CmdGetFriendRecommendLineupScRsp = 2972,
    CmdGetFriendLoginInfoScRsp = 2901,
    CmdDeleteFriendCsReq = 2966,
    CmdGetFriendRecommendListInfoScRsp = 2989,
    CmdGetFriendRecommendListInfoCsReq = 2993,
    CmdGetPlayerDetailInfoScRsp = 2975,
    CmdGetFriendApplyListInfoCsReq = 2938,
    CmdApplyFriendScRsp = 2920,
    CmdHandleFriendScRsp = 2937,
}
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 {
            Self::OadolbklhahGkjbaodjmjg => "OADOLBKLHAH_GKJBAODJMJG",
            Self::CmdGetAssistHistoryCsReq => "CmdGetAssistHistoryCsReq",
            Self::CmdGetFriendListInfoScRsp => "CmdGetFriendListInfoScRsp",
            Self::CmdSearchPlayerCsReq => "CmdSearchPlayerCsReq",
            Self::CmdTakeAssistRewardScRsp => "CmdTakeAssistRewardScRsp",
            Self::CmdGetCurAssistScRsp => "CmdGetCurAssistScRsp",
            Self::CmdGetFriendRecommendLineupDetailCsReq => {
                "CmdGetFriendRecommendLineupDetailCsReq"
            }
            Self::CmdGetFriendBattleRecordDetailScRsp => {
                "CmdGetFriendBattleRecordDetailScRsp"
            }
            Self::CmdReportPlayerCsReq => "CmdReportPlayerCsReq",
            Self::CmdTakeAssistRewardCsReq => "CmdTakeAssistRewardCsReq",
            Self::CmdCurAssistChangedNotify => "CmdCurAssistChangedNotify",
            Self::CmdGetAssistHistoryScRsp => "CmdGetAssistHistoryScRsp",
            Self::CmdSetForbidOtherApplyFriendScRsp => {
                "CmdSetForbidOtherApplyFriendScRsp"
            }
            Self::CmdAddBlacklistScRsp => "CmdAddBlacklistScRsp",
            Self::CmdSearchPlayerScRsp => "CmdSearchPlayerScRsp",
            Self::CmdSetFriendMarkCsReq => "CmdSetFriendMarkCsReq",
            Self::CmdSetFriendRemarkNameCsReq => "CmdSetFriendRemarkNameCsReq",
            Self::CmdGetAssistListScRsp => "CmdGetAssistListScRsp",
            Self::CmdNewAssistHistoryNotify => "CmdNewAssistHistoryNotify",
            Self::CmdSyncHandleFriendScNotify => "CmdSyncHandleFriendScNotify",
            Self::CmdGetFriendApplyListInfoScRsp => "CmdGetFriendApplyListInfoScRsp",
            Self::CmdDeleteFriendScRsp => "CmdDeleteFriendScRsp",
            Self::CmdGetPlatformPlayerInfoScRsp => "CmdGetPlatformPlayerInfoScRsp",
            Self::CmdNepelihlkin => "CmdNEPELIHLKIN",
            Self::CmdSetAssistCsReq => "CmdSetAssistCsReq",
            Self::CmdApplyFriendCsReq => "CmdApplyFriendCsReq",
            Self::CmdDeleteBlacklistScRsp => "CmdDeleteBlacklistScRsp",
            Self::CmdSetFriendRemarkNameScRsp => "CmdSetFriendRemarkNameScRsp",
            Self::CmdGetFriendListInfoCsReq => "CmdGetFriendListInfoCsReq",
            Self::CmdHandleFriendCsReq => "CmdHandleFriendCsReq",
            Self::CmdGetFriendDevelopmentInfoScRsp => "CmdGetFriendDevelopmentInfoScRsp",
            Self::CmdGetPlayerDetailInfoCsReq => "CmdGetPlayerDetailInfoCsReq",
            Self::CmdGetFriendDevelopmentInfoCsReq => "CmdGetFriendDevelopmentInfoCsReq",
            Self::CmdGetFriendRecommendLineupDetailScRsp => {
                "CmdGetFriendRecommendLineupDetailScRsp"
            }
            Self::CmdGetFriendLoginInfoCsReq => "CmdGetFriendLoginInfoCsReq",
            Self::CmdGetAssistListCsReq => "CmdGetAssistListCsReq",
            Self::CmdAddBlacklistCsReq => "CmdAddBlacklistCsReq",
            Self::CmdSyncDeleteFriendScNotify => "CmdSyncDeleteFriendScNotify",
            Self::CmdSyncAddBlacklistScNotify => "CmdSyncAddBlacklistScNotify",
            Self::CmdSyncApplyFriendScNotify => "CmdSyncApplyFriendScNotify",
            Self::CmdGetFriendRecommendLineupCsReq => "CmdGetFriendRecommendLineupCsReq",
            Self::CmdGetPlatformPlayerInfoCsReq => "CmdGetPlatformPlayerInfoCsReq",
            Self::CmdGetFriendAssistListCsReq => "CmdGetFriendAssistListCsReq",
            Self::CmdSetFriendMarkScRsp => "CmdSetFriendMarkScRsp",
            Self::CmdDeleteBlacklistCsReq => "CmdDeleteBlacklistCsReq",
            Self::CmdGetCurAssistCsReq => "CmdGetCurAssistCsReq",
            Self::CmdSetAllowOtherApplyFriendCsReq => "CmdSetAllowOtherApplyFriendCsReq",
            Self::CmdGetFriendBattleRecordDetailCsReq => {
                "CmdGetFriendBattleRecordDetailCsReq"
            }
            Self::CmdSetAssistScRsp => "CmdSetAssistScRsp",
            Self::CmdGetFriendAssistListScRsp => "CmdGetFriendAssistListScRsp",
            Self::CmdGetFriendRecommendLineupScRsp => "CmdGetFriendRecommendLineupScRsp",
            Self::CmdGetFriendLoginInfoScRsp => "CmdGetFriendLoginInfoScRsp",
            Self::CmdDeleteFriendCsReq => "CmdDeleteFriendCsReq",
            Self::CmdGetFriendRecommendListInfoScRsp => {
                "CmdGetFriendRecommendListInfoScRsp"
            }
            Self::CmdGetFriendRecommendListInfoCsReq => {
                "CmdGetFriendRecommendListInfoCsReq"
            }
            Self::CmdGetPlayerDetailInfoScRsp => "CmdGetPlayerDetailInfoScRsp",
            Self::CmdGetFriendApplyListInfoCsReq => "CmdGetFriendApplyListInfoCsReq",
            Self::CmdApplyFriendScRsp => "CmdApplyFriendScRsp",
            Self::CmdHandleFriendScRsp => "CmdHandleFriendScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OADOLBKLHAH_GKJBAODJMJG" => Some(Self::OadolbklhahGkjbaodjmjg),
            "CmdGetAssistHistoryCsReq" => Some(Self::CmdGetAssistHistoryCsReq),
            "CmdGetFriendListInfoScRsp" => Some(Self::CmdGetFriendListInfoScRsp),
            "CmdSearchPlayerCsReq" => Some(Self::CmdSearchPlayerCsReq),
            "CmdTakeAssistRewardScRsp" => Some(Self::CmdTakeAssistRewardScRsp),
            "CmdGetCurAssistScRsp" => Some(Self::CmdGetCurAssistScRsp),
            "CmdGetFriendRecommendLineupDetailCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupDetailCsReq)
            }
            "CmdGetFriendBattleRecordDetailScRsp" => {
                Some(Self::CmdGetFriendBattleRecordDetailScRsp)
            }
            "CmdReportPlayerCsReq" => Some(Self::CmdReportPlayerCsReq),
            "CmdTakeAssistRewardCsReq" => Some(Self::CmdTakeAssistRewardCsReq),
            "CmdCurAssistChangedNotify" => Some(Self::CmdCurAssistChangedNotify),
            "CmdGetAssistHistoryScRsp" => Some(Self::CmdGetAssistHistoryScRsp),
            "CmdSetForbidOtherApplyFriendScRsp" => {
                Some(Self::CmdSetForbidOtherApplyFriendScRsp)
            }
            "CmdAddBlacklistScRsp" => Some(Self::CmdAddBlacklistScRsp),
            "CmdSearchPlayerScRsp" => Some(Self::CmdSearchPlayerScRsp),
            "CmdSetFriendMarkCsReq" => Some(Self::CmdSetFriendMarkCsReq),
            "CmdSetFriendRemarkNameCsReq" => Some(Self::CmdSetFriendRemarkNameCsReq),
            "CmdGetAssistListScRsp" => Some(Self::CmdGetAssistListScRsp),
            "CmdNewAssistHistoryNotify" => Some(Self::CmdNewAssistHistoryNotify),
            "CmdSyncHandleFriendScNotify" => Some(Self::CmdSyncHandleFriendScNotify),
            "CmdGetFriendApplyListInfoScRsp" => {
                Some(Self::CmdGetFriendApplyListInfoScRsp)
            }
            "CmdDeleteFriendScRsp" => Some(Self::CmdDeleteFriendScRsp),
            "CmdGetPlatformPlayerInfoScRsp" => Some(Self::CmdGetPlatformPlayerInfoScRsp),
            "CmdNEPELIHLKIN" => Some(Self::CmdNepelihlkin),
            "CmdSetAssistCsReq" => Some(Self::CmdSetAssistCsReq),
            "CmdApplyFriendCsReq" => Some(Self::CmdApplyFriendCsReq),
            "CmdDeleteBlacklistScRsp" => Some(Self::CmdDeleteBlacklistScRsp),
            "CmdSetFriendRemarkNameScRsp" => Some(Self::CmdSetFriendRemarkNameScRsp),
            "CmdGetFriendListInfoCsReq" => Some(Self::CmdGetFriendListInfoCsReq),
            "CmdHandleFriendCsReq" => Some(Self::CmdHandleFriendCsReq),
            "CmdGetFriendDevelopmentInfoScRsp" => {
                Some(Self::CmdGetFriendDevelopmentInfoScRsp)
            }
            "CmdGetPlayerDetailInfoCsReq" => Some(Self::CmdGetPlayerDetailInfoCsReq),
            "CmdGetFriendDevelopmentInfoCsReq" => {
                Some(Self::CmdGetFriendDevelopmentInfoCsReq)
            }
            "CmdGetFriendRecommendLineupDetailScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupDetailScRsp)
            }
            "CmdGetFriendLoginInfoCsReq" => Some(Self::CmdGetFriendLoginInfoCsReq),
            "CmdGetAssistListCsReq" => Some(Self::CmdGetAssistListCsReq),
            "CmdAddBlacklistCsReq" => Some(Self::CmdAddBlacklistCsReq),
            "CmdSyncDeleteFriendScNotify" => Some(Self::CmdSyncDeleteFriendScNotify),
            "CmdSyncAddBlacklistScNotify" => Some(Self::CmdSyncAddBlacklistScNotify),
            "CmdSyncApplyFriendScNotify" => Some(Self::CmdSyncApplyFriendScNotify),
            "CmdGetFriendRecommendLineupCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupCsReq)
            }
            "CmdGetPlatformPlayerInfoCsReq" => Some(Self::CmdGetPlatformPlayerInfoCsReq),
            "CmdGetFriendAssistListCsReq" => Some(Self::CmdGetFriendAssistListCsReq),
            "CmdSetFriendMarkScRsp" => Some(Self::CmdSetFriendMarkScRsp),
            "CmdDeleteBlacklistCsReq" => Some(Self::CmdDeleteBlacklistCsReq),
            "CmdGetCurAssistCsReq" => Some(Self::CmdGetCurAssistCsReq),
            "CmdSetAllowOtherApplyFriendCsReq" => {
                Some(Self::CmdSetAllowOtherApplyFriendCsReq)
            }
            "CmdGetFriendBattleRecordDetailCsReq" => {
                Some(Self::CmdGetFriendBattleRecordDetailCsReq)
            }
            "CmdSetAssistScRsp" => Some(Self::CmdSetAssistScRsp),
            "CmdGetFriendAssistListScRsp" => Some(Self::CmdGetFriendAssistListScRsp),
            "CmdGetFriendRecommendLineupScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupScRsp)
            }
            "CmdGetFriendLoginInfoScRsp" => Some(Self::CmdGetFriendLoginInfoScRsp),
            "CmdDeleteFriendCsReq" => Some(Self::CmdDeleteFriendCsReq),
            "CmdGetFriendRecommendListInfoScRsp" => {
                Some(Self::CmdGetFriendRecommendListInfoScRsp)
            }
            "CmdGetFriendRecommendListInfoCsReq" => {
                Some(Self::CmdGetFriendRecommendListInfoCsReq)
            }
            "CmdGetPlayerDetailInfoScRsp" => Some(Self::CmdGetPlayerDetailInfoScRsp),
            "CmdGetFriendApplyListInfoCsReq" => {
                Some(Self::CmdGetFriendApplyListInfoCsReq)
            }
            "CmdApplyFriendScRsp" => Some(Self::CmdApplyFriendScRsp),
            "CmdHandleFriendScRsp" => Some(Self::CmdHandleFriendScRsp),
            _ => 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 {
            Self::Offline => "FRIEND_ONLINE_STATUS_OFFLINE",
            Self::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,
        }
    }
}
/// Obf: HHEJFKNEMIH
#[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 {
            Self::None => "FRIEND_APPLY_SOURCE_NONE",
            Self::Search => "FRIEND_APPLY_SOURCE_SEARCH",
            Self::Recommend => "FRIEND_APPLY_SOURCE_RECOMMEND",
            Self::Assist => "FRIEND_APPLY_SOURCE_ASSIST",
            Self::RecommendAssist => "FRIEND_APPLY_SOURCE_RECOMMEND_ASSIST",
            Self::PsnFriend => "FRIEND_APPLY_SOURCE_PSN_FRIEND",
            Self::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: LDIFODLLJGN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGachaType {
    LdifodlljgnGkjbaodjmjg = 0,
    CmdSetGachaDecideItemScRsp = 1905,
    CmdDoGachaCsReq = 1955,
    CmdSetGachaDecideItemCsReq = 1926,
    CmdGetGachaCeilingCsReq = 1938,
    LdifodlljgnIddkdeifjdb = 1937,
    CmdGetGachaCeilingScRsp = 1962,
    CmdDoGachaScRsp = 1975,
    CmdGetGachaInfoCsReq = 1957,
    CmdGetGachaInfoScRsp = 1928,
    CmdExchangeGachaCeilingCsReq = 1947,
    CmdExchangeGachaCeiling = 1920,
}
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 {
            Self::LdifodlljgnGkjbaodjmjg => "LDIFODLLJGN_GKJBAODJMJG",
            Self::CmdSetGachaDecideItemScRsp => "CmdSetGachaDecideItemScRsp",
            Self::CmdDoGachaCsReq => "CmdDoGachaCsReq",
            Self::CmdSetGachaDecideItemCsReq => "CmdSetGachaDecideItemCsReq",
            Self::CmdGetGachaCeilingCsReq => "CmdGetGachaCeilingCsReq",
            Self::LdifodlljgnIddkdeifjdb => "LDIFODLLJGN_IDDKDEIFJDB",
            Self::CmdGetGachaCeilingScRsp => "CmdGetGachaCeilingScRsp",
            Self::CmdDoGachaScRsp => "CmdDoGachaScRsp",
            Self::CmdGetGachaInfoCsReq => "CmdGetGachaInfoCsReq",
            Self::CmdGetGachaInfoScRsp => "CmdGetGachaInfoScRsp",
            Self::CmdExchangeGachaCeilingCsReq => "CmdExchangeGachaCeilingCsReq",
            Self::CmdExchangeGachaCeiling => "CmdExchangeGachaCeiling",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDIFODLLJGN_GKJBAODJMJG" => Some(Self::LdifodlljgnGkjbaodjmjg),
            "CmdSetGachaDecideItemScRsp" => Some(Self::CmdSetGachaDecideItemScRsp),
            "CmdDoGachaCsReq" => Some(Self::CmdDoGachaCsReq),
            "CmdSetGachaDecideItemCsReq" => Some(Self::CmdSetGachaDecideItemCsReq),
            "CmdGetGachaCeilingCsReq" => Some(Self::CmdGetGachaCeilingCsReq),
            "LDIFODLLJGN_IDDKDEIFJDB" => Some(Self::LdifodlljgnIddkdeifjdb),
            "CmdGetGachaCeilingScRsp" => Some(Self::CmdGetGachaCeilingScRsp),
            "CmdDoGachaScRsp" => Some(Self::CmdDoGachaScRsp),
            "CmdGetGachaInfoCsReq" => Some(Self::CmdGetGachaInfoCsReq),
            "CmdGetGachaInfoScRsp" => Some(Self::CmdGetGachaInfoScRsp),
            "CmdExchangeGachaCeilingCsReq" => Some(Self::CmdExchangeGachaCeilingCsReq),
            "CmdExchangeGachaCeiling" => Some(Self::CmdExchangeGachaCeiling),
            _ => None,
        }
    }
}
/// Obf: PAAEFBCAMCH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGridFightType {
    PaaefbcamchGkjbaodjmjg = 0,
    CmdGridFightUseForgeCsReq = 8544,
    CmdGridFightUpdatePosScRsp = 8502,
    CmdGridFightSeasonTalentEnableCsReq = 8581,
    CmdMbnbcmganni = 8443,
    CmdGridFightPermanentTalentResetScRsp = 8412,
    CmdPfcpkpaomae = 8595,
    CmdMmmmfkapjcm = 8572,
    CmdFdkjjigmfoj = 8472,
    CmdEgfngncdejg = 8500,
    CmdGridFightPermanentTalentEnableCsReq = 8421,
    CmdGridFightGetDataScRsp = 8578,
    CmdKmhakdookdl = 8534,
    CmdGridFightStartGamePlayCsReq = 8475,
    CmdKhjpplnphdb = 8489,
    CmdGridFightEndBattleStageNotify = 8579,
    CmdGridFightHandlePendingActionScRsp = 8577,
    CmdGridFightSyncVirtualItemNotify = 8406,
    CmdChefallmfjp = 8525,
    CmdCllaamlhdlg = 8415,
    CmdGridFightSeasonTalentResetCsReq = 8515,
    CmdGridFightQuitLeaveGamePlayCsReq = 8454,
    CmdNlnlipcmnog = 8542,
    CmdJhdncligjdl = 8503,
    CmdDhjjpbhfeno = 8509,
    CmdLcdeemeebmn = 8558,
    CmdGridFightBuyExpCsReq = 8477,
    CmdFavourArchiveCsReq = 8438,
    CmdGridFightResumeGamePlayCsReq = 8528,
    CmdGridFightSeasonTalentEnableScRsp = 8560,
    CmdGridFightEnterBattleStageScRsp = 8594,
    CmdGridFightBuyGoodsCsReq = 8523,
    CmdIecfjnaadjb = 8517,
    CmdAhmceeabdoi = 8445,
    CmdLnhlpolpmgm = 8568,
    CmdFavourArchiveScRsp = 8507,
    CmdGridFightPermanentTalentResetCsReq = 8564,
    CmdGridFightSelectRecommendEquipCsReq = 8425,
    CmdGridFightRecycleRoleCsReq = 8493,
    CmdGridFightUpdateEquipTrackCsReq = 8419,
    PaaefbcamchEehimbgnaon = 8505,
    CmdPikaejjmlcp = 8453,
    CmdGridFightGetArchiveCsReq = 8471,
    CmdCmikkkmndbi = 8524,
    CmdGridFightUpdatePosCsReq = 8592,
    CmdGridFightSettleNotify = 8485,
    CmdGridFightSummonProjectionCsReq = 8461,
    CmdEeckgofkoan = 8480,
    CmdGridFightUpdateEquipTrackPriorityCsReq = 8466,
    CmdGridFightEnterBattleStageCsReq = 8562,
    PaaefbcamchCmljhblpehm = 8413,
    PaaefbcamchFgppfooehpn = 8491,
    CmdGridFightSyncKeepWinCntNotify = 8456,
    CmdOklgpoldiim = 8455,
    CmdGridFightRecycleRoleScRsp = 8440,
    CmdGridFightQuitSettleCsReq = 8497,
    CmdGridFightLockShopCsReq = 8458,
    CmdGridFightTakeWeeklyRewardCsReq = 8469,
    CmdGridFightGetArchiveScRsp = 8487,
    CmdGridFightFinishTutorialCsReq = 8498,
    CmdJokhjnmamfg = 8521,
    CmdMdinjlbohab = 8570,
    CmdBmbbmaeddek = 8575,
    CmdGridFightEquipDressCsReq = 8583,
    CmdGlnhaflaleg = 8596,
    CmdGridFightPermanentTalentEnableScRsp = 8598,
    CmdGridFightWeeklyExtraSeasonExpScRsp = 8448,
    CmdGridFightUpdateWeeklyRewardInfoScNotify = 8582,
    CmdNlfbpkgmljk = 8593,
    CmdGridFightEquipCraftCsReq = 8588,
    CmdDhefbglgigh = 8567,
    CmdGridFightBackToPrepareReq = 8597,
    CmdGridFightUpdateEquipTrackScRsp = 8449,
    PaaefbcamchEgdnaiehjji = 8457,
    CmdGridFightGetDataCsReq = 8550,
    CmdCbbjjefdcbg = 8424,
    CmdCblblibniij = 8532,
    CmdGridFightSyncUpdateResultScNotify = 8571,
    CmdGridFightUseConsumableCsReq = 8417,
    CmdGridFightSeasonHandBookNotify = 8446,
    CmdJhmeblkkgjd = 8478,
    CmdGridFightSeasonTalentResetScRsp = 8488,
    PaaefbcamchCijfncklajh = 8529,
    CmdOdieamckehc = 8561,
    CmdGridFightTakeWeeklyRewardScRsp = 8408,
    PaaefbcamchImkdcioopai = 8566,
    CmdPgniconkncd = 8522,
    CmdOanidljphno = 8460,
    CmdLkelicjmdik = 8433,
    CmdOcdgjkicdoh = 8552,
    CmdGridFightRefreshShopCsReq = 8557,
}
impl CmdGridFightType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PaaefbcamchGkjbaodjmjg => "PAAEFBCAMCH_GKJBAODJMJG",
            Self::CmdGridFightUseForgeCsReq => "CmdGridFightUseForgeCsReq",
            Self::CmdGridFightUpdatePosScRsp => "CmdGridFightUpdatePosScRsp",
            Self::CmdGridFightSeasonTalentEnableCsReq => {
                "CmdGridFightSeasonTalentEnableCsReq"
            }
            Self::CmdMbnbcmganni => "CmdMBNBCMGANNI",
            Self::CmdGridFightPermanentTalentResetScRsp => {
                "CmdGridFightPermanentTalentResetScRsp"
            }
            Self::CmdPfcpkpaomae => "CmdPFCPKPAOMAE",
            Self::CmdMmmmfkapjcm => "CmdMMMMFKAPJCM",
            Self::CmdFdkjjigmfoj => "CmdFDKJJIGMFOJ",
            Self::CmdEgfngncdejg => "CmdEGFNGNCDEJG",
            Self::CmdGridFightPermanentTalentEnableCsReq => {
                "CmdGridFightPermanentTalentEnableCsReq"
            }
            Self::CmdGridFightGetDataScRsp => "CmdGridFightGetDataScRsp",
            Self::CmdKmhakdookdl => "CmdKMHAKDOOKDL",
            Self::CmdGridFightStartGamePlayCsReq => "CmdGridFightStartGamePlayCsReq",
            Self::CmdKhjpplnphdb => "CmdKHJPPLNPHDB",
            Self::CmdGridFightEndBattleStageNotify => "CmdGridFightEndBattleStageNotify",
            Self::CmdGridFightHandlePendingActionScRsp => {
                "CmdGridFightHandlePendingActionScRsp"
            }
            Self::CmdGridFightSyncVirtualItemNotify => {
                "CmdGridFightSyncVirtualItemNotify"
            }
            Self::CmdChefallmfjp => "CmdCHEFALLMFJP",
            Self::CmdCllaamlhdlg => "CmdCLLAAMLHDLG",
            Self::CmdGridFightSeasonTalentResetCsReq => {
                "CmdGridFightSeasonTalentResetCsReq"
            }
            Self::CmdGridFightQuitLeaveGamePlayCsReq => {
                "CmdGridFightQuitLeaveGamePlayCsReq"
            }
            Self::CmdNlnlipcmnog => "CmdNLNLIPCMNOG",
            Self::CmdJhdncligjdl => "CmdJHDNCLIGJDL",
            Self::CmdDhjjpbhfeno => "CmdDHJJPBHFENO",
            Self::CmdLcdeemeebmn => "CmdLCDEEMEEBMN",
            Self::CmdGridFightBuyExpCsReq => "CmdGridFightBuyExpCsReq",
            Self::CmdFavourArchiveCsReq => "CmdFavourArchiveCsReq",
            Self::CmdGridFightResumeGamePlayCsReq => "CmdGridFightResumeGamePlayCsReq",
            Self::CmdGridFightSeasonTalentEnableScRsp => {
                "CmdGridFightSeasonTalentEnableScRsp"
            }
            Self::CmdGridFightEnterBattleStageScRsp => {
                "CmdGridFightEnterBattleStageScRsp"
            }
            Self::CmdGridFightBuyGoodsCsReq => "CmdGridFightBuyGoodsCsReq",
            Self::CmdIecfjnaadjb => "CmdIECFJNAADJB",
            Self::CmdAhmceeabdoi => "CmdAHMCEEABDOI",
            Self::CmdLnhlpolpmgm => "CmdLNHLPOLPMGM",
            Self::CmdFavourArchiveScRsp => "CmdFavourArchiveScRsp",
            Self::CmdGridFightPermanentTalentResetCsReq => {
                "CmdGridFightPermanentTalentResetCsReq"
            }
            Self::CmdGridFightSelectRecommendEquipCsReq => {
                "CmdGridFightSelectRecommendEquipCsReq"
            }
            Self::CmdGridFightRecycleRoleCsReq => "CmdGridFightRecycleRoleCsReq",
            Self::CmdGridFightUpdateEquipTrackCsReq => {
                "CmdGridFightUpdateEquipTrackCsReq"
            }
            Self::PaaefbcamchEehimbgnaon => "PAAEFBCAMCH_EEHIMBGNAON",
            Self::CmdPikaejjmlcp => "CmdPIKAEJJMLCP",
            Self::CmdGridFightGetArchiveCsReq => "CmdGridFightGetArchiveCsReq",
            Self::CmdCmikkkmndbi => "CmdCMIKKKMNDBI",
            Self::CmdGridFightUpdatePosCsReq => "CmdGridFightUpdatePosCsReq",
            Self::CmdGridFightSettleNotify => "CmdGridFightSettleNotify",
            Self::CmdGridFightSummonProjectionCsReq => {
                "CmdGridFightSummonProjectionCsReq"
            }
            Self::CmdEeckgofkoan => "CmdEECKGOFKOAN",
            Self::CmdGridFightUpdateEquipTrackPriorityCsReq => {
                "CmdGridFightUpdateEquipTrackPriorityCsReq"
            }
            Self::CmdGridFightEnterBattleStageCsReq => {
                "CmdGridFightEnterBattleStageCsReq"
            }
            Self::PaaefbcamchCmljhblpehm => "PAAEFBCAMCH_CMLJHBLPEHM",
            Self::PaaefbcamchFgppfooehpn => "PAAEFBCAMCH_FGPPFOOEHPN",
            Self::CmdGridFightSyncKeepWinCntNotify => "CmdGridFightSyncKeepWinCntNotify",
            Self::CmdOklgpoldiim => "CmdOKLGPOLDIIM",
            Self::CmdGridFightRecycleRoleScRsp => "CmdGridFightRecycleRoleScRsp",
            Self::CmdGridFightQuitSettleCsReq => "CmdGridFightQuitSettleCsReq",
            Self::CmdGridFightLockShopCsReq => "CmdGridFightLockShopCsReq",
            Self::CmdGridFightTakeWeeklyRewardCsReq => {
                "CmdGridFightTakeWeeklyRewardCsReq"
            }
            Self::CmdGridFightGetArchiveScRsp => "CmdGridFightGetArchiveScRsp",
            Self::CmdGridFightFinishTutorialCsReq => "CmdGridFightFinishTutorialCsReq",
            Self::CmdJokhjnmamfg => "CmdJOKHJNMAMFG",
            Self::CmdMdinjlbohab => "CmdMDINJLBOHAB",
            Self::CmdBmbbmaeddek => "CmdBMBBMAEDDEK",
            Self::CmdGridFightEquipDressCsReq => "CmdGridFightEquipDressCsReq",
            Self::CmdGlnhaflaleg => "CmdGLNHAFLALEG",
            Self::CmdGridFightPermanentTalentEnableScRsp => {
                "CmdGridFightPermanentTalentEnableScRsp"
            }
            Self::CmdGridFightWeeklyExtraSeasonExpScRsp => {
                "CmdGridFightWeeklyExtraSeasonExpScRsp"
            }
            Self::CmdGridFightUpdateWeeklyRewardInfoScNotify => {
                "CmdGridFightUpdateWeeklyRewardInfoScNotify"
            }
            Self::CmdNlfbpkgmljk => "CmdNLFBPKGMLJK",
            Self::CmdGridFightEquipCraftCsReq => "CmdGridFightEquipCraftCsReq",
            Self::CmdDhefbglgigh => "CmdDHEFBGLGIGH",
            Self::CmdGridFightBackToPrepareReq => "CmdGridFightBackToPrepareReq",
            Self::CmdGridFightUpdateEquipTrackScRsp => {
                "CmdGridFightUpdateEquipTrackScRsp"
            }
            Self::PaaefbcamchEgdnaiehjji => "PAAEFBCAMCH_EGDNAIEHJJI",
            Self::CmdGridFightGetDataCsReq => "CmdGridFightGetDataCsReq",
            Self::CmdCbbjjefdcbg => "CmdCBBJJEFDCBG",
            Self::CmdCblblibniij => "CmdCBLBLIBNIIJ",
            Self::CmdGridFightSyncUpdateResultScNotify => {
                "CmdGridFightSyncUpdateResultScNotify"
            }
            Self::CmdGridFightUseConsumableCsReq => "CmdGridFightUseConsumableCsReq",
            Self::CmdGridFightSeasonHandBookNotify => "CmdGridFightSeasonHandBookNotify",
            Self::CmdJhmeblkkgjd => "CmdJHMEBLKKGJD",
            Self::CmdGridFightSeasonTalentResetScRsp => {
                "CmdGridFightSeasonTalentResetScRsp"
            }
            Self::PaaefbcamchCijfncklajh => "PAAEFBCAMCH_CIJFNCKLAJH",
            Self::CmdOdieamckehc => "CmdODIEAMCKEHC",
            Self::CmdGridFightTakeWeeklyRewardScRsp => {
                "CmdGridFightTakeWeeklyRewardScRsp"
            }
            Self::PaaefbcamchImkdcioopai => "PAAEFBCAMCH_IMKDCIOOPAI",
            Self::CmdPgniconkncd => "CmdPGNICONKNCD",
            Self::CmdOanidljphno => "CmdOANIDLJPHNO",
            Self::CmdLkelicjmdik => "CmdLKELICJMDIK",
            Self::CmdOcdgjkicdoh => "CmdOCDGJKICDOH",
            Self::CmdGridFightRefreshShopCsReq => "CmdGridFightRefreshShopCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAAEFBCAMCH_GKJBAODJMJG" => Some(Self::PaaefbcamchGkjbaodjmjg),
            "CmdGridFightUseForgeCsReq" => Some(Self::CmdGridFightUseForgeCsReq),
            "CmdGridFightUpdatePosScRsp" => Some(Self::CmdGridFightUpdatePosScRsp),
            "CmdGridFightSeasonTalentEnableCsReq" => {
                Some(Self::CmdGridFightSeasonTalentEnableCsReq)
            }
            "CmdMBNBCMGANNI" => Some(Self::CmdMbnbcmganni),
            "CmdGridFightPermanentTalentResetScRsp" => {
                Some(Self::CmdGridFightPermanentTalentResetScRsp)
            }
            "CmdPFCPKPAOMAE" => Some(Self::CmdPfcpkpaomae),
            "CmdMMMMFKAPJCM" => Some(Self::CmdMmmmfkapjcm),
            "CmdFDKJJIGMFOJ" => Some(Self::CmdFdkjjigmfoj),
            "CmdEGFNGNCDEJG" => Some(Self::CmdEgfngncdejg),
            "CmdGridFightPermanentTalentEnableCsReq" => {
                Some(Self::CmdGridFightPermanentTalentEnableCsReq)
            }
            "CmdGridFightGetDataScRsp" => Some(Self::CmdGridFightGetDataScRsp),
            "CmdKMHAKDOOKDL" => Some(Self::CmdKmhakdookdl),
            "CmdGridFightStartGamePlayCsReq" => {
                Some(Self::CmdGridFightStartGamePlayCsReq)
            }
            "CmdKHJPPLNPHDB" => Some(Self::CmdKhjpplnphdb),
            "CmdGridFightEndBattleStageNotify" => {
                Some(Self::CmdGridFightEndBattleStageNotify)
            }
            "CmdGridFightHandlePendingActionScRsp" => {
                Some(Self::CmdGridFightHandlePendingActionScRsp)
            }
            "CmdGridFightSyncVirtualItemNotify" => {
                Some(Self::CmdGridFightSyncVirtualItemNotify)
            }
            "CmdCHEFALLMFJP" => Some(Self::CmdChefallmfjp),
            "CmdCLLAAMLHDLG" => Some(Self::CmdCllaamlhdlg),
            "CmdGridFightSeasonTalentResetCsReq" => {
                Some(Self::CmdGridFightSeasonTalentResetCsReq)
            }
            "CmdGridFightQuitLeaveGamePlayCsReq" => {
                Some(Self::CmdGridFightQuitLeaveGamePlayCsReq)
            }
            "CmdNLNLIPCMNOG" => Some(Self::CmdNlnlipcmnog),
            "CmdJHDNCLIGJDL" => Some(Self::CmdJhdncligjdl),
            "CmdDHJJPBHFENO" => Some(Self::CmdDhjjpbhfeno),
            "CmdLCDEEMEEBMN" => Some(Self::CmdLcdeemeebmn),
            "CmdGridFightBuyExpCsReq" => Some(Self::CmdGridFightBuyExpCsReq),
            "CmdFavourArchiveCsReq" => Some(Self::CmdFavourArchiveCsReq),
            "CmdGridFightResumeGamePlayCsReq" => {
                Some(Self::CmdGridFightResumeGamePlayCsReq)
            }
            "CmdGridFightSeasonTalentEnableScRsp" => {
                Some(Self::CmdGridFightSeasonTalentEnableScRsp)
            }
            "CmdGridFightEnterBattleStageScRsp" => {
                Some(Self::CmdGridFightEnterBattleStageScRsp)
            }
            "CmdGridFightBuyGoodsCsReq" => Some(Self::CmdGridFightBuyGoodsCsReq),
            "CmdIECFJNAADJB" => Some(Self::CmdIecfjnaadjb),
            "CmdAHMCEEABDOI" => Some(Self::CmdAhmceeabdoi),
            "CmdLNHLPOLPMGM" => Some(Self::CmdLnhlpolpmgm),
            "CmdFavourArchiveScRsp" => Some(Self::CmdFavourArchiveScRsp),
            "CmdGridFightPermanentTalentResetCsReq" => {
                Some(Self::CmdGridFightPermanentTalentResetCsReq)
            }
            "CmdGridFightSelectRecommendEquipCsReq" => {
                Some(Self::CmdGridFightSelectRecommendEquipCsReq)
            }
            "CmdGridFightRecycleRoleCsReq" => Some(Self::CmdGridFightRecycleRoleCsReq),
            "CmdGridFightUpdateEquipTrackCsReq" => {
                Some(Self::CmdGridFightUpdateEquipTrackCsReq)
            }
            "PAAEFBCAMCH_EEHIMBGNAON" => Some(Self::PaaefbcamchEehimbgnaon),
            "CmdPIKAEJJMLCP" => Some(Self::CmdPikaejjmlcp),
            "CmdGridFightGetArchiveCsReq" => Some(Self::CmdGridFightGetArchiveCsReq),
            "CmdCMIKKKMNDBI" => Some(Self::CmdCmikkkmndbi),
            "CmdGridFightUpdatePosCsReq" => Some(Self::CmdGridFightUpdatePosCsReq),
            "CmdGridFightSettleNotify" => Some(Self::CmdGridFightSettleNotify),
            "CmdGridFightSummonProjectionCsReq" => {
                Some(Self::CmdGridFightSummonProjectionCsReq)
            }
            "CmdEECKGOFKOAN" => Some(Self::CmdEeckgofkoan),
            "CmdGridFightUpdateEquipTrackPriorityCsReq" => {
                Some(Self::CmdGridFightUpdateEquipTrackPriorityCsReq)
            }
            "CmdGridFightEnterBattleStageCsReq" => {
                Some(Self::CmdGridFightEnterBattleStageCsReq)
            }
            "PAAEFBCAMCH_CMLJHBLPEHM" => Some(Self::PaaefbcamchCmljhblpehm),
            "PAAEFBCAMCH_FGPPFOOEHPN" => Some(Self::PaaefbcamchFgppfooehpn),
            "CmdGridFightSyncKeepWinCntNotify" => {
                Some(Self::CmdGridFightSyncKeepWinCntNotify)
            }
            "CmdOKLGPOLDIIM" => Some(Self::CmdOklgpoldiim),
            "CmdGridFightRecycleRoleScRsp" => Some(Self::CmdGridFightRecycleRoleScRsp),
            "CmdGridFightQuitSettleCsReq" => Some(Self::CmdGridFightQuitSettleCsReq),
            "CmdGridFightLockShopCsReq" => Some(Self::CmdGridFightLockShopCsReq),
            "CmdGridFightTakeWeeklyRewardCsReq" => {
                Some(Self::CmdGridFightTakeWeeklyRewardCsReq)
            }
            "CmdGridFightGetArchiveScRsp" => Some(Self::CmdGridFightGetArchiveScRsp),
            "CmdGridFightFinishTutorialCsReq" => {
                Some(Self::CmdGridFightFinishTutorialCsReq)
            }
            "CmdJOKHJNMAMFG" => Some(Self::CmdJokhjnmamfg),
            "CmdMDINJLBOHAB" => Some(Self::CmdMdinjlbohab),
            "CmdBMBBMAEDDEK" => Some(Self::CmdBmbbmaeddek),
            "CmdGridFightEquipDressCsReq" => Some(Self::CmdGridFightEquipDressCsReq),
            "CmdGLNHAFLALEG" => Some(Self::CmdGlnhaflaleg),
            "CmdGridFightPermanentTalentEnableScRsp" => {
                Some(Self::CmdGridFightPermanentTalentEnableScRsp)
            }
            "CmdGridFightWeeklyExtraSeasonExpScRsp" => {
                Some(Self::CmdGridFightWeeklyExtraSeasonExpScRsp)
            }
            "CmdGridFightUpdateWeeklyRewardInfoScNotify" => {
                Some(Self::CmdGridFightUpdateWeeklyRewardInfoScNotify)
            }
            "CmdNLFBPKGMLJK" => Some(Self::CmdNlfbpkgmljk),
            "CmdGridFightEquipCraftCsReq" => Some(Self::CmdGridFightEquipCraftCsReq),
            "CmdDHEFBGLGIGH" => Some(Self::CmdDhefbglgigh),
            "CmdGridFightBackToPrepareReq" => Some(Self::CmdGridFightBackToPrepareReq),
            "CmdGridFightUpdateEquipTrackScRsp" => {
                Some(Self::CmdGridFightUpdateEquipTrackScRsp)
            }
            "PAAEFBCAMCH_EGDNAIEHJJI" => Some(Self::PaaefbcamchEgdnaiehjji),
            "CmdGridFightGetDataCsReq" => Some(Self::CmdGridFightGetDataCsReq),
            "CmdCBBJJEFDCBG" => Some(Self::CmdCbbjjefdcbg),
            "CmdCBLBLIBNIIJ" => Some(Self::CmdCblblibniij),
            "CmdGridFightSyncUpdateResultScNotify" => {
                Some(Self::CmdGridFightSyncUpdateResultScNotify)
            }
            "CmdGridFightUseConsumableCsReq" => {
                Some(Self::CmdGridFightUseConsumableCsReq)
            }
            "CmdGridFightSeasonHandBookNotify" => {
                Some(Self::CmdGridFightSeasonHandBookNotify)
            }
            "CmdJHMEBLKKGJD" => Some(Self::CmdJhmeblkkgjd),
            "CmdGridFightSeasonTalentResetScRsp" => {
                Some(Self::CmdGridFightSeasonTalentResetScRsp)
            }
            "PAAEFBCAMCH_CIJFNCKLAJH" => Some(Self::PaaefbcamchCijfncklajh),
            "CmdODIEAMCKEHC" => Some(Self::CmdOdieamckehc),
            "CmdGridFightTakeWeeklyRewardScRsp" => {
                Some(Self::CmdGridFightTakeWeeklyRewardScRsp)
            }
            "PAAEFBCAMCH_IMKDCIOOPAI" => Some(Self::PaaefbcamchImkdcioopai),
            "CmdPGNICONKNCD" => Some(Self::CmdPgniconkncd),
            "CmdOANIDLJPHNO" => Some(Self::CmdOanidljphno),
            "CmdLKELICJMDIK" => Some(Self::CmdLkelicjmdik),
            "CmdOCDGJKICDOH" => Some(Self::CmdOcdgjkicdoh),
            "CmdGridFightRefreshShopCsReq" => Some(Self::CmdGridFightRefreshShopCsReq),
            _ => None,
        }
    }
}
/// Obf: BNKJLCMNLOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightLockType {
    BnkjlcmnlodAibpmbcbaeb = 0,
    BnkjlcmnlodEgilkbgddfm = 6,
    BnkjlcmnlodHilodjlgeda = 7,
    BnkjlcmnlodLcjohcgceic = 8,
}
impl GridFightLockType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BnkjlcmnlodAibpmbcbaeb => "BNKJLCMNLOD_AIBPMBCBAEB",
            Self::BnkjlcmnlodEgilkbgddfm => "BNKJLCMNLOD_EGILKBGDDFM",
            Self::BnkjlcmnlodHilodjlgeda => "BNKJLCMNLOD_HILODJLGEDA",
            Self::BnkjlcmnlodLcjohcgceic => "BNKJLCMNLOD_LCJOHCGCEIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BNKJLCMNLOD_AIBPMBCBAEB" => Some(Self::BnkjlcmnlodAibpmbcbaeb),
            "BNKJLCMNLOD_EGILKBGDDFM" => Some(Self::BnkjlcmnlodEgilkbgddfm),
            "BNKJLCMNLOD_HILODJLGEDA" => Some(Self::BnkjlcmnlodHilodjlgeda),
            "BNKJLCMNLOD_LCJOHCGCEIC" => Some(Self::BnkjlcmnlodLcjohcgceic),
            _ => None,
        }
    }
}
/// Obf: ABJANAJPELC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightLockReason {
    AbjanajpelcHcnpdbgifpo = 0,
    AbjanajpelcEpjnpaaimhe = 1,
    AbjanajpelcKbmldnbfjdm = 2,
    AbjanajpelcBkpgpmdenmb = 3,
}
impl GridFightLockReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AbjanajpelcHcnpdbgifpo => "ABJANAJPELC_HCNPDBGIFPO",
            Self::AbjanajpelcEpjnpaaimhe => "ABJANAJPELC_EPJNPAAIMHE",
            Self::AbjanajpelcKbmldnbfjdm => "ABJANAJPELC_KBMLDNBFJDM",
            Self::AbjanajpelcBkpgpmdenmb => "ABJANAJPELC_BKPGPMDENMB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABJANAJPELC_HCNPDBGIFPO" => Some(Self::AbjanajpelcHcnpdbgifpo),
            "ABJANAJPELC_EPJNPAAIMHE" => Some(Self::AbjanajpelcEpjnpaaimhe),
            "ABJANAJPELC_KBMLDNBFJDM" => Some(Self::AbjanajpelcKbmldnbfjdm),
            "ABJANAJPELC_BKPGPMDENMB" => Some(Self::AbjanajpelcBkpgpmdenmb),
            _ => None,
        }
    }
}
/// Obf: NPBHKAFCIHM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightUpdateSrcType {
    NpbhkafcihmHndjebgekng = 0,
    NpbhkafcihmJeafpmojkbj = 1,
    NpbhkafcihmLkgfdhkjijo = 2,
    NpbhkafcihmIfbikfdcfpl = 3,
    NpbhkafcihmAcjdfefegmp = 4,
    NpbhkafcihmLdeofpdlhjd = 5,
    NpbhkafcihmAlkcnonolob = 6,
    NpbhkafcihmIkepbkajbbn = 7,
    NpbhkafcihmLphjaojllng = 8,
    NpbhkafcihmKcpipkiibcd = 9,
    NpbhkafcihmBhbgiapcekk = 10,
    NpbhkafcihmLpbcnkhahog = 11,
    NpbhkafcihmDlbkfehdaeb = 12,
    NpbhkafcihmLnhhghmglpf = 13,
    NpbhkafcihmBhbnomkbbif = 14,
    NpbhkafcihmCooomdchcgo = 15,
    NpbhkafcihmKabnbomgckf = 16,
    NpbhkafcihmKmdmjbakfhd = 17,
    NpbhkafcihmMenpdlmkbhn = 18,
    NpbhkafcihmOhadfigfmej = 19,
    NpbhkafcihmFkccifhofpb = 20,
    NpbhkafcihmHdbncfakmpo = 21,
    NpbhkafcihmCflakokpocn = 22,
    NpbhkafcihmBkdiifipcih = 23,
    NpbhkafcihmKgffadcoppj = 24,
    NpbhkafcihmHfnobjlpnbj = 25,
    NpbhkafcihmLlppdblmlbj = 26,
    NpbhkafcihmKhbdkcgpjdg = 27,
    NpbhkafcihmHegjjjpjfaa = 28,
    NpbhkafcihmDmmmpogndkc = 29,
    NpbhkafcihmLaffimjgpjb = 30,
    NpbhkafcihmCnfmjdhmdbg = 31,
    NpbhkafcihmJhbgblaknoj = 32,
    NpbhkafcihmFicbcmaacdm = 33,
}
impl GridFightUpdateSrcType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NpbhkafcihmHndjebgekng => "NPBHKAFCIHM_HNDJEBGEKNG",
            Self::NpbhkafcihmJeafpmojkbj => "NPBHKAFCIHM_JEAFPMOJKBJ",
            Self::NpbhkafcihmLkgfdhkjijo => "NPBHKAFCIHM_LKGFDHKJIJO",
            Self::NpbhkafcihmIfbikfdcfpl => "NPBHKAFCIHM_IFBIKFDCFPL",
            Self::NpbhkafcihmAcjdfefegmp => "NPBHKAFCIHM_ACJDFEFEGMP",
            Self::NpbhkafcihmLdeofpdlhjd => "NPBHKAFCIHM_LDEOFPDLHJD",
            Self::NpbhkafcihmAlkcnonolob => "NPBHKAFCIHM_ALKCNONOLOB",
            Self::NpbhkafcihmIkepbkajbbn => "NPBHKAFCIHM_IKEPBKAJBBN",
            Self::NpbhkafcihmLphjaojllng => "NPBHKAFCIHM_LPHJAOJLLNG",
            Self::NpbhkafcihmKcpipkiibcd => "NPBHKAFCIHM_KCPIPKIIBCD",
            Self::NpbhkafcihmBhbgiapcekk => "NPBHKAFCIHM_BHBGIAPCEKK",
            Self::NpbhkafcihmLpbcnkhahog => "NPBHKAFCIHM_LPBCNKHAHOG",
            Self::NpbhkafcihmDlbkfehdaeb => "NPBHKAFCIHM_DLBKFEHDAEB",
            Self::NpbhkafcihmLnhhghmglpf => "NPBHKAFCIHM_LNHHGHMGLPF",
            Self::NpbhkafcihmBhbnomkbbif => "NPBHKAFCIHM_BHBNOMKBBIF",
            Self::NpbhkafcihmCooomdchcgo => "NPBHKAFCIHM_COOOMDCHCGO",
            Self::NpbhkafcihmKabnbomgckf => "NPBHKAFCIHM_KABNBOMGCKF",
            Self::NpbhkafcihmKmdmjbakfhd => "NPBHKAFCIHM_KMDMJBAKFHD",
            Self::NpbhkafcihmMenpdlmkbhn => "NPBHKAFCIHM_MENPDLMKBHN",
            Self::NpbhkafcihmOhadfigfmej => "NPBHKAFCIHM_OHADFIGFMEJ",
            Self::NpbhkafcihmFkccifhofpb => "NPBHKAFCIHM_FKCCIFHOFPB",
            Self::NpbhkafcihmHdbncfakmpo => "NPBHKAFCIHM_HDBNCFAKMPO",
            Self::NpbhkafcihmCflakokpocn => "NPBHKAFCIHM_CFLAKOKPOCN",
            Self::NpbhkafcihmBkdiifipcih => "NPBHKAFCIHM_BKDIIFIPCIH",
            Self::NpbhkafcihmKgffadcoppj => "NPBHKAFCIHM_KGFFADCOPPJ",
            Self::NpbhkafcihmHfnobjlpnbj => "NPBHKAFCIHM_HFNOBJLPNBJ",
            Self::NpbhkafcihmLlppdblmlbj => "NPBHKAFCIHM_LLPPDBLMLBJ",
            Self::NpbhkafcihmKhbdkcgpjdg => "NPBHKAFCIHM_KHBDKCGPJDG",
            Self::NpbhkafcihmHegjjjpjfaa => "NPBHKAFCIHM_HEGJJJPJFAA",
            Self::NpbhkafcihmDmmmpogndkc => "NPBHKAFCIHM_DMMMPOGNDKC",
            Self::NpbhkafcihmLaffimjgpjb => "NPBHKAFCIHM_LAFFIMJGPJB",
            Self::NpbhkafcihmCnfmjdhmdbg => "NPBHKAFCIHM_CNFMJDHMDBG",
            Self::NpbhkafcihmJhbgblaknoj => "NPBHKAFCIHM_JHBGBLAKNOJ",
            Self::NpbhkafcihmFicbcmaacdm => "NPBHKAFCIHM_FICBCMAACDM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NPBHKAFCIHM_HNDJEBGEKNG" => Some(Self::NpbhkafcihmHndjebgekng),
            "NPBHKAFCIHM_JEAFPMOJKBJ" => Some(Self::NpbhkafcihmJeafpmojkbj),
            "NPBHKAFCIHM_LKGFDHKJIJO" => Some(Self::NpbhkafcihmLkgfdhkjijo),
            "NPBHKAFCIHM_IFBIKFDCFPL" => Some(Self::NpbhkafcihmIfbikfdcfpl),
            "NPBHKAFCIHM_ACJDFEFEGMP" => Some(Self::NpbhkafcihmAcjdfefegmp),
            "NPBHKAFCIHM_LDEOFPDLHJD" => Some(Self::NpbhkafcihmLdeofpdlhjd),
            "NPBHKAFCIHM_ALKCNONOLOB" => Some(Self::NpbhkafcihmAlkcnonolob),
            "NPBHKAFCIHM_IKEPBKAJBBN" => Some(Self::NpbhkafcihmIkepbkajbbn),
            "NPBHKAFCIHM_LPHJAOJLLNG" => Some(Self::NpbhkafcihmLphjaojllng),
            "NPBHKAFCIHM_KCPIPKIIBCD" => Some(Self::NpbhkafcihmKcpipkiibcd),
            "NPBHKAFCIHM_BHBGIAPCEKK" => Some(Self::NpbhkafcihmBhbgiapcekk),
            "NPBHKAFCIHM_LPBCNKHAHOG" => Some(Self::NpbhkafcihmLpbcnkhahog),
            "NPBHKAFCIHM_DLBKFEHDAEB" => Some(Self::NpbhkafcihmDlbkfehdaeb),
            "NPBHKAFCIHM_LNHHGHMGLPF" => Some(Self::NpbhkafcihmLnhhghmglpf),
            "NPBHKAFCIHM_BHBNOMKBBIF" => Some(Self::NpbhkafcihmBhbnomkbbif),
            "NPBHKAFCIHM_COOOMDCHCGO" => Some(Self::NpbhkafcihmCooomdchcgo),
            "NPBHKAFCIHM_KABNBOMGCKF" => Some(Self::NpbhkafcihmKabnbomgckf),
            "NPBHKAFCIHM_KMDMJBAKFHD" => Some(Self::NpbhkafcihmKmdmjbakfhd),
            "NPBHKAFCIHM_MENPDLMKBHN" => Some(Self::NpbhkafcihmMenpdlmkbhn),
            "NPBHKAFCIHM_OHADFIGFMEJ" => Some(Self::NpbhkafcihmOhadfigfmej),
            "NPBHKAFCIHM_FKCCIFHOFPB" => Some(Self::NpbhkafcihmFkccifhofpb),
            "NPBHKAFCIHM_HDBNCFAKMPO" => Some(Self::NpbhkafcihmHdbncfakmpo),
            "NPBHKAFCIHM_CFLAKOKPOCN" => Some(Self::NpbhkafcihmCflakokpocn),
            "NPBHKAFCIHM_BKDIIFIPCIH" => Some(Self::NpbhkafcihmBkdiifipcih),
            "NPBHKAFCIHM_KGFFADCOPPJ" => Some(Self::NpbhkafcihmKgffadcoppj),
            "NPBHKAFCIHM_HFNOBJLPNBJ" => Some(Self::NpbhkafcihmHfnobjlpnbj),
            "NPBHKAFCIHM_LLPPDBLMLBJ" => Some(Self::NpbhkafcihmLlppdblmlbj),
            "NPBHKAFCIHM_KHBDKCGPJDG" => Some(Self::NpbhkafcihmKhbdkcgpjdg),
            "NPBHKAFCIHM_HEGJJJPJFAA" => Some(Self::NpbhkafcihmHegjjjpjfaa),
            "NPBHKAFCIHM_DMMMPOGNDKC" => Some(Self::NpbhkafcihmDmmmpogndkc),
            "NPBHKAFCIHM_LAFFIMJGPJB" => Some(Self::NpbhkafcihmLaffimjgpjb),
            "NPBHKAFCIHM_CNFMJDHMDBG" => Some(Self::NpbhkafcihmCnfmjdhmdbg),
            "NPBHKAFCIHM_JHBGBLAKNOJ" => Some(Self::NpbhkafcihmJhbgblaknoj),
            "NPBHKAFCIHM_FICBCMAACDM" => Some(Self::NpbhkafcihmFicbcmaacdm),
            _ => None,
        }
    }
}
/// Obf: BIDKCNHLKCL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipTrackSource {
    BidkcnhlkclHmbnomkanhd = 0,
    BidkcnhlkclIcaajammfgb = 1,
    BidkcnhlkclGbmooplnoca = 2,
}
impl GridFightEquipTrackSource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BidkcnhlkclHmbnomkanhd => "BIDKCNHLKCL_HMBNOMKANHD",
            Self::BidkcnhlkclIcaajammfgb => "BIDKCNHLKCL_ICAAJAMMFGB",
            Self::BidkcnhlkclGbmooplnoca => "BIDKCNHLKCL_GBMOOPLNOCA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BIDKCNHLKCL_HMBNOMKANHD" => Some(Self::BidkcnhlkclHmbnomkanhd),
            "BIDKCNHLKCL_ICAAJAMMFGB" => Some(Self::BidkcnhlkclIcaajammfgb),
            "BIDKCNHLKCL_GBMOOPLNOCA" => Some(Self::BidkcnhlkclGbmooplnoca),
            _ => None,
        }
    }
}
/// Obf: MLBFKHLJNDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipDressSource {
    MlbfkhljndbCloknekifeh = 0,
    MlbfkhljndbJmglhcngnid = 1,
    MlbfkhljndbDgombolkjii = 2,
}
impl GridFightEquipDressSource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MlbfkhljndbCloknekifeh => "MLBFKHLJNDB_CLOKNEKIFEH",
            Self::MlbfkhljndbJmglhcngnid => "MLBFKHLJNDB_JMGLHCNGNID",
            Self::MlbfkhljndbDgombolkjii => "MLBFKHLJNDB_DGOMBOLKJII",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MLBFKHLJNDB_CLOKNEKIFEH" => Some(Self::MlbfkhljndbCloknekifeh),
            "MLBFKHLJNDB_JMGLHCNGNID" => Some(Self::MlbfkhljndbJmglhcngnid),
            "MLBFKHLJNDB_DGOMBOLKJII" => Some(Self::MlbfkhljndbDgombolkjii),
            _ => None,
        }
    }
}
/// Obf: LDLNCGLLDHB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipCraftSource {
    LdlncglldhbEgfkcfadcdc = 0,
    LdlncglldhbBkokmdoaiif = 1,
    LdlncglldhbEdcncghgkjm = 2,
    LdlncglldhbMchldpofhen = 3,
}
impl GridFightEquipCraftSource {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LdlncglldhbEgfkcfadcdc => "LDLNCGLLDHB_EGFKCFADCDC",
            Self::LdlncglldhbBkokmdoaiif => "LDLNCGLLDHB_BKOKMDOAIIF",
            Self::LdlncglldhbEdcncghgkjm => "LDLNCGLLDHB_EDCNCGHGKJM",
            Self::LdlncglldhbMchldpofhen => "LDLNCGLLDHB_MCHLDPOFHEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDLNCGLLDHB_EGFKCFADCDC" => Some(Self::LdlncglldhbEgfkcfadcdc),
            "LDLNCGLLDHB_BKOKMDOAIIF" => Some(Self::LdlncglldhbBkokmdoaiif),
            "LDLNCGLLDHB_EDCNCGHGKJM" => Some(Self::LdlncglldhbEdcncghgkjm),
            "LDLNCGLLDHB_MCHLDPOFHEN" => Some(Self::LdlncglldhbMchldpofhen),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Emdaaebhnmm {
    Jibacodecia = 0,
    Jnccacpnpkm = 1,
    Fclncndbmlj = 2,
}
impl Emdaaebhnmm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jibacodecia => "EMDAAEBHNMM_JIBACODECIA",
            Self::Jnccacpnpkm => "EMDAAEBHNMM_JNCCACPNPKM",
            Self::Fclncndbmlj => "EMDAAEBHNMM_FCLNCNDBMLJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EMDAAEBHNMM_JIBACODECIA" => Some(Self::Jibacodecia),
            "EMDAAEBHNMM_JNCCACPNPKM" => Some(Self::Jnccacpnpkm),
            "EMDAAEBHNMM_FCLNCNDBMLJ" => Some(Self::Fclncndbmlj),
            _ => None,
        }
    }
}
/// Obf: PHAKLKHEENE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightDropReason {
    PhaklkheeneKfhhnaieemn = 0,
    PhaklkheeneDmiomhbcojf = 1,
    PhaklkheeneCcocdjgpemg = 2,
}
impl GridFightDropReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PhaklkheeneKfhhnaieemn => "PHAKLKHEENE_KFHHNAIEEMN",
            Self::PhaklkheeneDmiomhbcojf => "PHAKLKHEENE_DMIOMHBCOJF",
            Self::PhaklkheeneCcocdjgpemg => "PHAKLKHEENE_CCOCDJGPEMG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PHAKLKHEENE_KFHHNAIEEMN" => Some(Self::PhaklkheeneKfhhnaieemn),
            "PHAKLKHEENE_DMIOMHBCOJF" => Some(Self::PhaklkheeneDmiomhbcojf),
            "PHAKLKHEENE_CCOCDJGPEMG" => Some(Self::PhaklkheeneCcocdjgpemg),
            _ => None,
        }
    }
}
/// Obf: ALAOOBPJBFE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightGlobalHpChangeReason {
    AlaoobpjbfeOpjfakknmhk = 0,
    AlaoobpjbfeLnmhpidfdie = 1,
    AlaoobpjbfeDecnadkpgmk = 2,
    AlaoobpjbfeBgoipnflbbj = 3,
    AlaoobpjbfeOkjgbcomdif = 4,
    AlaoobpjbfeBnjiioeieen = 5,
}
impl GridFightGlobalHpChangeReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AlaoobpjbfeOpjfakknmhk => "ALAOOBPJBFE_OPJFAKKNMHK",
            Self::AlaoobpjbfeLnmhpidfdie => "ALAOOBPJBFE_LNMHPIDFDIE",
            Self::AlaoobpjbfeDecnadkpgmk => "ALAOOBPJBFE_DECNADKPGMK",
            Self::AlaoobpjbfeBgoipnflbbj => "ALAOOBPJBFE_BGOIPNFLBBJ",
            Self::AlaoobpjbfeOkjgbcomdif => "ALAOOBPJBFE_OKJGBCOMDIF",
            Self::AlaoobpjbfeBnjiioeieen => "ALAOOBPJBFE_BNJIIOEIEEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALAOOBPJBFE_OPJFAKKNMHK" => Some(Self::AlaoobpjbfeOpjfakknmhk),
            "ALAOOBPJBFE_LNMHPIDFDIE" => Some(Self::AlaoobpjbfeLnmhpidfdie),
            "ALAOOBPJBFE_DECNADKPGMK" => Some(Self::AlaoobpjbfeDecnadkpgmk),
            "ALAOOBPJBFE_BGOIPNFLBBJ" => Some(Self::AlaoobpjbfeBgoipnflbbj),
            "ALAOOBPJBFE_OKJGBCOMDIF" => Some(Self::AlaoobpjbfeOkjgbcomdif),
            "ALAOOBPJBFE_BNJIIOEIEEN" => Some(Self::AlaoobpjbfeBnjiioeieen),
            _ => None,
        }
    }
}
/// Obf: HCPHOALDHEJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightUpdateGlobalHpReason {
    HcphoaldhejEalncpgbbpp = 0,
    HcphoaldhejMcginjgnagl = 1,
    HcphoaldhejOcklmiiebhf = 2,
    HcphoaldhejKgjcdnpickn = 3,
    HcphoaldhejBidmcbbojcg = 4,
    HcphoaldhejBoajgkbipjh = 101,
    HcphoaldhejLgnjahpbkda = 102,
    HcphoaldhejOekfonanpgh = 103,
    HcphoaldhejPmgbckdkfde = 201,
}
impl GridFightUpdateGlobalHpReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HcphoaldhejEalncpgbbpp => "HCPHOALDHEJ_EALNCPGBBPP",
            Self::HcphoaldhejMcginjgnagl => "HCPHOALDHEJ_MCGINJGNAGL",
            Self::HcphoaldhejOcklmiiebhf => "HCPHOALDHEJ_OCKLMIIEBHF",
            Self::HcphoaldhejKgjcdnpickn => "HCPHOALDHEJ_KGJCDNPICKN",
            Self::HcphoaldhejBidmcbbojcg => "HCPHOALDHEJ_BIDMCBBOJCG",
            Self::HcphoaldhejBoajgkbipjh => "HCPHOALDHEJ_BOAJGKBIPJH",
            Self::HcphoaldhejLgnjahpbkda => "HCPHOALDHEJ_LGNJAHPBKDA",
            Self::HcphoaldhejOekfonanpgh => "HCPHOALDHEJ_OEKFONANPGH",
            Self::HcphoaldhejPmgbckdkfde => "HCPHOALDHEJ_PMGBCKDKFDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HCPHOALDHEJ_EALNCPGBBPP" => Some(Self::HcphoaldhejEalncpgbbpp),
            "HCPHOALDHEJ_MCGINJGNAGL" => Some(Self::HcphoaldhejMcginjgnagl),
            "HCPHOALDHEJ_OCKLMIIEBHF" => Some(Self::HcphoaldhejOcklmiiebhf),
            "HCPHOALDHEJ_KGJCDNPICKN" => Some(Self::HcphoaldhejKgjcdnpickn),
            "HCPHOALDHEJ_BIDMCBBOJCG" => Some(Self::HcphoaldhejBidmcbbojcg),
            "HCPHOALDHEJ_BOAJGKBIPJH" => Some(Self::HcphoaldhejBoajgkbipjh),
            "HCPHOALDHEJ_LGNJAHPBKDA" => Some(Self::HcphoaldhejLgnjahpbkda),
            "HCPHOALDHEJ_OEKFONANPGH" => Some(Self::HcphoaldhejOekfonanpgh),
            "HCPHOALDHEJ_PMGBCKDKFDE" => Some(Self::HcphoaldhejPmgbckdkfde),
            _ => None,
        }
    }
}
/// Obf: HDAOIDGMHCI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightSettleReason {
    HdaoidgmhciAaklgfmpamp = 0,
    HdaoidgmhciPagobjldagd = 1,
    HdaoidgmhciEigdoofgfbd = 2,
    HdaoidgmhciCfpafcolcdi = 3,
    HdaoidgmhciIghdiiepmfm = 4,
}
impl GridFightSettleReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HdaoidgmhciAaklgfmpamp => "HDAOIDGMHCI_AAKLGFMPAMP",
            Self::HdaoidgmhciPagobjldagd => "HDAOIDGMHCI_PAGOBJLDAGD",
            Self::HdaoidgmhciEigdoofgfbd => "HDAOIDGMHCI_EIGDOOFGFBD",
            Self::HdaoidgmhciCfpafcolcdi => "HDAOIDGMHCI_CFPAFCOLCDI",
            Self::HdaoidgmhciIghdiiepmfm => "HDAOIDGMHCI_IGHDIIEPMFM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDAOIDGMHCI_AAKLGFMPAMP" => Some(Self::HdaoidgmhciAaklgfmpamp),
            "HDAOIDGMHCI_PAGOBJLDAGD" => Some(Self::HdaoidgmhciPagobjldagd),
            "HDAOIDGMHCI_EIGDOOFGFBD" => Some(Self::HdaoidgmhciEigdoofgfbd),
            "HDAOIDGMHCI_CFPAFCOLCDI" => Some(Self::HdaoidgmhciCfpafcolcdi),
            "HDAOIDGMHCI_IGHDIIEPMFM" => Some(Self::HdaoidgmhciIghdiiepmfm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hoamfmhcgfp {
    Hpdkbbfdokk = 0,
    Cgojpedkgie = 1,
    Kdehjdmochj = 2,
}
impl Hoamfmhcgfp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hpdkbbfdokk => "HOAMFMHCGFP_HPDKBBFDOKK",
            Self::Cgojpedkgie => "HOAMFMHCGFP_CGOJPEDKGIE",
            Self::Kdehjdmochj => "HOAMFMHCGFP_KDEHJDMOCHJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HOAMFMHCGFP_HPDKBBFDOKK" => Some(Self::Hpdkbbfdokk),
            "HOAMFMHCGFP_CGOJPEDKGIE" => Some(Self::Cgojpedkgie),
            "HOAMFMHCGFP_KDEHJDMOCHJ" => Some(Self::Kdehjdmochj),
            _ => None,
        }
    }
}
/// Obf: GJPEHEEKNKG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeartdialType {
    GjpeheeknkgGkjbaodjmjg = 0,
    CmdFinishEmotionDialoguePerformanceScRsp = 6320,
    CmdHeartDialScriptChangeScNotify = 6326,
    CmdHeartDialTraceScriptScRsp = 6337,
    CmdHeartDialTraceScriptCsReq = 6305,
    CmdSubmitEmotionItemCsReq = 6338,
    CmdGetHeartDialInfoCsReq = 6357,
    CmdSubmitEmotionItemScRsp = 6362,
    CmdChangeScriptEmotionScRsp = 6375,
    CmdFinishEmotionDialoguePerformanceCsReq = 6347,
    CmdChangeScriptEmotionCsReq = 6355,
    CmdGetHeartDialInfoScRsp = 6328,
}
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 {
            Self::GjpeheeknkgGkjbaodjmjg => "GJPEHEEKNKG_GKJBAODJMJG",
            Self::CmdFinishEmotionDialoguePerformanceScRsp => {
                "CmdFinishEmotionDialoguePerformanceScRsp"
            }
            Self::CmdHeartDialScriptChangeScNotify => "CmdHeartDialScriptChangeScNotify",
            Self::CmdHeartDialTraceScriptScRsp => "CmdHeartDialTraceScriptScRsp",
            Self::CmdHeartDialTraceScriptCsReq => "CmdHeartDialTraceScriptCsReq",
            Self::CmdSubmitEmotionItemCsReq => "CmdSubmitEmotionItemCsReq",
            Self::CmdGetHeartDialInfoCsReq => "CmdGetHeartDialInfoCsReq",
            Self::CmdSubmitEmotionItemScRsp => "CmdSubmitEmotionItemScRsp",
            Self::CmdChangeScriptEmotionScRsp => "CmdChangeScriptEmotionScRsp",
            Self::CmdFinishEmotionDialoguePerformanceCsReq => {
                "CmdFinishEmotionDialoguePerformanceCsReq"
            }
            Self::CmdChangeScriptEmotionCsReq => "CmdChangeScriptEmotionCsReq",
            Self::CmdGetHeartDialInfoScRsp => "CmdGetHeartDialInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJPEHEEKNKG_GKJBAODJMJG" => Some(Self::GjpeheeknkgGkjbaodjmjg),
            "CmdFinishEmotionDialoguePerformanceScRsp" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceScRsp)
            }
            "CmdHeartDialScriptChangeScNotify" => {
                Some(Self::CmdHeartDialScriptChangeScNotify)
            }
            "CmdHeartDialTraceScriptScRsp" => Some(Self::CmdHeartDialTraceScriptScRsp),
            "CmdHeartDialTraceScriptCsReq" => Some(Self::CmdHeartDialTraceScriptCsReq),
            "CmdSubmitEmotionItemCsReq" => Some(Self::CmdSubmitEmotionItemCsReq),
            "CmdGetHeartDialInfoCsReq" => Some(Self::CmdGetHeartDialInfoCsReq),
            "CmdSubmitEmotionItemScRsp" => Some(Self::CmdSubmitEmotionItemScRsp),
            "CmdChangeScriptEmotionScRsp" => Some(Self::CmdChangeScriptEmotionScRsp),
            "CmdFinishEmotionDialoguePerformanceCsReq" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceCsReq)
            }
            "CmdChangeScriptEmotionCsReq" => Some(Self::CmdChangeScriptEmotionCsReq),
            "CmdGetHeartDialInfoScRsp" => Some(Self::CmdGetHeartDialInfoScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HeartDialEmotionType {
    Peace = 0,
    Anger = 1,
    Happy = 2,
    Sad = 3,
}
impl HeartDialEmotionType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Peace => "HEART_DIAL_EMOTION_TYPE_PEACE",
            Self::Anger => "HEART_DIAL_EMOTION_TYPE_ANGER",
            Self::Happy => "HEART_DIAL_EMOTION_TYPE_HAPPY",
            Self::Sad => "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::Peace),
            "HEART_DIAL_EMOTION_TYPE_ANGER" => Some(Self::Anger),
            "HEART_DIAL_EMOTION_TYPE_HAPPY" => Some(Self::Happy),
            "HEART_DIAL_EMOTION_TYPE_SAD" => Some(Self::Sad),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HeartDialStepType {
    Cnjdnhcjihj = 0,
    Eblfneahmec = 1,
    Ipdfmninjhn = 2,
    Oeigcgbjeol = 3,
    Jminjchekda = 4,
    Hlcdhmjbdbj = 5,
}
impl HeartDialStepType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cnjdnhcjihj => "HeartDialStepType_CNJDNHCJIHJ",
            Self::Eblfneahmec => "HeartDialStepType_EBLFNEAHMEC",
            Self::Ipdfmninjhn => "HeartDialStepType_IPDFMNINJHN",
            Self::Oeigcgbjeol => "HeartDialStepType_OEIGCGBJEOL",
            Self::Jminjchekda => "HeartDialStepType_JMINJCHEKDA",
            Self::Hlcdhmjbdbj => "HeartDialStepType_HLCDHMJBDBJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HeartDialStepType_CNJDNHCJIHJ" => Some(Self::Cnjdnhcjihj),
            "HeartDialStepType_EBLFNEAHMEC" => Some(Self::Eblfneahmec),
            "HeartDialStepType_IPDFMNINJHN" => Some(Self::Ipdfmninjhn),
            "HeartDialStepType_OEIGCGBJEOL" => Some(Self::Oeigcgbjeol),
            "HeartDialStepType_JMINJCHEKDA" => Some(Self::Jminjchekda),
            "HeartDialStepType_HLCDHMJBDBJ" => Some(Self::Hlcdhmjbdbj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum HeartDialUnlockStatus {
    Lock = 0,
    UnlockSingle = 1,
    UnlockAll = 2,
}
impl HeartDialUnlockStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lock => "HEART_DIAL_UNLOCK_STATUS_LOCK",
            Self::UnlockSingle => "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE",
            Self::UnlockAll => "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::Lock),
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE" => Some(Self::UnlockSingle),
            "HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL" => Some(Self::UnlockAll),
            _ => None,
        }
    }
}
/// Obf: GANKCLEDJAO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeliobusType {
    GankcledjaoGkjbaodjmjg = 0,
    CmdHeliobusActivityDataCsReq = 5857,
    CmdHeliobusInfoChangedScNotify = 5869,
    CmdHeliobusStartRaidCsReq = 5896,
    CmdHeliobusSnsPostScRsp = 5862,
    CmdHeliobusEnterBattleCsReq = 5889,
    CmdHeliobusSnsReadCsReq = 5855,
    CmdHeliobusUnlockSkillScNotify = 5845,
    CmdHeliobusSnsCommentScRsp = 5805,
    CmdHeliobusLineupUpdateScNotify = 5814,
    CmdHeliobusEnterBattleScRsp = 5876,
    CmdHeliobusSelectSkillScRsp = 5895,
    CmdHeliobusUpgradeLevelScRsp = 5879,
    CmdHeliobusStartRaidScRsp = 5880,
    CmdHeliobusSnsLikeScRsp = 5820,
    CmdHeliobusSnsLikeCsReq = 5847,
    CmdHeliobusActivityDataScRsp = 5828,
    CmdHeliobusSnsUpdateScNotify = 5837,
    CmdHeliobusSnsCommentCsReq = 5826,
    CmdHeliobusSnsReadScRsp = 5875,
    CmdHeliobusUpgradeLevelCsReq = 5866,
    CmdHeliobusSnsPostCsReq = 5838,
    GankcledjaoFdleeemegoj = 5883,
    CmdHeliobusChallengeUpdateScNotify = 5877,
}
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 {
            Self::GankcledjaoGkjbaodjmjg => "GANKCLEDJAO_GKJBAODJMJG",
            Self::CmdHeliobusActivityDataCsReq => "CmdHeliobusActivityDataCsReq",
            Self::CmdHeliobusInfoChangedScNotify => "CmdHeliobusInfoChangedScNotify",
            Self::CmdHeliobusStartRaidCsReq => "CmdHeliobusStartRaidCsReq",
            Self::CmdHeliobusSnsPostScRsp => "CmdHeliobusSnsPostScRsp",
            Self::CmdHeliobusEnterBattleCsReq => "CmdHeliobusEnterBattleCsReq",
            Self::CmdHeliobusSnsReadCsReq => "CmdHeliobusSnsReadCsReq",
            Self::CmdHeliobusUnlockSkillScNotify => "CmdHeliobusUnlockSkillScNotify",
            Self::CmdHeliobusSnsCommentScRsp => "CmdHeliobusSnsCommentScRsp",
            Self::CmdHeliobusLineupUpdateScNotify => "CmdHeliobusLineupUpdateScNotify",
            Self::CmdHeliobusEnterBattleScRsp => "CmdHeliobusEnterBattleScRsp",
            Self::CmdHeliobusSelectSkillScRsp => "CmdHeliobusSelectSkillScRsp",
            Self::CmdHeliobusUpgradeLevelScRsp => "CmdHeliobusUpgradeLevelScRsp",
            Self::CmdHeliobusStartRaidScRsp => "CmdHeliobusStartRaidScRsp",
            Self::CmdHeliobusSnsLikeScRsp => "CmdHeliobusSnsLikeScRsp",
            Self::CmdHeliobusSnsLikeCsReq => "CmdHeliobusSnsLikeCsReq",
            Self::CmdHeliobusActivityDataScRsp => "CmdHeliobusActivityDataScRsp",
            Self::CmdHeliobusSnsUpdateScNotify => "CmdHeliobusSnsUpdateScNotify",
            Self::CmdHeliobusSnsCommentCsReq => "CmdHeliobusSnsCommentCsReq",
            Self::CmdHeliobusSnsReadScRsp => "CmdHeliobusSnsReadScRsp",
            Self::CmdHeliobusUpgradeLevelCsReq => "CmdHeliobusUpgradeLevelCsReq",
            Self::CmdHeliobusSnsPostCsReq => "CmdHeliobusSnsPostCsReq",
            Self::GankcledjaoFdleeemegoj => "GANKCLEDJAO_FDLEEEMEGOJ",
            Self::CmdHeliobusChallengeUpdateScNotify => {
                "CmdHeliobusChallengeUpdateScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GANKCLEDJAO_GKJBAODJMJG" => Some(Self::GankcledjaoGkjbaodjmjg),
            "CmdHeliobusActivityDataCsReq" => Some(Self::CmdHeliobusActivityDataCsReq),
            "CmdHeliobusInfoChangedScNotify" => {
                Some(Self::CmdHeliobusInfoChangedScNotify)
            }
            "CmdHeliobusStartRaidCsReq" => Some(Self::CmdHeliobusStartRaidCsReq),
            "CmdHeliobusSnsPostScRsp" => Some(Self::CmdHeliobusSnsPostScRsp),
            "CmdHeliobusEnterBattleCsReq" => Some(Self::CmdHeliobusEnterBattleCsReq),
            "CmdHeliobusSnsReadCsReq" => Some(Self::CmdHeliobusSnsReadCsReq),
            "CmdHeliobusUnlockSkillScNotify" => {
                Some(Self::CmdHeliobusUnlockSkillScNotify)
            }
            "CmdHeliobusSnsCommentScRsp" => Some(Self::CmdHeliobusSnsCommentScRsp),
            "CmdHeliobusLineupUpdateScNotify" => {
                Some(Self::CmdHeliobusLineupUpdateScNotify)
            }
            "CmdHeliobusEnterBattleScRsp" => Some(Self::CmdHeliobusEnterBattleScRsp),
            "CmdHeliobusSelectSkillScRsp" => Some(Self::CmdHeliobusSelectSkillScRsp),
            "CmdHeliobusUpgradeLevelScRsp" => Some(Self::CmdHeliobusUpgradeLevelScRsp),
            "CmdHeliobusStartRaidScRsp" => Some(Self::CmdHeliobusStartRaidScRsp),
            "CmdHeliobusSnsLikeScRsp" => Some(Self::CmdHeliobusSnsLikeScRsp),
            "CmdHeliobusSnsLikeCsReq" => Some(Self::CmdHeliobusSnsLikeCsReq),
            "CmdHeliobusActivityDataScRsp" => Some(Self::CmdHeliobusActivityDataScRsp),
            "CmdHeliobusSnsUpdateScNotify" => Some(Self::CmdHeliobusSnsUpdateScNotify),
            "CmdHeliobusSnsCommentCsReq" => Some(Self::CmdHeliobusSnsCommentCsReq),
            "CmdHeliobusSnsReadScRsp" => Some(Self::CmdHeliobusSnsReadScRsp),
            "CmdHeliobusUpgradeLevelCsReq" => Some(Self::CmdHeliobusUpgradeLevelCsReq),
            "CmdHeliobusSnsPostCsReq" => Some(Self::CmdHeliobusSnsPostCsReq),
            "GANKCLEDJAO_FDLEEEMEGOJ" => Some(Self::GankcledjaoFdleeemegoj),
            "CmdHeliobusChallengeUpdateScNotify" => {
                Some(Self::CmdHeliobusChallengeUpdateScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: HBPANKALIGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHipplenType {
    HbpankaligjGkjbaodjmjg = 0,
    CmdSettleHipplenWorkCsReq = 9047,
    CmdOpenHipplenCycleScRsp = 9003,
    CmdOpenHipplenCycleCsReq = 9043,
    CmdGetHipplenDataCsReq = 9050,
    CmdGetHipplenInheritCsReq = 9024,
    CmdHipplenAgendaResultScNotify = 9008,
    CmdSetHipplenOutfitScRsp = 9029,
    CmdTakeHipplenEndingRewardScRsp = 9038,
    CmdTakeHipplenEndingRewardCsReq = 9020,
    CmdHipplenCycleResultScNotify = 9006,
    CmdHipplenChangeScNotify = 9011,
    CmdGetHipplenInheritScRsp = 9007,
    CmdGetHipplenDataScRsp = 9049,
    CmdSettleHipplenWorkScRsp = 9035,
    CmdSetHipplenOutfitCsReq = 9031,
    CmdSetHipplenAgendaScRsp = 9033,
    CmdHipplenTraitUnlockScNotify = 9001,
    CmdSetHipplenAgendaCsReq = 9039,
}
impl CmdHipplenType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HbpankaligjGkjbaodjmjg => "HBPANKALIGJ_GKJBAODJMJG",
            Self::CmdSettleHipplenWorkCsReq => "CmdSettleHipplenWorkCsReq",
            Self::CmdOpenHipplenCycleScRsp => "CmdOpenHipplenCycleScRsp",
            Self::CmdOpenHipplenCycleCsReq => "CmdOpenHipplenCycleCsReq",
            Self::CmdGetHipplenDataCsReq => "CmdGetHipplenDataCsReq",
            Self::CmdGetHipplenInheritCsReq => "CmdGetHipplenInheritCsReq",
            Self::CmdHipplenAgendaResultScNotify => "CmdHipplenAgendaResultScNotify",
            Self::CmdSetHipplenOutfitScRsp => "CmdSetHipplenOutfitScRsp",
            Self::CmdTakeHipplenEndingRewardScRsp => "CmdTakeHipplenEndingRewardScRsp",
            Self::CmdTakeHipplenEndingRewardCsReq => "CmdTakeHipplenEndingRewardCsReq",
            Self::CmdHipplenCycleResultScNotify => "CmdHipplenCycleResultScNotify",
            Self::CmdHipplenChangeScNotify => "CmdHipplenChangeScNotify",
            Self::CmdGetHipplenInheritScRsp => "CmdGetHipplenInheritScRsp",
            Self::CmdGetHipplenDataScRsp => "CmdGetHipplenDataScRsp",
            Self::CmdSettleHipplenWorkScRsp => "CmdSettleHipplenWorkScRsp",
            Self::CmdSetHipplenOutfitCsReq => "CmdSetHipplenOutfitCsReq",
            Self::CmdSetHipplenAgendaScRsp => "CmdSetHipplenAgendaScRsp",
            Self::CmdHipplenTraitUnlockScNotify => "CmdHipplenTraitUnlockScNotify",
            Self::CmdSetHipplenAgendaCsReq => "CmdSetHipplenAgendaCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HBPANKALIGJ_GKJBAODJMJG" => Some(Self::HbpankaligjGkjbaodjmjg),
            "CmdSettleHipplenWorkCsReq" => Some(Self::CmdSettleHipplenWorkCsReq),
            "CmdOpenHipplenCycleScRsp" => Some(Self::CmdOpenHipplenCycleScRsp),
            "CmdOpenHipplenCycleCsReq" => Some(Self::CmdOpenHipplenCycleCsReq),
            "CmdGetHipplenDataCsReq" => Some(Self::CmdGetHipplenDataCsReq),
            "CmdGetHipplenInheritCsReq" => Some(Self::CmdGetHipplenInheritCsReq),
            "CmdHipplenAgendaResultScNotify" => {
                Some(Self::CmdHipplenAgendaResultScNotify)
            }
            "CmdSetHipplenOutfitScRsp" => Some(Self::CmdSetHipplenOutfitScRsp),
            "CmdTakeHipplenEndingRewardScRsp" => {
                Some(Self::CmdTakeHipplenEndingRewardScRsp)
            }
            "CmdTakeHipplenEndingRewardCsReq" => {
                Some(Self::CmdTakeHipplenEndingRewardCsReq)
            }
            "CmdHipplenCycleResultScNotify" => Some(Self::CmdHipplenCycleResultScNotify),
            "CmdHipplenChangeScNotify" => Some(Self::CmdHipplenChangeScNotify),
            "CmdGetHipplenInheritScRsp" => Some(Self::CmdGetHipplenInheritScRsp),
            "CmdGetHipplenDataScRsp" => Some(Self::CmdGetHipplenDataScRsp),
            "CmdSettleHipplenWorkScRsp" => Some(Self::CmdSettleHipplenWorkScRsp),
            "CmdSetHipplenOutfitCsReq" => Some(Self::CmdSetHipplenOutfitCsReq),
            "CmdSetHipplenAgendaScRsp" => Some(Self::CmdSetHipplenAgendaScRsp),
            "CmdHipplenTraitUnlockScNotify" => Some(Self::CmdHipplenTraitUnlockScNotify),
            "CmdSetHipplenAgendaCsReq" => Some(Self::CmdSetHipplenAgendaCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Himnpilabbh {
    Gkjbaodjmjg = 0,
    Fcibaeocfge = 1,
    Idkedglkfdj = 2,
    Gjncbnfejbn = 3,
    Kbcnegmmald = 4,
    Fnlgbfbjlak = 5,
}
impl Himnpilabbh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HIMNPILABBH_GKJBAODJMJG",
            Self::Fcibaeocfge => "HIMNPILABBH_FCIBAEOCFGE",
            Self::Idkedglkfdj => "HIMNPILABBH_IDKEDGLKFDJ",
            Self::Gjncbnfejbn => "HIMNPILABBH_GJNCBNFEJBN",
            Self::Kbcnegmmald => "HIMNPILABBH_KBCNEGMMALD",
            Self::Fnlgbfbjlak => "HIMNPILABBH_FNLGBFBJLAK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HIMNPILABBH_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HIMNPILABBH_FCIBAEOCFGE" => Some(Self::Fcibaeocfge),
            "HIMNPILABBH_IDKEDGLKFDJ" => Some(Self::Idkedglkfdj),
            "HIMNPILABBH_GJNCBNFEJBN" => Some(Self::Gjncbnfejbn),
            "HIMNPILABBH_KBCNEGMMALD" => Some(Self::Kbcnegmmald),
            "HIMNPILABBH_FNLGBFBJLAK" => Some(Self::Fnlgbfbjlak),
            _ => None,
        }
    }
}
/// Obf: ILJJEIODMFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdInteractiveTriggerMazeBuffType {
    IljjeiodmfkGkjbaodjmjg = 0,
    CmdHlhoanbbncd = 9480,
    CmdOlmfiegndkp = 9478,
}
impl CmdInteractiveTriggerMazeBuffType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IljjeiodmfkGkjbaodjmjg => "ILJJEIODMFK_GKJBAODJMJG",
            Self::CmdHlhoanbbncd => "CmdHLHOANBBNCD",
            Self::CmdOlmfiegndkp => "CmdOLMFIEGNDKP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ILJJEIODMFK_GKJBAODJMJG" => Some(Self::IljjeiodmfkGkjbaodjmjg),
            "CmdHLHOANBBNCD" => Some(Self::CmdHlhoanbbncd),
            "CmdOLMFIEGNDKP" => Some(Self::CmdOlmfiegndkp),
            _ => None,
        }
    }
}
/// Obf: NLAINHCFDGM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdItemType {
    NlainhcfdgmGkjbaodjmjg = 0,
    CmdMarkItemScRsp = 516,
    CmdAddRelicFilterPlanScRsp = 502,
    CmdEimgnaoalkn = 551,
    CmdDestroyItemScRsp = 578,
    CmdGetRecyleTimeScRsp = 586,
    CmdNmcdeffepcj = 575,
    CmdDiscardRelicScRsp = 570,
    CmdExchangeHcoinCsReq = 596,
    CmdComposeItemScRsp = 579,
    CmdHgoepifhman = 581,
    CmdDiscardRelicCsReq = 508,
    CmdRelicReforgeConfirmCsReq = 560,
    CmdGeneralVirtualItemDataNotify = 556,
    CmdGetMarkItemListCsReq = 513,
    CmdExpUpRelicCsReq = 545,
    CmdGetBagScRsp = 528,
    CmdIocmhkiebna = 534,
    CmdModifyRelicFilterPlanCsReq = 598,
    CmdComposeLimitNumUpdateScNotify = 585,
    CmdComposeSelectedRelicScRsp = 514,
    CmdPromoteEquipmentCsReq = 555,
    CmdGetMarkItemListScRsp = 599,
    CmdExpUpEquipmentScRsp = 569,
    CmdSellItemScRsp = 589,
    CmdCmdLockEquipmentCsReq = 538,
    CmdMogaicnajhf = 568,
    CmdNjnniiiodgn = 562,
    CmdBatchRankUpEquipmentCsReq = 543,
    CmdAppajdmjehj = 505,
    CmdGetBagCsReq = 557,
    CmdSyncTurnFoodNotify = 582,
    CmdExpUpEquipmentCsReq = 537,
    CmdAddRelicFilterPlanCsReq = 592,
    CmdDestroyItemCsReq = 511,
    CmdCmdSellItemCsReq = 593,
    CmdUseItemScRsp = 520,
    CmdJfgeeekpbjf = 591,
    CmdDeleteRelicFilterPlanCsReq = 506,
    CmdExchangeHcoinScRsp = 580,
    CmdMarkRelicFilterPlanCsReq = 597,
    CmdAddEquipmentScRsp = 512,
    CmdComposeLimitNumCompleteScNotify = 509,
    CmdModifyRelicFilterPlanScRsp = 548,
    CmdGetRelicFilterPlanCsReq = 530,
    CmdGetRecycleTimeCsReq = 550,
    CmdExpUpRelicScRsp = 583,
    CmdGetRelicFilterPlanScRsp = 518,
    CmdSetTurnFoodSwitchCsReq = 588,
    CmdCancelMarkItemNotify = 552,
    CmdKgmcdmkglfb = 558,
    CmdComposeSelectedRelicCsReq = 577,
    CmdCmdLockRelicCsReq = 595,
    CmdMarkRelicFilterPlanScRsp = 515,
    CmdSpecialComposeItemCsReq = 566,
    CmdMarkItemCsReq = 542,
    CmdKdidckpmkjb = 572,
    CmdRankUpEquipmentCsReq = 526,
    CmdRelicReforgeCsReq = 522,
    CmdRechargeSuccNotify = 576,
    CmdUseItemCsReq = 547,
}
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 {
            Self::NlainhcfdgmGkjbaodjmjg => "NLAINHCFDGM_GKJBAODJMJG",
            Self::CmdMarkItemScRsp => "CmdMarkItemScRsp",
            Self::CmdAddRelicFilterPlanScRsp => "CmdAddRelicFilterPlanScRsp",
            Self::CmdEimgnaoalkn => "CmdEIMGNAOALKN",
            Self::CmdDestroyItemScRsp => "CmdDestroyItemScRsp",
            Self::CmdGetRecyleTimeScRsp => "CmdGetRecyleTimeScRsp",
            Self::CmdNmcdeffepcj => "CmdNMCDEFFEPCJ",
            Self::CmdDiscardRelicScRsp => "CmdDiscardRelicScRsp",
            Self::CmdExchangeHcoinCsReq => "CmdExchangeHcoinCsReq",
            Self::CmdComposeItemScRsp => "CmdComposeItemScRsp",
            Self::CmdHgoepifhman => "CmdHGOEPIFHMAN",
            Self::CmdDiscardRelicCsReq => "CmdDiscardRelicCsReq",
            Self::CmdRelicReforgeConfirmCsReq => "CmdRelicReforgeConfirmCsReq",
            Self::CmdGeneralVirtualItemDataNotify => "CmdGeneralVirtualItemDataNotify",
            Self::CmdGetMarkItemListCsReq => "CmdGetMarkItemListCsReq",
            Self::CmdExpUpRelicCsReq => "CmdExpUpRelicCsReq",
            Self::CmdGetBagScRsp => "CmdGetBagScRsp",
            Self::CmdIocmhkiebna => "CmdIOCMHKIEBNA",
            Self::CmdModifyRelicFilterPlanCsReq => "CmdModifyRelicFilterPlanCsReq",
            Self::CmdComposeLimitNumUpdateScNotify => "CmdComposeLimitNumUpdateScNotify",
            Self::CmdComposeSelectedRelicScRsp => "CmdComposeSelectedRelicScRsp",
            Self::CmdPromoteEquipmentCsReq => "CmdPromoteEquipmentCsReq",
            Self::CmdGetMarkItemListScRsp => "CmdGetMarkItemListScRsp",
            Self::CmdExpUpEquipmentScRsp => "CmdExpUpEquipmentScRsp",
            Self::CmdSellItemScRsp => "CmdSellItemScRsp",
            Self::CmdCmdLockEquipmentCsReq => "CmdCmdLockEquipmentCsReq",
            Self::CmdMogaicnajhf => "CmdMOGAICNAJHF",
            Self::CmdNjnniiiodgn => "CmdNJNNIIIODGN",
            Self::CmdBatchRankUpEquipmentCsReq => "CmdBatchRankUpEquipmentCsReq",
            Self::CmdAppajdmjehj => "CmdAPPAJDMJEHJ",
            Self::CmdGetBagCsReq => "CmdGetBagCsReq",
            Self::CmdSyncTurnFoodNotify => "CmdSyncTurnFoodNotify",
            Self::CmdExpUpEquipmentCsReq => "CmdExpUpEquipmentCsReq",
            Self::CmdAddRelicFilterPlanCsReq => "CmdAddRelicFilterPlanCsReq",
            Self::CmdDestroyItemCsReq => "CmdDestroyItemCsReq",
            Self::CmdCmdSellItemCsReq => "CmdCmdSellItemCsReq",
            Self::CmdUseItemScRsp => "CmdUseItemScRsp",
            Self::CmdJfgeeekpbjf => "CmdJFGEEEKPBJF",
            Self::CmdDeleteRelicFilterPlanCsReq => "CmdDeleteRelicFilterPlanCsReq",
            Self::CmdExchangeHcoinScRsp => "CmdExchangeHcoinScRsp",
            Self::CmdMarkRelicFilterPlanCsReq => "CmdMarkRelicFilterPlanCsReq",
            Self::CmdAddEquipmentScRsp => "CmdAddEquipmentScRsp",
            Self::CmdComposeLimitNumCompleteScNotify => {
                "CmdComposeLimitNumCompleteScNotify"
            }
            Self::CmdModifyRelicFilterPlanScRsp => "CmdModifyRelicFilterPlanScRsp",
            Self::CmdGetRelicFilterPlanCsReq => "CmdGetRelicFilterPlanCsReq",
            Self::CmdGetRecycleTimeCsReq => "CmdGetRecycleTimeCsReq",
            Self::CmdExpUpRelicScRsp => "CmdExpUpRelicScRsp",
            Self::CmdGetRelicFilterPlanScRsp => "CmdGetRelicFilterPlanScRsp",
            Self::CmdSetTurnFoodSwitchCsReq => "CmdSetTurnFoodSwitchCsReq",
            Self::CmdCancelMarkItemNotify => "CmdCancelMarkItemNotify",
            Self::CmdKgmcdmkglfb => "CmdKGMCDMKGLFB",
            Self::CmdComposeSelectedRelicCsReq => "CmdComposeSelectedRelicCsReq",
            Self::CmdCmdLockRelicCsReq => "CmdCmdLockRelicCsReq",
            Self::CmdMarkRelicFilterPlanScRsp => "CmdMarkRelicFilterPlanScRsp",
            Self::CmdSpecialComposeItemCsReq => "CmdSpecialComposeItemCsReq",
            Self::CmdMarkItemCsReq => "CmdMarkItemCsReq",
            Self::CmdKdidckpmkjb => "CmdKDIDCKPMKJB",
            Self::CmdRankUpEquipmentCsReq => "CmdRankUpEquipmentCsReq",
            Self::CmdRelicReforgeCsReq => "CmdRelicReforgeCsReq",
            Self::CmdRechargeSuccNotify => "CmdRechargeSuccNotify",
            Self::CmdUseItemCsReq => "CmdUseItemCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NLAINHCFDGM_GKJBAODJMJG" => Some(Self::NlainhcfdgmGkjbaodjmjg),
            "CmdMarkItemScRsp" => Some(Self::CmdMarkItemScRsp),
            "CmdAddRelicFilterPlanScRsp" => Some(Self::CmdAddRelicFilterPlanScRsp),
            "CmdEIMGNAOALKN" => Some(Self::CmdEimgnaoalkn),
            "CmdDestroyItemScRsp" => Some(Self::CmdDestroyItemScRsp),
            "CmdGetRecyleTimeScRsp" => Some(Self::CmdGetRecyleTimeScRsp),
            "CmdNMCDEFFEPCJ" => Some(Self::CmdNmcdeffepcj),
            "CmdDiscardRelicScRsp" => Some(Self::CmdDiscardRelicScRsp),
            "CmdExchangeHcoinCsReq" => Some(Self::CmdExchangeHcoinCsReq),
            "CmdComposeItemScRsp" => Some(Self::CmdComposeItemScRsp),
            "CmdHGOEPIFHMAN" => Some(Self::CmdHgoepifhman),
            "CmdDiscardRelicCsReq" => Some(Self::CmdDiscardRelicCsReq),
            "CmdRelicReforgeConfirmCsReq" => Some(Self::CmdRelicReforgeConfirmCsReq),
            "CmdGeneralVirtualItemDataNotify" => {
                Some(Self::CmdGeneralVirtualItemDataNotify)
            }
            "CmdGetMarkItemListCsReq" => Some(Self::CmdGetMarkItemListCsReq),
            "CmdExpUpRelicCsReq" => Some(Self::CmdExpUpRelicCsReq),
            "CmdGetBagScRsp" => Some(Self::CmdGetBagScRsp),
            "CmdIOCMHKIEBNA" => Some(Self::CmdIocmhkiebna),
            "CmdModifyRelicFilterPlanCsReq" => Some(Self::CmdModifyRelicFilterPlanCsReq),
            "CmdComposeLimitNumUpdateScNotify" => {
                Some(Self::CmdComposeLimitNumUpdateScNotify)
            }
            "CmdComposeSelectedRelicScRsp" => Some(Self::CmdComposeSelectedRelicScRsp),
            "CmdPromoteEquipmentCsReq" => Some(Self::CmdPromoteEquipmentCsReq),
            "CmdGetMarkItemListScRsp" => Some(Self::CmdGetMarkItemListScRsp),
            "CmdExpUpEquipmentScRsp" => Some(Self::CmdExpUpEquipmentScRsp),
            "CmdSellItemScRsp" => Some(Self::CmdSellItemScRsp),
            "CmdCmdLockEquipmentCsReq" => Some(Self::CmdCmdLockEquipmentCsReq),
            "CmdMOGAICNAJHF" => Some(Self::CmdMogaicnajhf),
            "CmdNJNNIIIODGN" => Some(Self::CmdNjnniiiodgn),
            "CmdBatchRankUpEquipmentCsReq" => Some(Self::CmdBatchRankUpEquipmentCsReq),
            "CmdAPPAJDMJEHJ" => Some(Self::CmdAppajdmjehj),
            "CmdGetBagCsReq" => Some(Self::CmdGetBagCsReq),
            "CmdSyncTurnFoodNotify" => Some(Self::CmdSyncTurnFoodNotify),
            "CmdExpUpEquipmentCsReq" => Some(Self::CmdExpUpEquipmentCsReq),
            "CmdAddRelicFilterPlanCsReq" => Some(Self::CmdAddRelicFilterPlanCsReq),
            "CmdDestroyItemCsReq" => Some(Self::CmdDestroyItemCsReq),
            "CmdCmdSellItemCsReq" => Some(Self::CmdCmdSellItemCsReq),
            "CmdUseItemScRsp" => Some(Self::CmdUseItemScRsp),
            "CmdJFGEEEKPBJF" => Some(Self::CmdJfgeeekpbjf),
            "CmdDeleteRelicFilterPlanCsReq" => Some(Self::CmdDeleteRelicFilterPlanCsReq),
            "CmdExchangeHcoinScRsp" => Some(Self::CmdExchangeHcoinScRsp),
            "CmdMarkRelicFilterPlanCsReq" => Some(Self::CmdMarkRelicFilterPlanCsReq),
            "CmdAddEquipmentScRsp" => Some(Self::CmdAddEquipmentScRsp),
            "CmdComposeLimitNumCompleteScNotify" => {
                Some(Self::CmdComposeLimitNumCompleteScNotify)
            }
            "CmdModifyRelicFilterPlanScRsp" => Some(Self::CmdModifyRelicFilterPlanScRsp),
            "CmdGetRelicFilterPlanCsReq" => Some(Self::CmdGetRelicFilterPlanCsReq),
            "CmdGetRecycleTimeCsReq" => Some(Self::CmdGetRecycleTimeCsReq),
            "CmdExpUpRelicScRsp" => Some(Self::CmdExpUpRelicScRsp),
            "CmdGetRelicFilterPlanScRsp" => Some(Self::CmdGetRelicFilterPlanScRsp),
            "CmdSetTurnFoodSwitchCsReq" => Some(Self::CmdSetTurnFoodSwitchCsReq),
            "CmdCancelMarkItemNotify" => Some(Self::CmdCancelMarkItemNotify),
            "CmdKGMCDMKGLFB" => Some(Self::CmdKgmcdmkglfb),
            "CmdComposeSelectedRelicCsReq" => Some(Self::CmdComposeSelectedRelicCsReq),
            "CmdCmdLockRelicCsReq" => Some(Self::CmdCmdLockRelicCsReq),
            "CmdMarkRelicFilterPlanScRsp" => Some(Self::CmdMarkRelicFilterPlanScRsp),
            "CmdSpecialComposeItemCsReq" => Some(Self::CmdSpecialComposeItemCsReq),
            "CmdMarkItemCsReq" => Some(Self::CmdMarkItemCsReq),
            "CmdKDIDCKPMKJB" => Some(Self::CmdKdidckpmkjb),
            "CmdRankUpEquipmentCsReq" => Some(Self::CmdRankUpEquipmentCsReq),
            "CmdRelicReforgeCsReq" => Some(Self::CmdRelicReforgeCsReq),
            "CmdRechargeSuccNotify" => Some(Self::CmdRechargeSuccNotify),
            "CmdUseItemCsReq" => Some(Self::CmdUseItemCsReq),
            _ => None,
        }
    }
}
/// Obf: HBKGFOMJCEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RelicDiscardType {
    HbkgfomjcecEkmcbeafebh = 0,
    HbkgfomjcecMgoijebfcdn = 1,
    HbkgfomjcecDpcbgfbdenh = 2,
}
impl RelicDiscardType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HbkgfomjcecEkmcbeafebh => "HBKGFOMJCEC_EKMCBEAFEBH",
            Self::HbkgfomjcecMgoijebfcdn => "HBKGFOMJCEC_MGOIJEBFCDN",
            Self::HbkgfomjcecDpcbgfbdenh => "HBKGFOMJCEC_DPCBGFBDENH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HBKGFOMJCEC_EKMCBEAFEBH" => Some(Self::HbkgfomjcecEkmcbeafebh),
            "HBKGFOMJCEC_MGOIJEBFCDN" => Some(Self::HbkgfomjcecMgoijebfcdn),
            "HBKGFOMJCEC_DPCBGFBDENH" => Some(Self::HbkgfomjcecDpcbgfbdenh),
            _ => None,
        }
    }
}
/// Obf: PLKMNNBHDIG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TurnFoodSwitch {
    PlkmnnbhdigGkjbaodjmjg = 0,
    PlkmnnbhdigHlhignnaghg = 1,
    PlkmnnbhdigPgolegicoke = 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 {
            Self::PlkmnnbhdigGkjbaodjmjg => "PLKMNNBHDIG_GKJBAODJMJG",
            Self::PlkmnnbhdigHlhignnaghg => "PLKMNNBHDIG_HLHIGNNAGHG",
            Self::PlkmnnbhdigPgolegicoke => "PLKMNNBHDIG_PGOLEGICOKE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLKMNNBHDIG_GKJBAODJMJG" => Some(Self::PlkmnnbhdigGkjbaodjmjg),
            "PLKMNNBHDIG_HLHIGNNAGHG" => Some(Self::PlkmnnbhdigHlhignnaghg),
            "PLKMNNBHDIG_PGOLEGICOKE" => Some(Self::PlkmnnbhdigPgolegicoke),
            _ => None,
        }
    }
}
/// Obf: NJOEAFFFFCG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdJukeboxType {
    NjoeaffffcgGkjbaodjmjg = 0,
    CmdPlayBackGroundMusicScRsp = 3175,
    CmdPlayBackGroundMusicCsReq = 3155,
    CmdUnlockBackGroundMusicCsReq = 3138,
    CmdGetJukeboxDataScRsp = 3128,
    CmdGetJukeboxDataCsReq = 3157,
    CmdNicmeejlnel = 3120,
    CmdUnlockBackGroundMusicScRsp = 3162,
    CmdEnhdidhpkdf = 3147,
}
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 {
            Self::NjoeaffffcgGkjbaodjmjg => "NJOEAFFFFCG_GKJBAODJMJG",
            Self::CmdPlayBackGroundMusicScRsp => "CmdPlayBackGroundMusicScRsp",
            Self::CmdPlayBackGroundMusicCsReq => "CmdPlayBackGroundMusicCsReq",
            Self::CmdUnlockBackGroundMusicCsReq => "CmdUnlockBackGroundMusicCsReq",
            Self::CmdGetJukeboxDataScRsp => "CmdGetJukeboxDataScRsp",
            Self::CmdGetJukeboxDataCsReq => "CmdGetJukeboxDataCsReq",
            Self::CmdNicmeejlnel => "CmdNICMEEJLNEL",
            Self::CmdUnlockBackGroundMusicScRsp => "CmdUnlockBackGroundMusicScRsp",
            Self::CmdEnhdidhpkdf => "CmdENHDIDHPKDF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NJOEAFFFFCG_GKJBAODJMJG" => Some(Self::NjoeaffffcgGkjbaodjmjg),
            "CmdPlayBackGroundMusicScRsp" => Some(Self::CmdPlayBackGroundMusicScRsp),
            "CmdPlayBackGroundMusicCsReq" => Some(Self::CmdPlayBackGroundMusicCsReq),
            "CmdUnlockBackGroundMusicCsReq" => Some(Self::CmdUnlockBackGroundMusicCsReq),
            "CmdGetJukeboxDataScRsp" => Some(Self::CmdGetJukeboxDataScRsp),
            "CmdGetJukeboxDataCsReq" => Some(Self::CmdGetJukeboxDataCsReq),
            "CmdNICMEEJLNEL" => Some(Self::CmdNicmeejlnel),
            "CmdUnlockBackGroundMusicScRsp" => Some(Self::CmdUnlockBackGroundMusicScRsp),
            "CmdENHDIDHPKDF" => Some(Self::CmdEnhdidhpkdf),
            _ => None,
        }
    }
}
/// Obf: EFJNJPLFPNN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLimaoNewsType {
    EfjnjplfpnnGkjbaodjmjg = 0,
    EfjnjplfpnnNglgcbdpjan = 9195,
    EfjnjplfpnnKgomnipfhgk = 9198,
    EfjnjplfpnnElpmmhclohk = 9210,
    CmdJcokafcdhoe = 9205,
    EfjnjplfpnnBlblcflodgf = 9192,
    CmdCdehmkjeeff = 9189,
    EfjnjplfpnnBnhgjpofgfh = 9193,
    CmdMmkodghfeok = 9184,
    CmdKmcobfnnhco = 9183,
    CmdBkkldpifepo = 9207,
    EfjnjplfpnnLfbimlkeapc = 9181,
    EfjnjplfpnnNfjgblminfj = 9203,
    CmdMoghfmddhmc = 9186,
    CmdEoplbnjpkig = 9191,
    EfjnjplfpnnKcghnglfmln = 9196,
    EfjnjplfpnnCnhpeajnhhh = 9187,
    EfjnjplfpnnDfcbgojngcm = 9202,
    EfjnjplfpnnIjicnlahjcj = 9199,
    CmdFlmhldeofii = 9200,
    CmdJpgojdhhglk = 9206,
    EfjnjplfpnnHeeloapljkf = 9209,
    CmdGehoabmladm = 9204,
    CmdIjojmnjhndc = 9208,
    CmdAimjhhecjpe = 9197,
    CmdCifmmilklpc = 9190,
}
impl CmdLimaoNewsType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EfjnjplfpnnGkjbaodjmjg => "EFJNJPLFPNN_GKJBAODJMJG",
            Self::EfjnjplfpnnNglgcbdpjan => "EFJNJPLFPNN_NGLGCBDPJAN",
            Self::EfjnjplfpnnKgomnipfhgk => "EFJNJPLFPNN_KGOMNIPFHGK",
            Self::EfjnjplfpnnElpmmhclohk => "EFJNJPLFPNN_ELPMMHCLOHK",
            Self::CmdJcokafcdhoe => "CmdJCOKAFCDHOE",
            Self::EfjnjplfpnnBlblcflodgf => "EFJNJPLFPNN_BLBLCFLODGF",
            Self::CmdCdehmkjeeff => "CmdCDEHMKJEEFF",
            Self::EfjnjplfpnnBnhgjpofgfh => "EFJNJPLFPNN_BNHGJPOFGFH",
            Self::CmdMmkodghfeok => "CmdMMKODGHFEOK",
            Self::CmdKmcobfnnhco => "CmdKMCOBFNNHCO",
            Self::CmdBkkldpifepo => "CmdBKKLDPIFEPO",
            Self::EfjnjplfpnnLfbimlkeapc => "EFJNJPLFPNN_LFBIMLKEAPC",
            Self::EfjnjplfpnnNfjgblminfj => "EFJNJPLFPNN_NFJGBLMINFJ",
            Self::CmdMoghfmddhmc => "CmdMOGHFMDDHMC",
            Self::CmdEoplbnjpkig => "CmdEOPLBNJPKIG",
            Self::EfjnjplfpnnKcghnglfmln => "EFJNJPLFPNN_KCGHNGLFMLN",
            Self::EfjnjplfpnnCnhpeajnhhh => "EFJNJPLFPNN_CNHPEAJNHHH",
            Self::EfjnjplfpnnDfcbgojngcm => "EFJNJPLFPNN_DFCBGOJNGCM",
            Self::EfjnjplfpnnIjicnlahjcj => "EFJNJPLFPNN_IJICNLAHJCJ",
            Self::CmdFlmhldeofii => "CmdFLMHLDEOFII",
            Self::CmdJpgojdhhglk => "CmdJPGOJDHHGLK",
            Self::EfjnjplfpnnHeeloapljkf => "EFJNJPLFPNN_HEELOAPLJKF",
            Self::CmdGehoabmladm => "CmdGEHOABMLADM",
            Self::CmdIjojmnjhndc => "CmdIJOJMNJHNDC",
            Self::CmdAimjhhecjpe => "CmdAIMJHHECJPE",
            Self::CmdCifmmilklpc => "CmdCIFMMILKLPC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EFJNJPLFPNN_GKJBAODJMJG" => Some(Self::EfjnjplfpnnGkjbaodjmjg),
            "EFJNJPLFPNN_NGLGCBDPJAN" => Some(Self::EfjnjplfpnnNglgcbdpjan),
            "EFJNJPLFPNN_KGOMNIPFHGK" => Some(Self::EfjnjplfpnnKgomnipfhgk),
            "EFJNJPLFPNN_ELPMMHCLOHK" => Some(Self::EfjnjplfpnnElpmmhclohk),
            "CmdJCOKAFCDHOE" => Some(Self::CmdJcokafcdhoe),
            "EFJNJPLFPNN_BLBLCFLODGF" => Some(Self::EfjnjplfpnnBlblcflodgf),
            "CmdCDEHMKJEEFF" => Some(Self::CmdCdehmkjeeff),
            "EFJNJPLFPNN_BNHGJPOFGFH" => Some(Self::EfjnjplfpnnBnhgjpofgfh),
            "CmdMMKODGHFEOK" => Some(Self::CmdMmkodghfeok),
            "CmdKMCOBFNNHCO" => Some(Self::CmdKmcobfnnhco),
            "CmdBKKLDPIFEPO" => Some(Self::CmdBkkldpifepo),
            "EFJNJPLFPNN_LFBIMLKEAPC" => Some(Self::EfjnjplfpnnLfbimlkeapc),
            "EFJNJPLFPNN_NFJGBLMINFJ" => Some(Self::EfjnjplfpnnNfjgblminfj),
            "CmdMOGHFMDDHMC" => Some(Self::CmdMoghfmddhmc),
            "CmdEOPLBNJPKIG" => Some(Self::CmdEoplbnjpkig),
            "EFJNJPLFPNN_KCGHNGLFMLN" => Some(Self::EfjnjplfpnnKcghnglfmln),
            "EFJNJPLFPNN_CNHPEAJNHHH" => Some(Self::EfjnjplfpnnCnhpeajnhhh),
            "EFJNJPLFPNN_DFCBGOJNGCM" => Some(Self::EfjnjplfpnnDfcbgojngcm),
            "EFJNJPLFPNN_IJICNLAHJCJ" => Some(Self::EfjnjplfpnnIjicnlahjcj),
            "CmdFLMHLDEOFII" => Some(Self::CmdFlmhldeofii),
            "CmdJPGOJDHHGLK" => Some(Self::CmdJpgojdhhglk),
            "EFJNJPLFPNN_HEELOAPLJKF" => Some(Self::EfjnjplfpnnHeeloapljkf),
            "CmdGEHOABMLADM" => Some(Self::CmdGehoabmladm),
            "CmdIJOJMNJHNDC" => Some(Self::CmdIjojmnjhndc),
            "CmdAIMJHHECJPE" => Some(Self::CmdAimjhhecjpe),
            "CmdCIFMMILKLPC" => Some(Self::CmdCifmmilklpc),
            _ => None,
        }
    }
}
/// Obf: IANKGDFEAAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LimaoNewsOfficeSurveyState {
    IankgdfeaafGkjbaodjmjg = 0,
    IankgdfeaafFnmmgapcfpi = 1,
    IankgdfeaafCinldpijhpp = 2,
    IankgdfeaafEoecbcghbie = 3,
    IankgdfeaafHbgghebicak = 4,
}
impl LimaoNewsOfficeSurveyState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IankgdfeaafGkjbaodjmjg => "IANKGDFEAAF_GKJBAODJMJG",
            Self::IankgdfeaafFnmmgapcfpi => "IANKGDFEAAF_FNMMGAPCFPI",
            Self::IankgdfeaafCinldpijhpp => "IANKGDFEAAF_CINLDPIJHPP",
            Self::IankgdfeaafEoecbcghbie => "IANKGDFEAAF_EOECBCGHBIE",
            Self::IankgdfeaafHbgghebicak => "IANKGDFEAAF_HBGGHEBICAK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IANKGDFEAAF_GKJBAODJMJG" => Some(Self::IankgdfeaafGkjbaodjmjg),
            "IANKGDFEAAF_FNMMGAPCFPI" => Some(Self::IankgdfeaafFnmmgapcfpi),
            "IANKGDFEAAF_CINLDPIJHPP" => Some(Self::IankgdfeaafCinldpijhpp),
            "IANKGDFEAAF_EOECBCGHBIE" => Some(Self::IankgdfeaafEoecbcghbie),
            "IANKGDFEAAF_HBGGHEBICAK" => Some(Self::IankgdfeaafHbgghebicak),
            _ => None,
        }
    }
}
/// Obf: EOGBAEHLGFI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLineupType {
    EogbaehlgfiGkjbaodjmjg = 0,
    CmdExtraLineupDestroyNotify = 714,
    CmdSwitchLineupIndexScRsp = 795,
    CmdEjdcdkkpdif = 728,
    CmdCfpokmaccei = 720,
    CmdReplaceLineupCsReq = 780,
    CmdSwitchLineupIndexCsReq = 783,
    CmdGetLineupAvatarDataCsReq = 769,
    CmdSyncLineupNotify = 737,
    CmdQuitLineupCsReq = 747,
    CmdChangeLineupLeaderScRsp = 745,
    CmdSetLineupNameCsReq = 734,
    CmdBfpnodbkmpd = 705,
    CmdGetAllLineupDataCsReq = 789,
    CmdReplaceLineupScRsp = 777,
    CmdSetLineupNameScRsp = 793,
    CmdEfihhjolphm = 762,
    CmdVirtualLineupDestroyNotify = 796,
    EogbaehlgfiLhiegidbcjg = 757,
    CmdChangeLineupLeaderCsReq = 779,
    CmdGetLineupAvatarDataScRsp = 766,
    CmdJoinLineupCsReq = 738,
    CmdGetCurLineupDataScRsp = 775,
    CmdVirtualLineupTrialAvatarChangeScNotify = 712,
    CmdSwapLineupCsReq = 726,
    CmdGetCurLineupDataCsReq = 755,
    CmdGetAllLineupDataScRsp = 776,
}
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 {
            Self::EogbaehlgfiGkjbaodjmjg => "EOGBAEHLGFI_GKJBAODJMJG",
            Self::CmdExtraLineupDestroyNotify => "CmdExtraLineupDestroyNotify",
            Self::CmdSwitchLineupIndexScRsp => "CmdSwitchLineupIndexScRsp",
            Self::CmdEjdcdkkpdif => "CmdEJDCDKKPDIF",
            Self::CmdCfpokmaccei => "CmdCFPOKMACCEI",
            Self::CmdReplaceLineupCsReq => "CmdReplaceLineupCsReq",
            Self::CmdSwitchLineupIndexCsReq => "CmdSwitchLineupIndexCsReq",
            Self::CmdGetLineupAvatarDataCsReq => "CmdGetLineupAvatarDataCsReq",
            Self::CmdSyncLineupNotify => "CmdSyncLineupNotify",
            Self::CmdQuitLineupCsReq => "CmdQuitLineupCsReq",
            Self::CmdChangeLineupLeaderScRsp => "CmdChangeLineupLeaderScRsp",
            Self::CmdSetLineupNameCsReq => "CmdSetLineupNameCsReq",
            Self::CmdBfpnodbkmpd => "CmdBFPNODBKMPD",
            Self::CmdGetAllLineupDataCsReq => "CmdGetAllLineupDataCsReq",
            Self::CmdReplaceLineupScRsp => "CmdReplaceLineupScRsp",
            Self::CmdSetLineupNameScRsp => "CmdSetLineupNameScRsp",
            Self::CmdEfihhjolphm => "CmdEFIHHJOLPHM",
            Self::CmdVirtualLineupDestroyNotify => "CmdVirtualLineupDestroyNotify",
            Self::EogbaehlgfiLhiegidbcjg => "EOGBAEHLGFI_LHIEGIDBCJG",
            Self::CmdChangeLineupLeaderCsReq => "CmdChangeLineupLeaderCsReq",
            Self::CmdGetLineupAvatarDataScRsp => "CmdGetLineupAvatarDataScRsp",
            Self::CmdJoinLineupCsReq => "CmdJoinLineupCsReq",
            Self::CmdGetCurLineupDataScRsp => "CmdGetCurLineupDataScRsp",
            Self::CmdVirtualLineupTrialAvatarChangeScNotify => {
                "CmdVirtualLineupTrialAvatarChangeScNotify"
            }
            Self::CmdSwapLineupCsReq => "CmdSwapLineupCsReq",
            Self::CmdGetCurLineupDataCsReq => "CmdGetCurLineupDataCsReq",
            Self::CmdGetAllLineupDataScRsp => "CmdGetAllLineupDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EOGBAEHLGFI_GKJBAODJMJG" => Some(Self::EogbaehlgfiGkjbaodjmjg),
            "CmdExtraLineupDestroyNotify" => Some(Self::CmdExtraLineupDestroyNotify),
            "CmdSwitchLineupIndexScRsp" => Some(Self::CmdSwitchLineupIndexScRsp),
            "CmdEJDCDKKPDIF" => Some(Self::CmdEjdcdkkpdif),
            "CmdCFPOKMACCEI" => Some(Self::CmdCfpokmaccei),
            "CmdReplaceLineupCsReq" => Some(Self::CmdReplaceLineupCsReq),
            "CmdSwitchLineupIndexCsReq" => Some(Self::CmdSwitchLineupIndexCsReq),
            "CmdGetLineupAvatarDataCsReq" => Some(Self::CmdGetLineupAvatarDataCsReq),
            "CmdSyncLineupNotify" => Some(Self::CmdSyncLineupNotify),
            "CmdQuitLineupCsReq" => Some(Self::CmdQuitLineupCsReq),
            "CmdChangeLineupLeaderScRsp" => Some(Self::CmdChangeLineupLeaderScRsp),
            "CmdSetLineupNameCsReq" => Some(Self::CmdSetLineupNameCsReq),
            "CmdBFPNODBKMPD" => Some(Self::CmdBfpnodbkmpd),
            "CmdGetAllLineupDataCsReq" => Some(Self::CmdGetAllLineupDataCsReq),
            "CmdReplaceLineupScRsp" => Some(Self::CmdReplaceLineupScRsp),
            "CmdSetLineupNameScRsp" => Some(Self::CmdSetLineupNameScRsp),
            "CmdEFIHHJOLPHM" => Some(Self::CmdEfihhjolphm),
            "CmdVirtualLineupDestroyNotify" => Some(Self::CmdVirtualLineupDestroyNotify),
            "EOGBAEHLGFI_LHIEGIDBCJG" => Some(Self::EogbaehlgfiLhiegidbcjg),
            "CmdChangeLineupLeaderCsReq" => Some(Self::CmdChangeLineupLeaderCsReq),
            "CmdGetLineupAvatarDataScRsp" => Some(Self::CmdGetLineupAvatarDataScRsp),
            "CmdJoinLineupCsReq" => Some(Self::CmdJoinLineupCsReq),
            "CmdGetCurLineupDataScRsp" => Some(Self::CmdGetCurLineupDataScRsp),
            "CmdVirtualLineupTrialAvatarChangeScNotify" => {
                Some(Self::CmdVirtualLineupTrialAvatarChangeScNotify)
            }
            "CmdSwapLineupCsReq" => Some(Self::CmdSwapLineupCsReq),
            "CmdGetCurLineupDataCsReq" => Some(Self::CmdGetCurLineupDataCsReq),
            "CmdGetAllLineupDataScRsp" => Some(Self::CmdGetAllLineupDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmiofdjndld {
    Gkjbaodjmjg = 0,
    Ddnenfpojbb = 1,
    Pblicljkfhf = 2,
    Aemdgpgjnan = 3,
    Khnbfjgejmi = 4,
}
impl Gmiofdjndld {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "GMIOFDJNDLD_GKJBAODJMJG",
            Self::Ddnenfpojbb => "GMIOFDJNDLD_DDNENFPOJBB",
            Self::Pblicljkfhf => "GMIOFDJNDLD_PBLICLJKFHF",
            Self::Aemdgpgjnan => "GMIOFDJNDLD_AEMDGPGJNAN",
            Self::Khnbfjgejmi => "GMIOFDJNDLD_KHNBFJGEJMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GMIOFDJNDLD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "GMIOFDJNDLD_DDNENFPOJBB" => Some(Self::Ddnenfpojbb),
            "GMIOFDJNDLD_PBLICLJKFHF" => Some(Self::Pblicljkfhf),
            "GMIOFDJNDLD_AEMDGPGJNAN" => Some(Self::Aemdgpgjnan),
            "GMIOFDJNDLD_KHNBFJGEJMI" => Some(Self::Khnbfjgejmi),
            _ => None,
        }
    }
}
/// Obf: GGNDCJADNEF
#[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,
    LineupFate = 18,
    LineupGridFight = 19,
}
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 {
            Self::LineupNone => "LINEUP_NONE",
            Self::LineupChallenge => "LINEUP_CHALLENGE",
            Self::LineupRogue => "LINEUP_ROGUE",
            Self::LineupChallenge2 => "LINEUP_CHALLENGE_2",
            Self::LineupChallenge3 => "LINEUP_CHALLENGE_3",
            Self::LineupRogueChallenge => "LINEUP_ROGUE_CHALLENGE",
            Self::LineupStageTrial => "LINEUP_STAGE_TRIAL",
            Self::LineupRogueTrial => "LINEUP_ROGUE_TRIAL",
            Self::LineupActivity => "LINEUP_ACTIVITY",
            Self::LineupBoxingClub => "LINEUP_BOXING_CLUB",
            Self::LineupTreasureDungeon => "LINEUP_TREASURE_DUNGEON",
            Self::LineupChessRogue => "LINEUP_CHESS_ROGUE",
            Self::LineupHeliobus => "LINEUP_HELIOBUS",
            Self::LineupTournRogue => "LINEUP_TOURN_ROGUE",
            Self::LineupRelicRogue => "LINEUP_RELIC_ROGUE",
            Self::LineupArcadeRogue => "LINEUP_ARCADE_ROGUE",
            Self::LineupMagicRogue => "LINEUP_MAGIC_ROGUE",
            Self::LineupFate => "LINEUP_FATE",
            Self::LineupGridFight => "LINEUP_GRID_FIGHT",
        }
    }
    /// 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),
            "LINEUP_FATE" => Some(Self::LineupFate),
            "LINEUP_GRID_FIGHT" => Some(Self::LineupGridFight),
            _ => None,
        }
    }
}
/// Obf: HCBOFBPHBHH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SyncLineupReason {
    SyncReasonNone = 0,
    SyncReasonMpAdd = 1,
    SyncReasonMpAddPropHit = 2,
    SyncReasonHpAdd = 3,
    SyncReasonHpAddPropHit = 4,
    SyncReasonMpMaxChangedPermanent = 5,
    SyncReasonMpMaxChangedByModifier = 6,
}
impl SyncLineupReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SyncReasonNone => "SYNC_REASON_NONE",
            Self::SyncReasonMpAdd => "SYNC_REASON_MP_ADD",
            Self::SyncReasonMpAddPropHit => "SYNC_REASON_MP_ADD_PROP_HIT",
            Self::SyncReasonHpAdd => "SYNC_REASON_HP_ADD",
            Self::SyncReasonHpAddPropHit => "SYNC_REASON_HP_ADD_PROP_HIT",
            Self::SyncReasonMpMaxChangedPermanent => {
                "SYNC_REASON_MP_MAX_CHANGED_PERMANENT"
            }
            Self::SyncReasonMpMaxChangedByModifier => {
                "SYNC_REASON_MP_MAX_CHANGED_BY_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 {
            "SYNC_REASON_NONE" => Some(Self::SyncReasonNone),
            "SYNC_REASON_MP_ADD" => Some(Self::SyncReasonMpAdd),
            "SYNC_REASON_MP_ADD_PROP_HIT" => Some(Self::SyncReasonMpAddPropHit),
            "SYNC_REASON_HP_ADD" => Some(Self::SyncReasonHpAdd),
            "SYNC_REASON_HP_ADD_PROP_HIT" => Some(Self::SyncReasonHpAddPropHit),
            "SYNC_REASON_MP_MAX_CHANGED_PERMANENT" => {
                Some(Self::SyncReasonMpMaxChangedPermanent)
            }
            "SYNC_REASON_MP_MAX_CHANGED_BY_MODIFIER" => {
                Some(Self::SyncReasonMpMaxChangedByModifier)
            }
            _ => None,
        }
    }
}
/// Obf: COKLAFJOAPE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLobbyType {
    CoklafjoapeGkjbaodjmjg = 0,
    CmdLobbyCreateScRsp = 7399,
    CmdFcibpcjmgpk = 7388,
    CmdGkljcjjmbhh = 7389,
    CmdLobbyInteractScNotify = 7371,
    CmdLobbySyncInfoScNotify = 7393,
    CmdPokndbaippo = 7381,
    CmdGnpikaglmmf = 7387,
    CmdLobbyKickOutCsReq = 7358,
    CmdDfmajaehanb = 7361,
    CmdJffiogepoop = 7356,
    CmdLobbyGetInfoScRsp = 7370,
    CmdKhcdiigoijf = 7369,
    CmdImcnemlgpfn = 7372,
    CmdLobbyInviteCsReq = 7353,
    CmdLobbyModifyPlayerInfoCsReq = 7397,
    CoklafjoapeCkjkiioacko = 7390,
    CmdAipmddhcccd = 7385,
    CmdNpdmfmbheef = 7383,
    CmdLobbyGetInfoCsReq = 7351,
    CmdLobbyCreateCsReq = 7400,
    CmdLobbyQuitCsReq = 7379,
    CmdLobbyJoinScRsp = 7357,
    CmdLobbyJoinCsReq = 7374,
}
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 {
            Self::CoklafjoapeGkjbaodjmjg => "COKLAFJOAPE_GKJBAODJMJG",
            Self::CmdLobbyCreateScRsp => "CmdLobbyCreateScRsp",
            Self::CmdFcibpcjmgpk => "CmdFCIBPCJMGPK",
            Self::CmdGkljcjjmbhh => "CmdGKLJCJJMBHH",
            Self::CmdLobbyInteractScNotify => "CmdLobbyInteractScNotify",
            Self::CmdLobbySyncInfoScNotify => "CmdLobbySyncInfoScNotify",
            Self::CmdPokndbaippo => "CmdPOKNDBAIPPO",
            Self::CmdGnpikaglmmf => "CmdGNPIKAGLMMF",
            Self::CmdLobbyKickOutCsReq => "CmdLobbyKickOutCsReq",
            Self::CmdDfmajaehanb => "CmdDFMAJAEHANB",
            Self::CmdJffiogepoop => "CmdJFFIOGEPOOP",
            Self::CmdLobbyGetInfoScRsp => "CmdLobbyGetInfoScRsp",
            Self::CmdKhcdiigoijf => "CmdKHCDIIGOIJF",
            Self::CmdImcnemlgpfn => "CmdIMCNEMLGPFN",
            Self::CmdLobbyInviteCsReq => "CmdLobbyInviteCsReq",
            Self::CmdLobbyModifyPlayerInfoCsReq => "CmdLobbyModifyPlayerInfoCsReq",
            Self::CoklafjoapeCkjkiioacko => "COKLAFJOAPE_CKJKIIOACKO",
            Self::CmdAipmddhcccd => "CmdAIPMDDHCCCD",
            Self::CmdNpdmfmbheef => "CmdNPDMFMBHEEF",
            Self::CmdLobbyGetInfoCsReq => "CmdLobbyGetInfoCsReq",
            Self::CmdLobbyCreateCsReq => "CmdLobbyCreateCsReq",
            Self::CmdLobbyQuitCsReq => "CmdLobbyQuitCsReq",
            Self::CmdLobbyJoinScRsp => "CmdLobbyJoinScRsp",
            Self::CmdLobbyJoinCsReq => "CmdLobbyJoinCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "COKLAFJOAPE_GKJBAODJMJG" => Some(Self::CoklafjoapeGkjbaodjmjg),
            "CmdLobbyCreateScRsp" => Some(Self::CmdLobbyCreateScRsp),
            "CmdFCIBPCJMGPK" => Some(Self::CmdFcibpcjmgpk),
            "CmdGKLJCJJMBHH" => Some(Self::CmdGkljcjjmbhh),
            "CmdLobbyInteractScNotify" => Some(Self::CmdLobbyInteractScNotify),
            "CmdLobbySyncInfoScNotify" => Some(Self::CmdLobbySyncInfoScNotify),
            "CmdPOKNDBAIPPO" => Some(Self::CmdPokndbaippo),
            "CmdGNPIKAGLMMF" => Some(Self::CmdGnpikaglmmf),
            "CmdLobbyKickOutCsReq" => Some(Self::CmdLobbyKickOutCsReq),
            "CmdDFMAJAEHANB" => Some(Self::CmdDfmajaehanb),
            "CmdJFFIOGEPOOP" => Some(Self::CmdJffiogepoop),
            "CmdLobbyGetInfoScRsp" => Some(Self::CmdLobbyGetInfoScRsp),
            "CmdKHCDIIGOIJF" => Some(Self::CmdKhcdiigoijf),
            "CmdIMCNEMLGPFN" => Some(Self::CmdImcnemlgpfn),
            "CmdLobbyInviteCsReq" => Some(Self::CmdLobbyInviteCsReq),
            "CmdLobbyModifyPlayerInfoCsReq" => Some(Self::CmdLobbyModifyPlayerInfoCsReq),
            "COKLAFJOAPE_CKJKIIOACKO" => Some(Self::CoklafjoapeCkjkiioacko),
            "CmdAIPMDDHCCCD" => Some(Self::CmdAipmddhcccd),
            "CmdNPDMFMBHEEF" => Some(Self::CmdNpdmfmbheef),
            "CmdLobbyGetInfoCsReq" => Some(Self::CmdLobbyGetInfoCsReq),
            "CmdLobbyCreateCsReq" => Some(Self::CmdLobbyCreateCsReq),
            "CmdLobbyQuitCsReq" => Some(Self::CmdLobbyQuitCsReq),
            "CmdLobbyJoinScRsp" => Some(Self::CmdLobbyJoinScRsp),
            "CmdLobbyJoinCsReq" => Some(Self::CmdLobbyJoinCsReq),
            _ => None,
        }
    }
}
/// Obf: DNGNFNOADCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLocalLegendType {
    DngnfnoadcnGkjbaodjmjg = 0,
    CmdEnterLocalLegendLevelScRsp = 6586,
    CmdGetLocalLegendDataCsReq = 6576,
    CmdGetLocalLegendDataScRsp = 6585,
    CmdLocalLegendDataChangeNotify = 6584,
    CmdStartLocalLegendLevelCsReq = 6588,
}
impl CmdLocalLegendType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DngnfnoadcnGkjbaodjmjg => "DNGNFNOADCN_GKJBAODJMJG",
            Self::CmdEnterLocalLegendLevelScRsp => "CmdEnterLocalLegendLevelScRsp",
            Self::CmdGetLocalLegendDataCsReq => "CmdGetLocalLegendDataCsReq",
            Self::CmdGetLocalLegendDataScRsp => "CmdGetLocalLegendDataScRsp",
            Self::CmdLocalLegendDataChangeNotify => "CmdLocalLegendDataChangeNotify",
            Self::CmdStartLocalLegendLevelCsReq => "CmdStartLocalLegendLevelCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DNGNFNOADCN_GKJBAODJMJG" => Some(Self::DngnfnoadcnGkjbaodjmjg),
            "CmdEnterLocalLegendLevelScRsp" => Some(Self::CmdEnterLocalLegendLevelScRsp),
            "CmdGetLocalLegendDataCsReq" => Some(Self::CmdGetLocalLegendDataCsReq),
            "CmdGetLocalLegendDataScRsp" => Some(Self::CmdGetLocalLegendDataScRsp),
            "CmdLocalLegendDataChangeNotify" => {
                Some(Self::CmdLocalLegendDataChangeNotify)
            }
            "CmdStartLocalLegendLevelCsReq" => Some(Self::CmdStartLocalLegendLevelCsReq),
            _ => None,
        }
    }
}
/// Obf: LCFDJEADLPG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMailType {
    LcfdjeadlpgGkjbaodjmjg = 0,
    CmdMarkReadMailCsReq = 855,
    CmdGetMailCsReq = 857,
    CmdGetMailScRsp = 828,
    CmdTakeMailAttachmentScRsp = 820,
    CmdGnpcmbfinmc = 875,
    CmdDelMailScRsp = 862,
    CmdTakeMailAttachmentCsReq = 847,
    CmdDelMailCsReq = 838,
    CmdNewMailScNotify = 826,
}
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 {
            Self::LcfdjeadlpgGkjbaodjmjg => "LCFDJEADLPG_GKJBAODJMJG",
            Self::CmdMarkReadMailCsReq => "CmdMarkReadMailCsReq",
            Self::CmdGetMailCsReq => "CmdGetMailCsReq",
            Self::CmdGetMailScRsp => "CmdGetMailScRsp",
            Self::CmdTakeMailAttachmentScRsp => "CmdTakeMailAttachmentScRsp",
            Self::CmdGnpcmbfinmc => "CmdGNPCMBFINMC",
            Self::CmdDelMailScRsp => "CmdDelMailScRsp",
            Self::CmdTakeMailAttachmentCsReq => "CmdTakeMailAttachmentCsReq",
            Self::CmdDelMailCsReq => "CmdDelMailCsReq",
            Self::CmdNewMailScNotify => "CmdNewMailScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCFDJEADLPG_GKJBAODJMJG" => Some(Self::LcfdjeadlpgGkjbaodjmjg),
            "CmdMarkReadMailCsReq" => Some(Self::CmdMarkReadMailCsReq),
            "CmdGetMailCsReq" => Some(Self::CmdGetMailCsReq),
            "CmdGetMailScRsp" => Some(Self::CmdGetMailScRsp),
            "CmdTakeMailAttachmentScRsp" => Some(Self::CmdTakeMailAttachmentScRsp),
            "CmdGNPCMBFINMC" => Some(Self::CmdGnpcmbfinmc),
            "CmdDelMailScRsp" => Some(Self::CmdDelMailScRsp),
            "CmdTakeMailAttachmentCsReq" => Some(Self::CmdTakeMailAttachmentCsReq),
            "CmdDelMailCsReq" => Some(Self::CmdDelMailCsReq),
            "CmdNewMailScNotify" => Some(Self::CmdNewMailScNotify),
            _ => None,
        }
    }
}
/// Obf: LONKEGDLDPB
#[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 {
            Self::Normal => "MAIL_TYPE_NORMAL",
            Self::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: HMBFBBLHJLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMapRotationType {
    HmbfbblhjloGkjbaodjmjg = 0,
    CmdInteractChargerCsReq = 6855,
    CmdResetMapRotationRegionCsReq = 6866,
    CmdGetMapRotationDataCsReq = 6837,
    CmdIccbbnpiock = 6889,
    CmdHcenkgnlmai = 6875,
    CmdLeaveMapRotationRegionCsReq = 6826,
    CmdAkjhioinlkj = 6845,
    CmdMenbfdilgjo = 6893,
    CmdRemoveRotatorCsReq = 6834,
    CmdNglngihkdij = 6895,
    CmdMidlgmbdpge = 6862,
    CmdRotateMapCsReq = 6847,
    CmdEnterMapRotationRegionCsReq = 6857,
    CmdCchnieehhfb = 6869,
    CmdAnhkkglcbpp = 6820,
    CmdLdadlmmpdhe = 6805,
    CmdDeployRotatorCsReq = 6838,
    CmdJnhfooedfpj = 6883,
    CmdOephaeecjel = 6879,
    CmdCiiemdbojmj = 6828,
}
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 {
            Self::HmbfbblhjloGkjbaodjmjg => "HMBFBBLHJLO_GKJBAODJMJG",
            Self::CmdInteractChargerCsReq => "CmdInteractChargerCsReq",
            Self::CmdResetMapRotationRegionCsReq => "CmdResetMapRotationRegionCsReq",
            Self::CmdGetMapRotationDataCsReq => "CmdGetMapRotationDataCsReq",
            Self::CmdIccbbnpiock => "CmdICCBBNPIOCK",
            Self::CmdHcenkgnlmai => "CmdHCENKGNLMAI",
            Self::CmdLeaveMapRotationRegionCsReq => "CmdLeaveMapRotationRegionCsReq",
            Self::CmdAkjhioinlkj => "CmdAKJHIOINLKJ",
            Self::CmdMenbfdilgjo => "CmdMENBFDILGJO",
            Self::CmdRemoveRotatorCsReq => "CmdRemoveRotatorCsReq",
            Self::CmdNglngihkdij => "CmdNGLNGIHKDIJ",
            Self::CmdMidlgmbdpge => "CmdMIDLGMBDPGE",
            Self::CmdRotateMapCsReq => "CmdRotateMapCsReq",
            Self::CmdEnterMapRotationRegionCsReq => "CmdEnterMapRotationRegionCsReq",
            Self::CmdCchnieehhfb => "CmdCCHNIEEHHFB",
            Self::CmdAnhkkglcbpp => "CmdANHKKGLCBPP",
            Self::CmdLdadlmmpdhe => "CmdLDADLMMPDHE",
            Self::CmdDeployRotatorCsReq => "CmdDeployRotatorCsReq",
            Self::CmdJnhfooedfpj => "CmdJNHFOOEDFPJ",
            Self::CmdOephaeecjel => "CmdOEPHAEECJEL",
            Self::CmdCiiemdbojmj => "CmdCIIEMDBOJMJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HMBFBBLHJLO_GKJBAODJMJG" => Some(Self::HmbfbblhjloGkjbaodjmjg),
            "CmdInteractChargerCsReq" => Some(Self::CmdInteractChargerCsReq),
            "CmdResetMapRotationRegionCsReq" => {
                Some(Self::CmdResetMapRotationRegionCsReq)
            }
            "CmdGetMapRotationDataCsReq" => Some(Self::CmdGetMapRotationDataCsReq),
            "CmdICCBBNPIOCK" => Some(Self::CmdIccbbnpiock),
            "CmdHCENKGNLMAI" => Some(Self::CmdHcenkgnlmai),
            "CmdLeaveMapRotationRegionCsReq" => {
                Some(Self::CmdLeaveMapRotationRegionCsReq)
            }
            "CmdAKJHIOINLKJ" => Some(Self::CmdAkjhioinlkj),
            "CmdMENBFDILGJO" => Some(Self::CmdMenbfdilgjo),
            "CmdRemoveRotatorCsReq" => Some(Self::CmdRemoveRotatorCsReq),
            "CmdNGLNGIHKDIJ" => Some(Self::CmdNglngihkdij),
            "CmdMIDLGMBDPGE" => Some(Self::CmdMidlgmbdpge),
            "CmdRotateMapCsReq" => Some(Self::CmdRotateMapCsReq),
            "CmdEnterMapRotationRegionCsReq" => {
                Some(Self::CmdEnterMapRotationRegionCsReq)
            }
            "CmdCCHNIEEHHFB" => Some(Self::CmdCchnieehhfb),
            "CmdANHKKGLCBPP" => Some(Self::CmdAnhkkglcbpp),
            "CmdLDADLMMPDHE" => Some(Self::CmdLdadlmmpdhe),
            "CmdDeployRotatorCsReq" => Some(Self::CmdDeployRotatorCsReq),
            "CmdJNHFOOEDFPJ" => Some(Self::CmdJnhfooedfpj),
            "CmdOEPHAEECJEL" => Some(Self::CmdOephaeecjel),
            "CmdCIIEMDBOJMJ" => Some(Self::CmdCiiemdbojmj),
            _ => None,
        }
    }
}
/// Obf: JIMCNLAGELM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarbleType {
    JimcnlagelmGkjbaodjmjg = 0,
    CmdMarbleShopBuyCsReq = 8282,
    CmdCjiblehfkhh = 8276,
    CmdMarblePvpDataUpdateScNotify = 8285,
    CmdMarbleUnlockSealScNotify = 8290,
    CmdMarbleGetDataScRsp = 8274,
    CmdMarbleGetDataCsReq = 8280,
    CmdMarbleUpdateShownSealScRsp = 8288,
    CmdMarbleShopBuyScRsp = 8281,
    CmdMarbleUpdateShownSealCsReq = 8286,
    CmdKcdmieaeeli = 8271,
}
impl CmdMarbleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JimcnlagelmGkjbaodjmjg => "JIMCNLAGELM_GKJBAODJMJG",
            Self::CmdMarbleShopBuyCsReq => "CmdMarbleShopBuyCsReq",
            Self::CmdCjiblehfkhh => "CmdCJIBLEHFKHH",
            Self::CmdMarblePvpDataUpdateScNotify => "CmdMarblePvpDataUpdateScNotify",
            Self::CmdMarbleUnlockSealScNotify => "CmdMarbleUnlockSealScNotify",
            Self::CmdMarbleGetDataScRsp => "CmdMarbleGetDataScRsp",
            Self::CmdMarbleGetDataCsReq => "CmdMarbleGetDataCsReq",
            Self::CmdMarbleUpdateShownSealScRsp => "CmdMarbleUpdateShownSealScRsp",
            Self::CmdMarbleShopBuyScRsp => "CmdMarbleShopBuyScRsp",
            Self::CmdMarbleUpdateShownSealCsReq => "CmdMarbleUpdateShownSealCsReq",
            Self::CmdKcdmieaeeli => "CmdKCDMIEAEELI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JIMCNLAGELM_GKJBAODJMJG" => Some(Self::JimcnlagelmGkjbaodjmjg),
            "CmdMarbleShopBuyCsReq" => Some(Self::CmdMarbleShopBuyCsReq),
            "CmdCJIBLEHFKHH" => Some(Self::CmdCjiblehfkhh),
            "CmdMarblePvpDataUpdateScNotify" => {
                Some(Self::CmdMarblePvpDataUpdateScNotify)
            }
            "CmdMarbleUnlockSealScNotify" => Some(Self::CmdMarbleUnlockSealScNotify),
            "CmdMarbleGetDataScRsp" => Some(Self::CmdMarbleGetDataScRsp),
            "CmdMarbleGetDataCsReq" => Some(Self::CmdMarbleGetDataCsReq),
            "CmdMarbleUpdateShownSealScRsp" => Some(Self::CmdMarbleUpdateShownSealScRsp),
            "CmdMarbleShopBuyScRsp" => Some(Self::CmdMarbleShopBuyScRsp),
            "CmdMarbleUpdateShownSealCsReq" => Some(Self::CmdMarbleUpdateShownSealCsReq),
            "CmdKCDMIEAEELI" => Some(Self::CmdKcdmieaeeli),
            _ => None,
        }
    }
}
/// Obf: KJMOGDPNNME
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarkChestType {
    KjmogdpnnmeGkjbaodjmjg = 0,
    CmdUpdateMarkChestCsReq = 8186,
    CmdMarkChestChangedScNotify = 8192,
    CmdUpdateMarkChestScRsp = 8181,
    CmdGetMarkChestCsReq = 8190,
    CmdGetMarkChestScRsp = 8184,
}
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 {
            Self::KjmogdpnnmeGkjbaodjmjg => "KJMOGDPNNME_GKJBAODJMJG",
            Self::CmdUpdateMarkChestCsReq => "CmdUpdateMarkChestCsReq",
            Self::CmdMarkChestChangedScNotify => "CmdMarkChestChangedScNotify",
            Self::CmdUpdateMarkChestScRsp => "CmdUpdateMarkChestScRsp",
            Self::CmdGetMarkChestCsReq => "CmdGetMarkChestCsReq",
            Self::CmdGetMarkChestScRsp => "CmdGetMarkChestScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KJMOGDPNNME_GKJBAODJMJG" => Some(Self::KjmogdpnnmeGkjbaodjmjg),
            "CmdUpdateMarkChestCsReq" => Some(Self::CmdUpdateMarkChestCsReq),
            "CmdMarkChestChangedScNotify" => Some(Self::CmdMarkChestChangedScNotify),
            "CmdUpdateMarkChestScRsp" => Some(Self::CmdUpdateMarkChestScRsp),
            "CmdGetMarkChestCsReq" => Some(Self::CmdGetMarkChestCsReq),
            "CmdGetMarkChestScRsp" => Some(Self::CmdGetMarkChestScRsp),
            _ => None,
        }
    }
}
/// Obf: JDPEKLBFFLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchType {
    JdpeklbfflcGkjbaodjmjg = 0,
    CmdIlkcgmcbokj = 7307,
    JdpeklbfflcOfkdbalhldo = 7324,
    CmdStartMatchCsReq = 7350,
    CmdGetCrossInfoScRsp = 7347,
    CmdDpdldpiebcg = 7349,
    CmdAdkikbihmcg = 7339,
    CmdGetCrossInfoCsReq = 7333,
}
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 {
            Self::JdpeklbfflcGkjbaodjmjg => "JDPEKLBFFLC_GKJBAODJMJG",
            Self::CmdIlkcgmcbokj => "CmdILKCGMCBOKJ",
            Self::JdpeklbfflcOfkdbalhldo => "JDPEKLBFFLC_OFKDBALHLDO",
            Self::CmdStartMatchCsReq => "CmdStartMatchCsReq",
            Self::CmdGetCrossInfoScRsp => "CmdGetCrossInfoScRsp",
            Self::CmdDpdldpiebcg => "CmdDPDLDPIEBCG",
            Self::CmdAdkikbihmcg => "CmdADKIKBIHMCG",
            Self::CmdGetCrossInfoCsReq => "CmdGetCrossInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JDPEKLBFFLC_GKJBAODJMJG" => Some(Self::JdpeklbfflcGkjbaodjmjg),
            "CmdILKCGMCBOKJ" => Some(Self::CmdIlkcgmcbokj),
            "JDPEKLBFFLC_OFKDBALHLDO" => Some(Self::JdpeklbfflcOfkdbalhldo),
            "CmdStartMatchCsReq" => Some(Self::CmdStartMatchCsReq),
            "CmdGetCrossInfoScRsp" => Some(Self::CmdGetCrossInfoScRsp),
            "CmdDPDLDPIEBCG" => Some(Self::CmdDpdldpiebcg),
            "CmdADKIKBIHMCG" => Some(Self::CmdAdkikbihmcg),
            "CmdGetCrossInfoCsReq" => Some(Self::CmdGetCrossInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: ELEILCOOJDD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchThreeModuleType {
    EleilcoojddGkjbaodjmjg = 0,
    CmdMatchThreeSyncDataScNotify = 7439,
    CmdMatchThreeV2GetDataScRsp = 7408,
    CmdMatchThreeV2BattleItemLevelUpCsReq = 7406,
    CmdMatchThreeV2PvpFinishScNotify = 7401,
    CmdMatchThreeLevelEndCsReq = 7424,
    CmdMatchThreeLevelEndScRsp = 7407,
    CmdNhjoncakhma = 7447,
    CmdKclkmombfng = 7420,
    CmdMatchThreeGetDataDataScRsp = 7449,
    CmdMatchThreeV2BattleItemLevelUpScRsp = 7443,
    CmdMatchThreeV2SetBirdPosCsReq = 7429,
    CmdMatchThreeV2ScNotify = 7419,
    CmdMatchThreeV2LevelEndCsReq = 7403,
    CmdMatchThreeV2GetDataCsReq = 7435,
    CmdMatchThreeGetDataCsReq = 7450,
    CmdMatchThreeV2LevelEndScRsp = 7431,
    CmdMatchThreeSetBirdPosCsReq = 7433,
    CmdMatchThreeV2SetBirdPosScRsp = 7422,
}
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 {
            Self::EleilcoojddGkjbaodjmjg => "ELEILCOOJDD_GKJBAODJMJG",
            Self::CmdMatchThreeSyncDataScNotify => "CmdMatchThreeSyncDataScNotify",
            Self::CmdMatchThreeV2GetDataScRsp => "CmdMatchThreeV2GetDataScRsp",
            Self::CmdMatchThreeV2BattleItemLevelUpCsReq => {
                "CmdMatchThreeV2BattleItemLevelUpCsReq"
            }
            Self::CmdMatchThreeV2PvpFinishScNotify => "CmdMatchThreeV2PvpFinishScNotify",
            Self::CmdMatchThreeLevelEndCsReq => "CmdMatchThreeLevelEndCsReq",
            Self::CmdMatchThreeLevelEndScRsp => "CmdMatchThreeLevelEndScRsp",
            Self::CmdNhjoncakhma => "CmdNHJONCAKHMA",
            Self::CmdKclkmombfng => "CmdKCLKMOMBFNG",
            Self::CmdMatchThreeGetDataDataScRsp => "CmdMatchThreeGetDataDataScRsp",
            Self::CmdMatchThreeV2BattleItemLevelUpScRsp => {
                "CmdMatchThreeV2BattleItemLevelUpScRsp"
            }
            Self::CmdMatchThreeV2SetBirdPosCsReq => "CmdMatchThreeV2SetBirdPosCsReq",
            Self::CmdMatchThreeV2ScNotify => "CmdMatchThreeV2ScNotify",
            Self::CmdMatchThreeV2LevelEndCsReq => "CmdMatchThreeV2LevelEndCsReq",
            Self::CmdMatchThreeV2GetDataCsReq => "CmdMatchThreeV2GetDataCsReq",
            Self::CmdMatchThreeGetDataCsReq => "CmdMatchThreeGetDataCsReq",
            Self::CmdMatchThreeV2LevelEndScRsp => "CmdMatchThreeV2LevelEndScRsp",
            Self::CmdMatchThreeSetBirdPosCsReq => "CmdMatchThreeSetBirdPosCsReq",
            Self::CmdMatchThreeV2SetBirdPosScRsp => "CmdMatchThreeV2SetBirdPosScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ELEILCOOJDD_GKJBAODJMJG" => Some(Self::EleilcoojddGkjbaodjmjg),
            "CmdMatchThreeSyncDataScNotify" => Some(Self::CmdMatchThreeSyncDataScNotify),
            "CmdMatchThreeV2GetDataScRsp" => Some(Self::CmdMatchThreeV2GetDataScRsp),
            "CmdMatchThreeV2BattleItemLevelUpCsReq" => {
                Some(Self::CmdMatchThreeV2BattleItemLevelUpCsReq)
            }
            "CmdMatchThreeV2PvpFinishScNotify" => {
                Some(Self::CmdMatchThreeV2PvpFinishScNotify)
            }
            "CmdMatchThreeLevelEndCsReq" => Some(Self::CmdMatchThreeLevelEndCsReq),
            "CmdMatchThreeLevelEndScRsp" => Some(Self::CmdMatchThreeLevelEndScRsp),
            "CmdNHJONCAKHMA" => Some(Self::CmdNhjoncakhma),
            "CmdKCLKMOMBFNG" => Some(Self::CmdKclkmombfng),
            "CmdMatchThreeGetDataDataScRsp" => Some(Self::CmdMatchThreeGetDataDataScRsp),
            "CmdMatchThreeV2BattleItemLevelUpScRsp" => {
                Some(Self::CmdMatchThreeV2BattleItemLevelUpScRsp)
            }
            "CmdMatchThreeV2SetBirdPosCsReq" => {
                Some(Self::CmdMatchThreeV2SetBirdPosCsReq)
            }
            "CmdMatchThreeV2ScNotify" => Some(Self::CmdMatchThreeV2ScNotify),
            "CmdMatchThreeV2LevelEndCsReq" => Some(Self::CmdMatchThreeV2LevelEndCsReq),
            "CmdMatchThreeV2GetDataCsReq" => Some(Self::CmdMatchThreeV2GetDataCsReq),
            "CmdMatchThreeGetDataCsReq" => Some(Self::CmdMatchThreeGetDataCsReq),
            "CmdMatchThreeV2LevelEndScRsp" => Some(Self::CmdMatchThreeV2LevelEndScRsp),
            "CmdMatchThreeSetBirdPosCsReq" => Some(Self::CmdMatchThreeSetBirdPosCsReq),
            "CmdMatchThreeV2SetBirdPosScRsp" => {
                Some(Self::CmdMatchThreeV2SetBirdPosScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: FENPEMMNNDH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchThreeStatisticsType {
    FenpemmnndhBakmcmahimp = 0,
    FenpemmnndhLhfnjgjomip = 1,
    FenpemmnndhDblbemflmoh = 2,
    FenpemmnndhInpdcafemha = 3,
    FenpemmnndhNdfbihnkioc = 4,
    FenpemmnndhFjhiplocdjk = 5,
    FenpemmnndhDeipcbjkkii = 6,
    FenpemmnndhAgggfgfidoe = 7,
    FenpemmnndhIomcoficohp = 8,
    FenpemmnndhBaajoeeldgh = 9,
    FenpemmnndhPibimjdliaf = 10,
    FenpemmnndhKhhpempnjah = 11,
    FenpemmnndhOdjfablbhjp = 12,
    FenpemmnndhNbongakolpe = 13,
}
impl MatchThreeStatisticsType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FenpemmnndhBakmcmahimp => "FENPEMMNNDH_BAKMCMAHIMP",
            Self::FenpemmnndhLhfnjgjomip => "FENPEMMNNDH_LHFNJGJOMIP",
            Self::FenpemmnndhDblbemflmoh => "FENPEMMNNDH_DBLBEMFLMOH",
            Self::FenpemmnndhInpdcafemha => "FENPEMMNNDH_INPDCAFEMHA",
            Self::FenpemmnndhNdfbihnkioc => "FENPEMMNNDH_NDFBIHNKIOC",
            Self::FenpemmnndhFjhiplocdjk => "FENPEMMNNDH_FJHIPLOCDJK",
            Self::FenpemmnndhDeipcbjkkii => "FENPEMMNNDH_DEIPCBJKKII",
            Self::FenpemmnndhAgggfgfidoe => "FENPEMMNNDH_AGGGFGFIDOE",
            Self::FenpemmnndhIomcoficohp => "FENPEMMNNDH_IOMCOFICOHP",
            Self::FenpemmnndhBaajoeeldgh => "FENPEMMNNDH_BAAJOEELDGH",
            Self::FenpemmnndhPibimjdliaf => "FENPEMMNNDH_PIBIMJDLIAF",
            Self::FenpemmnndhKhhpempnjah => "FENPEMMNNDH_KHHPEMPNJAH",
            Self::FenpemmnndhOdjfablbhjp => "FENPEMMNNDH_ODJFABLBHJP",
            Self::FenpemmnndhNbongakolpe => "FENPEMMNNDH_NBONGAKOLPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FENPEMMNNDH_BAKMCMAHIMP" => Some(Self::FenpemmnndhBakmcmahimp),
            "FENPEMMNNDH_LHFNJGJOMIP" => Some(Self::FenpemmnndhLhfnjgjomip),
            "FENPEMMNNDH_DBLBEMFLMOH" => Some(Self::FenpemmnndhDblbemflmoh),
            "FENPEMMNNDH_INPDCAFEMHA" => Some(Self::FenpemmnndhInpdcafemha),
            "FENPEMMNNDH_NDFBIHNKIOC" => Some(Self::FenpemmnndhNdfbihnkioc),
            "FENPEMMNNDH_FJHIPLOCDJK" => Some(Self::FenpemmnndhFjhiplocdjk),
            "FENPEMMNNDH_DEIPCBJKKII" => Some(Self::FenpemmnndhDeipcbjkkii),
            "FENPEMMNNDH_AGGGFGFIDOE" => Some(Self::FenpemmnndhAgggfgfidoe),
            "FENPEMMNNDH_IOMCOFICOHP" => Some(Self::FenpemmnndhIomcoficohp),
            "FENPEMMNNDH_BAAJOEELDGH" => Some(Self::FenpemmnndhBaajoeeldgh),
            "FENPEMMNNDH_PIBIMJDLIAF" => Some(Self::FenpemmnndhPibimjdliaf),
            "FENPEMMNNDH_KHHPEMPNJAH" => Some(Self::FenpemmnndhKhhpempnjah),
            "FENPEMMNNDH_ODJFABLBHJP" => Some(Self::FenpemmnndhOdjfablbhjp),
            "FENPEMMNNDH_NBONGAKOLPE" => Some(Self::FenpemmnndhNbongakolpe),
            _ => None,
        }
    }
}
/// Obf: AIDDAMAFGLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMazePuzzleType {
    AiddamafglcGkjbaodjmjg = 0,
    AiddamafglcHhbnbhjbnnn = 9081,
    AiddamafglcPipcklipchh = 9072,
    AiddamafglcCgacdfhbfof = 9089,
    AiddamafglcGfphgjpajmo = 9093,
    CmdCagoapgpmfd = 9061,
    AiddamafglcLlkfnmnpgno = 9100,
    CmdGetFiveDimMiniGameDataCsReq = 9097,
    CmdFiveDimFluteDataChangeNotify = 9087,
    AiddamafglcCedihnnefik = 9088,
    CmdGetFiveDimFluteDataScRsp = 9070,
    AiddamafglcAhadendlkno = 9071,
    CmdFinishFiveDimMiniGameScRsp = 9069,
    AiddamafglcGaicfehdiag = 9058,
    CmdFinishChenLingGameBoyScRsp = 9057,
    CmdBcjplnmlkca = 9053,
    CmdGetChenLingGameBoyDataScRsp = 9099,
    CmdGetFiveDimMiniGameDataScRsp = 9079,
    AiddamafglcJakjjibjiio = 9051,
    AiddamafglcCjcphaiiaao = 9074,
    CmdChenLingGameBoyGetFriendRankingInfoScRsp = 9083,
    CmdChhinhgcjik = 9085,
    CmdMazeCrossFloorConditionChangeScNotify = 9078,
    CmdNakmbgfeiki = 9056,
    CmdJgcjebgdieo = 9090,
}
impl CmdMazePuzzleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AiddamafglcGkjbaodjmjg => "AIDDAMAFGLC_GKJBAODJMJG",
            Self::AiddamafglcHhbnbhjbnnn => "AIDDAMAFGLC_HHBNBHJBNNN",
            Self::AiddamafglcPipcklipchh => "AIDDAMAFGLC_PIPCKLIPCHH",
            Self::AiddamafglcCgacdfhbfof => "AIDDAMAFGLC_CGACDFHBFOF",
            Self::AiddamafglcGfphgjpajmo => "AIDDAMAFGLC_GFPHGJPAJMO",
            Self::CmdCagoapgpmfd => "CmdCAGOAPGPMFD",
            Self::AiddamafglcLlkfnmnpgno => "AIDDAMAFGLC_LLKFNMNPGNO",
            Self::CmdGetFiveDimMiniGameDataCsReq => "CmdGetFiveDimMiniGameDataCsReq",
            Self::CmdFiveDimFluteDataChangeNotify => "CmdFiveDimFluteDataChangeNotify",
            Self::AiddamafglcCedihnnefik => "AIDDAMAFGLC_CEDIHNNEFIK",
            Self::CmdGetFiveDimFluteDataScRsp => "CmdGetFiveDimFluteDataScRsp",
            Self::AiddamafglcAhadendlkno => "AIDDAMAFGLC_AHADENDLKNO",
            Self::CmdFinishFiveDimMiniGameScRsp => "CmdFinishFiveDimMiniGameScRsp",
            Self::AiddamafglcGaicfehdiag => "AIDDAMAFGLC_GAICFEHDIAG",
            Self::CmdFinishChenLingGameBoyScRsp => "CmdFinishChenLingGameBoyScRsp",
            Self::CmdBcjplnmlkca => "CmdBCJPLNMLKCA",
            Self::CmdGetChenLingGameBoyDataScRsp => "CmdGetChenLingGameBoyDataScRsp",
            Self::CmdGetFiveDimMiniGameDataScRsp => "CmdGetFiveDimMiniGameDataScRsp",
            Self::AiddamafglcJakjjibjiio => "AIDDAMAFGLC_JAKJJIBJIIO",
            Self::AiddamafglcCjcphaiiaao => "AIDDAMAFGLC_CJCPHAIIAAO",
            Self::CmdChenLingGameBoyGetFriendRankingInfoScRsp => {
                "CmdChenLingGameBoyGetFriendRankingInfoScRsp"
            }
            Self::CmdChhinhgcjik => "CmdCHHINHGCJIK",
            Self::CmdMazeCrossFloorConditionChangeScNotify => {
                "CmdMazeCrossFloorConditionChangeScNotify"
            }
            Self::CmdNakmbgfeiki => "CmdNAKMBGFEIKI",
            Self::CmdJgcjebgdieo => "CmdJGCJEBGDIEO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AIDDAMAFGLC_GKJBAODJMJG" => Some(Self::AiddamafglcGkjbaodjmjg),
            "AIDDAMAFGLC_HHBNBHJBNNN" => Some(Self::AiddamafglcHhbnbhjbnnn),
            "AIDDAMAFGLC_PIPCKLIPCHH" => Some(Self::AiddamafglcPipcklipchh),
            "AIDDAMAFGLC_CGACDFHBFOF" => Some(Self::AiddamafglcCgacdfhbfof),
            "AIDDAMAFGLC_GFPHGJPAJMO" => Some(Self::AiddamafglcGfphgjpajmo),
            "CmdCAGOAPGPMFD" => Some(Self::CmdCagoapgpmfd),
            "AIDDAMAFGLC_LLKFNMNPGNO" => Some(Self::AiddamafglcLlkfnmnpgno),
            "CmdGetFiveDimMiniGameDataCsReq" => {
                Some(Self::CmdGetFiveDimMiniGameDataCsReq)
            }
            "CmdFiveDimFluteDataChangeNotify" => {
                Some(Self::CmdFiveDimFluteDataChangeNotify)
            }
            "AIDDAMAFGLC_CEDIHNNEFIK" => Some(Self::AiddamafglcCedihnnefik),
            "CmdGetFiveDimFluteDataScRsp" => Some(Self::CmdGetFiveDimFluteDataScRsp),
            "AIDDAMAFGLC_AHADENDLKNO" => Some(Self::AiddamafglcAhadendlkno),
            "CmdFinishFiveDimMiniGameScRsp" => Some(Self::CmdFinishFiveDimMiniGameScRsp),
            "AIDDAMAFGLC_GAICFEHDIAG" => Some(Self::AiddamafglcGaicfehdiag),
            "CmdFinishChenLingGameBoyScRsp" => Some(Self::CmdFinishChenLingGameBoyScRsp),
            "CmdBCJPLNMLKCA" => Some(Self::CmdBcjplnmlkca),
            "CmdGetChenLingGameBoyDataScRsp" => {
                Some(Self::CmdGetChenLingGameBoyDataScRsp)
            }
            "CmdGetFiveDimMiniGameDataScRsp" => {
                Some(Self::CmdGetFiveDimMiniGameDataScRsp)
            }
            "AIDDAMAFGLC_JAKJJIBJIIO" => Some(Self::AiddamafglcJakjjibjiio),
            "AIDDAMAFGLC_CJCPHAIIAAO" => Some(Self::AiddamafglcCjcphaiiaao),
            "CmdChenLingGameBoyGetFriendRankingInfoScRsp" => {
                Some(Self::CmdChenLingGameBoyGetFriendRankingInfoScRsp)
            }
            "CmdCHHINHGCJIK" => Some(Self::CmdChhinhgcjik),
            "CmdMazeCrossFloorConditionChangeScNotify" => {
                Some(Self::CmdMazeCrossFloorConditionChangeScNotify)
            }
            "CmdNAKMBGFEIKI" => Some(Self::CmdNakmbgfeiki),
            "CmdJGCJEBGDIEO" => Some(Self::CmdJgcjebgdieo),
            _ => None,
        }
    }
}
/// Obf: OEOEJHBDDJN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMessageType {
    OeoejhbddjnGkjbaodjmjg = 0,
    CmdFinishItemIdScRsp = 2762,
    CmdGetNpcMessageGroupScRsp = 2728,
    CmdFinishSectionIdCsReq = 2747,
    CmdGetNpcStatusScRsp = 2775,
    CmdGetMissionMessageCsReq = 2737,
    CmdFinishSectionIdScRsp = 2720,
    CmdGetMissionMessageScRsp = 2769,
    CmdGetNpcMessageGroupCsReq = 2757,
    CmdFinishPerformSectionIdScRsp = 2705,
    CmdGetNpcStatusCsReq = 2755,
    CmdFinishPerformSectionIdCsReq = 2726,
    CmdFinishItemIdCsReq = 2738,
}
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 {
            Self::OeoejhbddjnGkjbaodjmjg => "OEOEJHBDDJN_GKJBAODJMJG",
            Self::CmdFinishItemIdScRsp => "CmdFinishItemIdScRsp",
            Self::CmdGetNpcMessageGroupScRsp => "CmdGetNpcMessageGroupScRsp",
            Self::CmdFinishSectionIdCsReq => "CmdFinishSectionIdCsReq",
            Self::CmdGetNpcStatusScRsp => "CmdGetNpcStatusScRsp",
            Self::CmdGetMissionMessageCsReq => "CmdGetMissionMessageCsReq",
            Self::CmdFinishSectionIdScRsp => "CmdFinishSectionIdScRsp",
            Self::CmdGetMissionMessageScRsp => "CmdGetMissionMessageScRsp",
            Self::CmdGetNpcMessageGroupCsReq => "CmdGetNpcMessageGroupCsReq",
            Self::CmdFinishPerformSectionIdScRsp => "CmdFinishPerformSectionIdScRsp",
            Self::CmdGetNpcStatusCsReq => "CmdGetNpcStatusCsReq",
            Self::CmdFinishPerformSectionIdCsReq => "CmdFinishPerformSectionIdCsReq",
            Self::CmdFinishItemIdCsReq => "CmdFinishItemIdCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OEOEJHBDDJN_GKJBAODJMJG" => Some(Self::OeoejhbddjnGkjbaodjmjg),
            "CmdFinishItemIdScRsp" => Some(Self::CmdFinishItemIdScRsp),
            "CmdGetNpcMessageGroupScRsp" => Some(Self::CmdGetNpcMessageGroupScRsp),
            "CmdFinishSectionIdCsReq" => Some(Self::CmdFinishSectionIdCsReq),
            "CmdGetNpcStatusScRsp" => Some(Self::CmdGetNpcStatusScRsp),
            "CmdGetMissionMessageCsReq" => Some(Self::CmdGetMissionMessageCsReq),
            "CmdFinishSectionIdScRsp" => Some(Self::CmdFinishSectionIdScRsp),
            "CmdGetMissionMessageScRsp" => Some(Self::CmdGetMissionMessageScRsp),
            "CmdGetNpcMessageGroupCsReq" => Some(Self::CmdGetNpcMessageGroupCsReq),
            "CmdFinishPerformSectionIdScRsp" => {
                Some(Self::CmdFinishPerformSectionIdScRsp)
            }
            "CmdGetNpcStatusCsReq" => Some(Self::CmdGetNpcStatusCsReq),
            "CmdFinishPerformSectionIdCsReq" => {
                Some(Self::CmdFinishPerformSectionIdCsReq)
            }
            "CmdFinishItemIdCsReq" => Some(Self::CmdFinishItemIdCsReq),
            _ => None,
        }
    }
}
/// Obf: OOKEKNFFDEC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMiscModuleType {
    OokeknffdecGkjbaodjmjg = 0,
    CmdGetOrigamiPropInfoCsReq = 4195,
    CmdObacgniefdk = 4179,
    CmdGetMovieRacingDataScRsp = 4196,
    CmdAfmhjbfakpl = 4105,
    CmdGetUnreleasedBlockInfoScRsp = 4108,
    CmdCancelDirectDeliveryNoticeScRsp = 4152,
    CmdGetShareDataCsReq = 4155,
    CmdGetUnreleasedBlockInfoCsReq = 4156,
    CmdGetGunPlayDataScRsp = 4112,
    CmdGetMovieRacingDataCsReq = 4176,
    CmdCancelDirectDeliveryNoticeCsReq = 4116,
    CmdUpdateMovieRacingDataCsReq = 4180,
    CmdNnfjfdpdfbp = 4169,
    CmdDirectDeliveryScNotify = 4142,
    CmdShareCsReq = 4157,
    CmdDifficultyAdjustmentGetDataCsReq = 4109,
    CmdSwitchMascotUpdateScNotify = 4151,
    CmdUpdateWolfBroShootingDataCsReq = 4150,
    CmdDcbeapcjpij = 4166,
    CmdGetWolfBroShootingDataCsReq = 4114,
    OokeknffdecEohoghfhdpo = 4137,
    CmdMazeKillDirectCsReq = 4113,
    CmdCancelSyncExpiredItemCsReq = 4126,
    CmdUpdateGunPlayDataScRsp = 4186,
    CmdDkjohedoben = 4162,
    CmdDifficultyAdjustmentGetDataScRsp = 4185,
    CmdGetSwitchMascotDataScRsp = 4188,
    CmdGetShareDataScRsp = 4175,
    CmdDifficultyAdjustmentUpdateDataCsReq = 4111,
    CmdAnfjggfdnmk = 4134,
    CmdDifficultyAdjustmentUpdateDataScRsp = 4178,
    CmdShareScRsp = 4128,
    CmdUpdateMovieRacingDataScRsp = 4177,
    CmdNkjdofenneo = 4183,
    CmdGetSwitchMascotDataCsReq = 4182,
    CmdMazeKillDirectScRsp = 4199,
    CmdCpdkfafcldb = 4138,
    CmdSubmitOrigamiItemCsReq = 4145,
}
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 {
            Self::OokeknffdecGkjbaodjmjg => "OOKEKNFFDEC_GKJBAODJMJG",
            Self::CmdGetOrigamiPropInfoCsReq => "CmdGetOrigamiPropInfoCsReq",
            Self::CmdObacgniefdk => "CmdOBACGNIEFDK",
            Self::CmdGetMovieRacingDataScRsp => "CmdGetMovieRacingDataScRsp",
            Self::CmdAfmhjbfakpl => "CmdAFMHJBFAKPL",
            Self::CmdGetUnreleasedBlockInfoScRsp => "CmdGetUnreleasedBlockInfoScRsp",
            Self::CmdCancelDirectDeliveryNoticeScRsp => {
                "CmdCancelDirectDeliveryNoticeScRsp"
            }
            Self::CmdGetShareDataCsReq => "CmdGetShareDataCsReq",
            Self::CmdGetUnreleasedBlockInfoCsReq => "CmdGetUnreleasedBlockInfoCsReq",
            Self::CmdGetGunPlayDataScRsp => "CmdGetGunPlayDataScRsp",
            Self::CmdGetMovieRacingDataCsReq => "CmdGetMovieRacingDataCsReq",
            Self::CmdCancelDirectDeliveryNoticeCsReq => {
                "CmdCancelDirectDeliveryNoticeCsReq"
            }
            Self::CmdUpdateMovieRacingDataCsReq => "CmdUpdateMovieRacingDataCsReq",
            Self::CmdNnfjfdpdfbp => "CmdNNFJFDPDFBP",
            Self::CmdDirectDeliveryScNotify => "CmdDirectDeliveryScNotify",
            Self::CmdShareCsReq => "CmdShareCsReq",
            Self::CmdDifficultyAdjustmentGetDataCsReq => {
                "CmdDifficultyAdjustmentGetDataCsReq"
            }
            Self::CmdSwitchMascotUpdateScNotify => "CmdSwitchMascotUpdateScNotify",
            Self::CmdUpdateWolfBroShootingDataCsReq => {
                "CmdUpdateWolfBroShootingDataCsReq"
            }
            Self::CmdDcbeapcjpij => "CmdDCBEAPCJPIJ",
            Self::CmdGetWolfBroShootingDataCsReq => "CmdGetWolfBroShootingDataCsReq",
            Self::OokeknffdecEohoghfhdpo => "OOKEKNFFDEC_EOHOGHFHDPO",
            Self::CmdMazeKillDirectCsReq => "CmdMazeKillDirectCsReq",
            Self::CmdCancelSyncExpiredItemCsReq => "CmdCancelSyncExpiredItemCsReq",
            Self::CmdUpdateGunPlayDataScRsp => "CmdUpdateGunPlayDataScRsp",
            Self::CmdDkjohedoben => "CmdDKJOHEDOBEN",
            Self::CmdDifficultyAdjustmentGetDataScRsp => {
                "CmdDifficultyAdjustmentGetDataScRsp"
            }
            Self::CmdGetSwitchMascotDataScRsp => "CmdGetSwitchMascotDataScRsp",
            Self::CmdGetShareDataScRsp => "CmdGetShareDataScRsp",
            Self::CmdDifficultyAdjustmentUpdateDataCsReq => {
                "CmdDifficultyAdjustmentUpdateDataCsReq"
            }
            Self::CmdAnfjggfdnmk => "CmdANFJGGFDNMK",
            Self::CmdDifficultyAdjustmentUpdateDataScRsp => {
                "CmdDifficultyAdjustmentUpdateDataScRsp"
            }
            Self::CmdShareScRsp => "CmdShareScRsp",
            Self::CmdUpdateMovieRacingDataScRsp => "CmdUpdateMovieRacingDataScRsp",
            Self::CmdNkjdofenneo => "CmdNKJDOFENNEO",
            Self::CmdGetSwitchMascotDataCsReq => "CmdGetSwitchMascotDataCsReq",
            Self::CmdMazeKillDirectScRsp => "CmdMazeKillDirectScRsp",
            Self::CmdCpdkfafcldb => "CmdCPDKFAFCLDB",
            Self::CmdSubmitOrigamiItemCsReq => "CmdSubmitOrigamiItemCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OOKEKNFFDEC_GKJBAODJMJG" => Some(Self::OokeknffdecGkjbaodjmjg),
            "CmdGetOrigamiPropInfoCsReq" => Some(Self::CmdGetOrigamiPropInfoCsReq),
            "CmdOBACGNIEFDK" => Some(Self::CmdObacgniefdk),
            "CmdGetMovieRacingDataScRsp" => Some(Self::CmdGetMovieRacingDataScRsp),
            "CmdAFMHJBFAKPL" => Some(Self::CmdAfmhjbfakpl),
            "CmdGetUnreleasedBlockInfoScRsp" => {
                Some(Self::CmdGetUnreleasedBlockInfoScRsp)
            }
            "CmdCancelDirectDeliveryNoticeScRsp" => {
                Some(Self::CmdCancelDirectDeliveryNoticeScRsp)
            }
            "CmdGetShareDataCsReq" => Some(Self::CmdGetShareDataCsReq),
            "CmdGetUnreleasedBlockInfoCsReq" => {
                Some(Self::CmdGetUnreleasedBlockInfoCsReq)
            }
            "CmdGetGunPlayDataScRsp" => Some(Self::CmdGetGunPlayDataScRsp),
            "CmdGetMovieRacingDataCsReq" => Some(Self::CmdGetMovieRacingDataCsReq),
            "CmdCancelDirectDeliveryNoticeCsReq" => {
                Some(Self::CmdCancelDirectDeliveryNoticeCsReq)
            }
            "CmdUpdateMovieRacingDataCsReq" => Some(Self::CmdUpdateMovieRacingDataCsReq),
            "CmdNNFJFDPDFBP" => Some(Self::CmdNnfjfdpdfbp),
            "CmdDirectDeliveryScNotify" => Some(Self::CmdDirectDeliveryScNotify),
            "CmdShareCsReq" => Some(Self::CmdShareCsReq),
            "CmdDifficultyAdjustmentGetDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentGetDataCsReq)
            }
            "CmdSwitchMascotUpdateScNotify" => Some(Self::CmdSwitchMascotUpdateScNotify),
            "CmdUpdateWolfBroShootingDataCsReq" => {
                Some(Self::CmdUpdateWolfBroShootingDataCsReq)
            }
            "CmdDCBEAPCJPIJ" => Some(Self::CmdDcbeapcjpij),
            "CmdGetWolfBroShootingDataCsReq" => {
                Some(Self::CmdGetWolfBroShootingDataCsReq)
            }
            "OOKEKNFFDEC_EOHOGHFHDPO" => Some(Self::OokeknffdecEohoghfhdpo),
            "CmdMazeKillDirectCsReq" => Some(Self::CmdMazeKillDirectCsReq),
            "CmdCancelSyncExpiredItemCsReq" => Some(Self::CmdCancelSyncExpiredItemCsReq),
            "CmdUpdateGunPlayDataScRsp" => Some(Self::CmdUpdateGunPlayDataScRsp),
            "CmdDKJOHEDOBEN" => Some(Self::CmdDkjohedoben),
            "CmdDifficultyAdjustmentGetDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentGetDataScRsp)
            }
            "CmdGetSwitchMascotDataScRsp" => Some(Self::CmdGetSwitchMascotDataScRsp),
            "CmdGetShareDataScRsp" => Some(Self::CmdGetShareDataScRsp),
            "CmdDifficultyAdjustmentUpdateDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataCsReq)
            }
            "CmdANFJGGFDNMK" => Some(Self::CmdAnfjggfdnmk),
            "CmdDifficultyAdjustmentUpdateDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataScRsp)
            }
            "CmdShareScRsp" => Some(Self::CmdShareScRsp),
            "CmdUpdateMovieRacingDataScRsp" => Some(Self::CmdUpdateMovieRacingDataScRsp),
            "CmdNKJDOFENNEO" => Some(Self::CmdNkjdofenneo),
            "CmdGetSwitchMascotDataCsReq" => Some(Self::CmdGetSwitchMascotDataCsReq),
            "CmdMazeKillDirectScRsp" => Some(Self::CmdMazeKillDirectScRsp),
            "CmdCPDKFAFCLDB" => Some(Self::CmdCpdkfafcldb),
            "CmdSubmitOrigamiItemCsReq" => Some(Self::CmdSubmitOrigamiItemCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eminhaeabdg {
    Gkjbaodjmjg = 0,
    Pmndaleoefl = 1,
    Oldjadfnegd = 2,
    Dncakolnbnb = 3,
}
impl Eminhaeabdg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "EMINHAEABDG_GKJBAODJMJG",
            Self::Pmndaleoefl => "EMINHAEABDG_PMNDALEOEFL",
            Self::Oldjadfnegd => "EMINHAEABDG_OLDJADFNEGD",
            Self::Dncakolnbnb => "EMINHAEABDG_DNCAKOLNBNB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EMINHAEABDG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "EMINHAEABDG_PMNDALEOEFL" => Some(Self::Pmndaleoefl),
            "EMINHAEABDG_OLDJADFNEGD" => Some(Self::Oldjadfnegd),
            "EMINHAEABDG_DNCAKOLNBNB" => Some(Self::Dncakolnbnb),
            _ => None,
        }
    }
}
/// Obf: FDFLGBJMAGJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MovieRacingType {
    FdflgbjmagjIlcollbbcho = 0,
    FdflgbjmagjLjmmciejbgi = 1,
    FdflgbjmagjPinhkpbnlpj = 2,
    FdflgbjmagjLcgobflnhfp = 3,
}
impl MovieRacingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FdflgbjmagjIlcollbbcho => "FDFLGBJMAGJ_ILCOLLBBCHO",
            Self::FdflgbjmagjLjmmciejbgi => "FDFLGBJMAGJ_LJMMCIEJBGI",
            Self::FdflgbjmagjPinhkpbnlpj => "FDFLGBJMAGJ_PINHKPBNLPJ",
            Self::FdflgbjmagjLcgobflnhfp => "FDFLGBJMAGJ_LCGOBFLNHFP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDFLGBJMAGJ_ILCOLLBBCHO" => Some(Self::FdflgbjmagjIlcollbbcho),
            "FDFLGBJMAGJ_LJMMCIEJBGI" => Some(Self::FdflgbjmagjLjmmciejbgi),
            "FDFLGBJMAGJ_PINHKPBNLPJ" => Some(Self::FdflgbjmagjPinhkpbnlpj),
            "FDFLGBJMAGJ_LCGOBFLNHFP" => Some(Self::FdflgbjmagjLcgobflnhfp),
            _ => None,
        }
    }
}
/// Obf: IEKKFNMODPB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DifficultyAdjustmentType {
    IekkfnmodpbChpjndahilj = 0,
    IekkfnmodpbFeliddglaea = 1,
}
impl DifficultyAdjustmentType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IekkfnmodpbChpjndahilj => "IEKKFNMODPB_CHPJNDAHILJ",
            Self::IekkfnmodpbFeliddglaea => "IEKKFNMODPB_FELIDDGLAEA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IEKKFNMODPB_CHPJNDAHILJ" => Some(Self::IekkfnmodpbChpjndahilj),
            "IEKKFNMODPB_FELIDDGLAEA" => Some(Self::IekkfnmodpbFeliddglaea),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kmkifgdcmao {
    Aidapemikno = 0,
    Ngpfopgajij = 1,
    Cmdkjakpffp = 2,
}
impl Kmkifgdcmao {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Aidapemikno => "KMKIFGDCMAO_AIDAPEMIKNO",
            Self::Ngpfopgajij => "KMKIFGDCMAO_NGPFOPGAJIJ",
            Self::Cmdkjakpffp => "KMKIFGDCMAO_CMDKJAKPFFP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KMKIFGDCMAO_AIDAPEMIKNO" => Some(Self::Aidapemikno),
            "KMKIFGDCMAO_NGPFOPGAJIJ" => Some(Self::Ngpfopgajij),
            "KMKIFGDCMAO_CMDKJAKPFFP" => Some(Self::Cmdkjakpffp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pobhilicfkn {
    Jbemagkhlbe = 0,
    Kbmkoljedfc = 1,
    Hghmfbdkffh = 2,
    Mkcdaaljfip = 3,
}
impl Pobhilicfkn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jbemagkhlbe => "POBHILICFKN_JBEMAGKHLBE",
            Self::Kbmkoljedfc => "POBHILICFKN_KBMKOLJEDFC",
            Self::Hghmfbdkffh => "POBHILICFKN_HGHMFBDKFFH",
            Self::Mkcdaaljfip => "POBHILICFKN_MKCDAALJFIP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "POBHILICFKN_JBEMAGKHLBE" => Some(Self::Jbemagkhlbe),
            "POBHILICFKN_KBMKOLJEDFC" => Some(Self::Kbmkoljedfc),
            "POBHILICFKN_HGHMFBDKFFH" => Some(Self::Hghmfbdkffh),
            "POBHILICFKN_MKCDAALJFIP" => Some(Self::Mkcdaaljfip),
            _ => None,
        }
    }
}
/// Obf: GEJKPFEFIFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMissionType {
    GejkpfefifcGkjbaodjmjg = 0,
    CmdCagjlgibacd = 1247,
    CmdAcceptMainMissionCsReq = 1211,
    CmdGetMainMissionCustomValueCsReq = 1213,
    CmdTeleportToMissionResetPointCsReq = 1250,
    CmdIkmlampkkjo = 1256,
    CmdLbnmalcmopb = 1279,
    CmdGetMainMissionCustomValueScRsp = 1299,
    CmdFinishCosumeItemMissionCsReq = 1266,
    CmdFinishedMissionScNotify = 1288,
    CmdMissionRewardScNotify = 1238,
    CmdFinishTalkMissionScRsp = 1275,
    CmdFinishTalkMissionCsReq = 1255,
    CmdDpbikgcpnmk = 1282,
    CmdMainMissionAcceptNotify = 1242,
    CmdTeleportToMissionResetPointScRsp = 1286,
    CmdUpdateMainMissionCustomValueCsReq = 1251,
    CmdAcceptMainMissionScRsp = 1278,
    CmdOnolliiopak = 1270,
    CmdUpdateTrackMainMissionCsReq = 1252,
    CmdSyncTaskCsReq = 1262,
    CmdGetMissionStatusCsReq = 1289,
    CmdStartFinishMainMissionScNotify = 1285,
    CmdSubMissionRewardScNotify = 1212,
    CmdStarPerformanceRelayCsReq = 1208,
    CmdStartFinishSubMissionScNotify = 1209,
    CmdGetMissionDataCsReq = 1257,
    CmdGetMissionStatusScRsp = 1276,
    CmdMissionGroupWarnScNotify = 1269,
    CmdGetMissionDataScRsp = 1228,
}
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 {
            Self::GejkpfefifcGkjbaodjmjg => "GEJKPFEFIFC_GKJBAODJMJG",
            Self::CmdCagjlgibacd => "CmdCAGJLGIBACD",
            Self::CmdAcceptMainMissionCsReq => "CmdAcceptMainMissionCsReq",
            Self::CmdGetMainMissionCustomValueCsReq => {
                "CmdGetMainMissionCustomValueCsReq"
            }
            Self::CmdTeleportToMissionResetPointCsReq => {
                "CmdTeleportToMissionResetPointCsReq"
            }
            Self::CmdIkmlampkkjo => "CmdIKMLAMPKKJO",
            Self::CmdLbnmalcmopb => "CmdLBNMALCMOPB",
            Self::CmdGetMainMissionCustomValueScRsp => {
                "CmdGetMainMissionCustomValueScRsp"
            }
            Self::CmdFinishCosumeItemMissionCsReq => "CmdFinishCosumeItemMissionCsReq",
            Self::CmdFinishedMissionScNotify => "CmdFinishedMissionScNotify",
            Self::CmdMissionRewardScNotify => "CmdMissionRewardScNotify",
            Self::CmdFinishTalkMissionScRsp => "CmdFinishTalkMissionScRsp",
            Self::CmdFinishTalkMissionCsReq => "CmdFinishTalkMissionCsReq",
            Self::CmdDpbikgcpnmk => "CmdDPBIKGCPNMK",
            Self::CmdMainMissionAcceptNotify => "CmdMainMissionAcceptNotify",
            Self::CmdTeleportToMissionResetPointScRsp => {
                "CmdTeleportToMissionResetPointScRsp"
            }
            Self::CmdUpdateMainMissionCustomValueCsReq => {
                "CmdUpdateMainMissionCustomValueCsReq"
            }
            Self::CmdAcceptMainMissionScRsp => "CmdAcceptMainMissionScRsp",
            Self::CmdOnolliiopak => "CmdONOLLIIOPAK",
            Self::CmdUpdateTrackMainMissionCsReq => "CmdUpdateTrackMainMissionCsReq",
            Self::CmdSyncTaskCsReq => "CmdSyncTaskCsReq",
            Self::CmdGetMissionStatusCsReq => "CmdGetMissionStatusCsReq",
            Self::CmdStartFinishMainMissionScNotify => {
                "CmdStartFinishMainMissionScNotify"
            }
            Self::CmdSubMissionRewardScNotify => "CmdSubMissionRewardScNotify",
            Self::CmdStarPerformanceRelayCsReq => "CmdStarPerformanceRelayCsReq",
            Self::CmdStartFinishSubMissionScNotify => "CmdStartFinishSubMissionScNotify",
            Self::CmdGetMissionDataCsReq => "CmdGetMissionDataCsReq",
            Self::CmdGetMissionStatusScRsp => "CmdGetMissionStatusScRsp",
            Self::CmdMissionGroupWarnScNotify => "CmdMissionGroupWarnScNotify",
            Self::CmdGetMissionDataScRsp => "CmdGetMissionDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GEJKPFEFIFC_GKJBAODJMJG" => Some(Self::GejkpfefifcGkjbaodjmjg),
            "CmdCAGJLGIBACD" => Some(Self::CmdCagjlgibacd),
            "CmdAcceptMainMissionCsReq" => Some(Self::CmdAcceptMainMissionCsReq),
            "CmdGetMainMissionCustomValueCsReq" => {
                Some(Self::CmdGetMainMissionCustomValueCsReq)
            }
            "CmdTeleportToMissionResetPointCsReq" => {
                Some(Self::CmdTeleportToMissionResetPointCsReq)
            }
            "CmdIKMLAMPKKJO" => Some(Self::CmdIkmlampkkjo),
            "CmdLBNMALCMOPB" => Some(Self::CmdLbnmalcmopb),
            "CmdGetMainMissionCustomValueScRsp" => {
                Some(Self::CmdGetMainMissionCustomValueScRsp)
            }
            "CmdFinishCosumeItemMissionCsReq" => {
                Some(Self::CmdFinishCosumeItemMissionCsReq)
            }
            "CmdFinishedMissionScNotify" => Some(Self::CmdFinishedMissionScNotify),
            "CmdMissionRewardScNotify" => Some(Self::CmdMissionRewardScNotify),
            "CmdFinishTalkMissionScRsp" => Some(Self::CmdFinishTalkMissionScRsp),
            "CmdFinishTalkMissionCsReq" => Some(Self::CmdFinishTalkMissionCsReq),
            "CmdDPBIKGCPNMK" => Some(Self::CmdDpbikgcpnmk),
            "CmdMainMissionAcceptNotify" => Some(Self::CmdMainMissionAcceptNotify),
            "CmdTeleportToMissionResetPointScRsp" => {
                Some(Self::CmdTeleportToMissionResetPointScRsp)
            }
            "CmdUpdateMainMissionCustomValueCsReq" => {
                Some(Self::CmdUpdateMainMissionCustomValueCsReq)
            }
            "CmdAcceptMainMissionScRsp" => Some(Self::CmdAcceptMainMissionScRsp),
            "CmdONOLLIIOPAK" => Some(Self::CmdOnolliiopak),
            "CmdUpdateTrackMainMissionCsReq" => {
                Some(Self::CmdUpdateTrackMainMissionCsReq)
            }
            "CmdSyncTaskCsReq" => Some(Self::CmdSyncTaskCsReq),
            "CmdGetMissionStatusCsReq" => Some(Self::CmdGetMissionStatusCsReq),
            "CmdStartFinishMainMissionScNotify" => {
                Some(Self::CmdStartFinishMainMissionScNotify)
            }
            "CmdSubMissionRewardScNotify" => Some(Self::CmdSubMissionRewardScNotify),
            "CmdStarPerformanceRelayCsReq" => Some(Self::CmdStarPerformanceRelayCsReq),
            "CmdStartFinishSubMissionScNotify" => {
                Some(Self::CmdStartFinishSubMissionScNotify)
            }
            "CmdGetMissionDataCsReq" => Some(Self::CmdGetMissionDataCsReq),
            "CmdGetMissionStatusScRsp" => Some(Self::CmdGetMissionStatusScRsp),
            "CmdMissionGroupWarnScNotify" => Some(Self::CmdMissionGroupWarnScNotify),
            "CmdGetMissionDataScRsp" => Some(Self::CmdGetMissionDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionSyncRecord {
    Lndegmepgal = 0,
    Bidflfbcldf = 1,
    Jfljkdlfdlf = 2,
    Engkpmdldgc = 3,
    Pbmkafkiohf = 4,
    Dmpdjffoffl = 11,
    Lknhiehlilc = 12,
    Lleonlihlpa = 13,
    Fkbedjnoalg = 14,
    Aidooheipoi = 15,
}
impl MissionSyncRecord {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lndegmepgal => "MissionSyncRecord_LNDEGMEPGAL",
            Self::Bidflfbcldf => "MissionSyncRecord_BIDFLFBCLDF",
            Self::Jfljkdlfdlf => "MissionSyncRecord_JFLJKDLFDLF",
            Self::Engkpmdldgc => "MissionSyncRecord_ENGKPMDLDGC",
            Self::Pbmkafkiohf => "MissionSyncRecord_PBMKAFKIOHF",
            Self::Dmpdjffoffl => "MissionSyncRecord_DMPDJFFOFFL",
            Self::Lknhiehlilc => "MissionSyncRecord_LKNHIEHLILC",
            Self::Lleonlihlpa => "MissionSyncRecord_LLEONLIHLPA",
            Self::Fkbedjnoalg => "MissionSyncRecord_FKBEDJNOALG",
            Self::Aidooheipoi => "MissionSyncRecord_AIDOOHEIPOI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MissionSyncRecord_LNDEGMEPGAL" => Some(Self::Lndegmepgal),
            "MissionSyncRecord_BIDFLFBCLDF" => Some(Self::Bidflfbcldf),
            "MissionSyncRecord_JFLJKDLFDLF" => Some(Self::Jfljkdlfdlf),
            "MissionSyncRecord_ENGKPMDLDGC" => Some(Self::Engkpmdldgc),
            "MissionSyncRecord_PBMKAFKIOHF" => Some(Self::Pbmkafkiohf),
            "MissionSyncRecord_DMPDJFFOFFL" => Some(Self::Dmpdjffoffl),
            "MissionSyncRecord_LKNHIEHLILC" => Some(Self::Lknhiehlilc),
            "MissionSyncRecord_LLEONLIHLPA" => Some(Self::Lleonlihlpa),
            "MissionSyncRecord_FKBEDJNOALG" => Some(Self::Fkbedjnoalg),
            "MissionSyncRecord_AIDOOHEIPOI" => Some(Self::Aidooheipoi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ldlkiiickig {
    Joeedfblccp = 0,
    Kgehfkjalfp = 1,
}
impl Ldlkiiickig {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Joeedfblccp => "LDLKIIICKIG_JOEEDFBLCCP",
            Self::Kgehfkjalfp => "LDLKIIICKIG_KGEHFKJALFP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDLKIIICKIG_JOEEDFBLCCP" => Some(Self::Joeedfblccp),
            "LDLKIIICKIG_KGEHFKJALFP" => Some(Self::Kgehfkjalfp),
            _ => None,
        }
    }
}
/// Obf: NCFOCLHAFBL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrackMainMissionUpdateReasonId {
    NcfoclhafblEhnancenola = 0,
    NcfoclhafblLihallopncf = 1,
    NcfoclhafblJbljnmjajel = 2,
    NcfoclhafblPdidgbfbehh = 3,
}
impl TrackMainMissionUpdateReasonId {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NcfoclhafblEhnancenola => "NCFOCLHAFBL_EHNANCENOLA",
            Self::NcfoclhafblLihallopncf => "NCFOCLHAFBL_LIHALLOPNCF",
            Self::NcfoclhafblJbljnmjajel => "NCFOCLHAFBL_JBLJNMJAJEL",
            Self::NcfoclhafblPdidgbfbehh => "NCFOCLHAFBL_PDIDGBFBEHH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NCFOCLHAFBL_EHNANCENOLA" => Some(Self::NcfoclhafblEhnancenola),
            "NCFOCLHAFBL_LIHALLOPNCF" => Some(Self::NcfoclhafblLihallopncf),
            "NCFOCLHAFBL_JBLJNMJAJEL" => Some(Self::NcfoclhafblJbljnmjajel),
            "NCFOCLHAFBL_PDIDGBFBEHH" => Some(Self::NcfoclhafblPdidgbfbehh),
            _ => None,
        }
    }
}
/// Obf: KKHODBFEHIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMonopolyType {
    KkhodbfehijGkjbaodjmjg = 0,
    CmdMonopolyGuessChooseScRsp = 7056,
    CmdMonopolyLikeScNotify = 7081,
    CmdMonopolyGuessChooseCsReq = 7051,
    CmdMonopolyTakeRaffleTicketRewardScRsp = 7035,
    CmdMonopolyClickCellScRsp = 7025,
    CmdGenibiamdjk = 7011,
    CmdDpdldnifipb = 7077,
    CmdMonopolyGameBingoFlipCardScRsp = 7016,
    CmdMonopolyEventLoadUpdateScNotify = 7061,
    CmdMonopolyGiveUpCurContentScRsp = 7012,
    CmdKlnlcafngea = 7070,
    CmdMonopolyGetRaffleTicketScRsp = 7024,
    CmdMonopolyReRollRandomCsReq = 7095,
    CmdGetMbtiReportScRsp = 7015,
    CmdDeleteSocialEventServerCacheCsReq = 7043,
    CmdMonopolyCellUpdateNotify = 7075,
    CmdMonopolySttUpdateScNotify = 7053,
    CmdMonopolyActionResultScNotify = 7055,
    CmdGetSocialEventServerCacheCsReq = 7060,
    CmdGetMonopolyFriendRankingListScRsp = 7098,
    CmdMonopolyRollRandomCsReq = 7045,
    CmdMonopolyBuyGoodsScRsp = 7096,
    CmdMonopolyDailySettleScNotify = 7092,
    CmdIjeclminodm = 7036,
    CmdMonopolyScrachRaffleTicketScRsp = 7073,
    CmdMonopolyGetDailyInitItemScRsp = 7094,
    CmdMonopolyConfirmRandomCsReq = 7093,
    CmdDailyFirstEnterMonopolyActivityCsReq = 7066,
    CmdMonopolyConfirmRandomScRsp = 7089,
    CmdMonopolyScrachRaffleTicketCsReq = 7004,
    CmdMonopolyTakePhaseRewardScRsp = 7100,
    CmdMonopolyGameGachaCsReq = 7013,
    CmdDailyFirstEnterMonopolyActivityScRsp = 7079,
    CmdMonopolyClickMbtiReportCsReq = 7049,
    CmdMonopolyLikeCsReq = 7048,
    CmdMonopolyGetRegionProgressScRsp = 7044,
    CmdGetSocialEventServerCacheScRsp = 7068,
    CmdGetMbtiReportCsReq = 7097,
    CmdMonopolyGameGachaScRsp = 7099,
    CmdMonopolyRollRandomScRsp = 7083,
    CmdMonopolyRollDiceScRsp = 7047,
    CmdMonopolyGameCreateScNotify = 7088,
    CmdMonopolyGameSettleScNotify = 7078,
    CmdMonopolyCheatDiceScRsp = 7086,
    CmdMonopolyEventSelectFriendScRsp = 7022,
    CmdMonopolyAcceptQuizCsReq = 7052,
    CmdGetMonopolyInfoScRsp = 7028,
    CmdMonopolyGuessDrawScNotify = 7001,
    CmdMonopolyAcceptQuizScRsp = 7082,
    CmdGetMonopolyDailyReportScRsp = 7029,
    CmdMonopolyGetRaffleTicketCsReq = 7087,
    CmdMonopolyConditionUpdateScNotify = 7017,
    CmdMonopolyMoveCsReq = 7020,
    CmdMonopolyClickCellCsReq = 7010,
    CmdMonopolyTakePhaseRewardCsReq = 7040,
    CmdMonopolyGetRafflePoolInfoScRsp = 7046,
    CmdGetMonopolyDailyReportCsReq = 7063,
    CmdMonopolyUpgradeAssetCsReq = 7080,
    CmdMonopolyTakeRaffleTicketRewardCsReq = 7003,
    CmdGetMonopolyMbtiReportRewardScRsp = 7065,
    CmdGetMonopolyMbtiReportRewardCsReq = 7039,
    CmdMonopolySelectOptionScRsp = 7037,
    CmdMonopolyLikeScRsp = 7006,
    CmdMonopolyQuizDurationChangeScNotify = 7041,
    CmdMonopolyGetRegionProgressCsReq = 7090,
    CmdMonopolyGameRaiseRatioCsReq = 7085,
    CmdMonopolyContentUpdateScNotify = 7009,
    CmdMonopolyGetDailyInitItemCsReq = 7033,
    CmdMonopolyGiveUpCurContentCsReq = 7014,
    CmdGetMonopolyFriendRankingListCsReq = 7002,
    CmdMonopolyMoveScRsp = 7026,
    CmdMonopolyGetRafflePoolInfoCsReq = 7071,
    CmdMonopolyRollDiceCsReq = 7062,
    CmdMonopolyBuyGoodsCsReq = 7076,
    CmdMonopolyCheatDiceCsReq = 7050,
    CmdGetMonopolyInfoCsReq = 7057,
    CmdDadgjdcnikm = 7058,
    CmdMonopolyReRollRandomScRsp = 7034,
    CmdMonopolySelectOptionCsReq = 7005,
    CmdMonopolyEventSelectFriendCsReq = 7091,
    CmdMonopolySocialEventEffectScNotify = 7072,
    CmdMonopolyGuessBuyInformationCsReq = 7008,
    CmdMonopolyGameBingoFlipCardCsReq = 7042,
}
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 {
            Self::KkhodbfehijGkjbaodjmjg => "KKHODBFEHIJ_GKJBAODJMJG",
            Self::CmdMonopolyGuessChooseScRsp => "CmdMonopolyGuessChooseScRsp",
            Self::CmdMonopolyLikeScNotify => "CmdMonopolyLikeScNotify",
            Self::CmdMonopolyGuessChooseCsReq => "CmdMonopolyGuessChooseCsReq",
            Self::CmdMonopolyTakeRaffleTicketRewardScRsp => {
                "CmdMonopolyTakeRaffleTicketRewardScRsp"
            }
            Self::CmdMonopolyClickCellScRsp => "CmdMonopolyClickCellScRsp",
            Self::CmdGenibiamdjk => "CmdGENIBIAMDJK",
            Self::CmdDpdldnifipb => "CmdDPDLDNIFIPB",
            Self::CmdMonopolyGameBingoFlipCardScRsp => {
                "CmdMonopolyGameBingoFlipCardScRsp"
            }
            Self::CmdMonopolyEventLoadUpdateScNotify => {
                "CmdMonopolyEventLoadUpdateScNotify"
            }
            Self::CmdMonopolyGiveUpCurContentScRsp => "CmdMonopolyGiveUpCurContentScRsp",
            Self::CmdKlnlcafngea => "CmdKLNLCAFNGEA",
            Self::CmdMonopolyGetRaffleTicketScRsp => "CmdMonopolyGetRaffleTicketScRsp",
            Self::CmdMonopolyReRollRandomCsReq => "CmdMonopolyReRollRandomCsReq",
            Self::CmdGetMbtiReportScRsp => "CmdGetMbtiReportScRsp",
            Self::CmdDeleteSocialEventServerCacheCsReq => {
                "CmdDeleteSocialEventServerCacheCsReq"
            }
            Self::CmdMonopolyCellUpdateNotify => "CmdMonopolyCellUpdateNotify",
            Self::CmdMonopolySttUpdateScNotify => "CmdMonopolySttUpdateScNotify",
            Self::CmdMonopolyActionResultScNotify => "CmdMonopolyActionResultScNotify",
            Self::CmdGetSocialEventServerCacheCsReq => {
                "CmdGetSocialEventServerCacheCsReq"
            }
            Self::CmdGetMonopolyFriendRankingListScRsp => {
                "CmdGetMonopolyFriendRankingListScRsp"
            }
            Self::CmdMonopolyRollRandomCsReq => "CmdMonopolyRollRandomCsReq",
            Self::CmdMonopolyBuyGoodsScRsp => "CmdMonopolyBuyGoodsScRsp",
            Self::CmdMonopolyDailySettleScNotify => "CmdMonopolyDailySettleScNotify",
            Self::CmdIjeclminodm => "CmdIJECLMINODM",
            Self::CmdMonopolyScrachRaffleTicketScRsp => {
                "CmdMonopolyScrachRaffleTicketScRsp"
            }
            Self::CmdMonopolyGetDailyInitItemScRsp => "CmdMonopolyGetDailyInitItemScRsp",
            Self::CmdMonopolyConfirmRandomCsReq => "CmdMonopolyConfirmRandomCsReq",
            Self::CmdDailyFirstEnterMonopolyActivityCsReq => {
                "CmdDailyFirstEnterMonopolyActivityCsReq"
            }
            Self::CmdMonopolyConfirmRandomScRsp => "CmdMonopolyConfirmRandomScRsp",
            Self::CmdMonopolyScrachRaffleTicketCsReq => {
                "CmdMonopolyScrachRaffleTicketCsReq"
            }
            Self::CmdMonopolyTakePhaseRewardScRsp => "CmdMonopolyTakePhaseRewardScRsp",
            Self::CmdMonopolyGameGachaCsReq => "CmdMonopolyGameGachaCsReq",
            Self::CmdDailyFirstEnterMonopolyActivityScRsp => {
                "CmdDailyFirstEnterMonopolyActivityScRsp"
            }
            Self::CmdMonopolyClickMbtiReportCsReq => "CmdMonopolyClickMbtiReportCsReq",
            Self::CmdMonopolyLikeCsReq => "CmdMonopolyLikeCsReq",
            Self::CmdMonopolyGetRegionProgressScRsp => {
                "CmdMonopolyGetRegionProgressScRsp"
            }
            Self::CmdGetSocialEventServerCacheScRsp => {
                "CmdGetSocialEventServerCacheScRsp"
            }
            Self::CmdGetMbtiReportCsReq => "CmdGetMbtiReportCsReq",
            Self::CmdMonopolyGameGachaScRsp => "CmdMonopolyGameGachaScRsp",
            Self::CmdMonopolyRollRandomScRsp => "CmdMonopolyRollRandomScRsp",
            Self::CmdMonopolyRollDiceScRsp => "CmdMonopolyRollDiceScRsp",
            Self::CmdMonopolyGameCreateScNotify => "CmdMonopolyGameCreateScNotify",
            Self::CmdMonopolyGameSettleScNotify => "CmdMonopolyGameSettleScNotify",
            Self::CmdMonopolyCheatDiceScRsp => "CmdMonopolyCheatDiceScRsp",
            Self::CmdMonopolyEventSelectFriendScRsp => {
                "CmdMonopolyEventSelectFriendScRsp"
            }
            Self::CmdMonopolyAcceptQuizCsReq => "CmdMonopolyAcceptQuizCsReq",
            Self::CmdGetMonopolyInfoScRsp => "CmdGetMonopolyInfoScRsp",
            Self::CmdMonopolyGuessDrawScNotify => "CmdMonopolyGuessDrawScNotify",
            Self::CmdMonopolyAcceptQuizScRsp => "CmdMonopolyAcceptQuizScRsp",
            Self::CmdGetMonopolyDailyReportScRsp => "CmdGetMonopolyDailyReportScRsp",
            Self::CmdMonopolyGetRaffleTicketCsReq => "CmdMonopolyGetRaffleTicketCsReq",
            Self::CmdMonopolyConditionUpdateScNotify => {
                "CmdMonopolyConditionUpdateScNotify"
            }
            Self::CmdMonopolyMoveCsReq => "CmdMonopolyMoveCsReq",
            Self::CmdMonopolyClickCellCsReq => "CmdMonopolyClickCellCsReq",
            Self::CmdMonopolyTakePhaseRewardCsReq => "CmdMonopolyTakePhaseRewardCsReq",
            Self::CmdMonopolyGetRafflePoolInfoScRsp => {
                "CmdMonopolyGetRafflePoolInfoScRsp"
            }
            Self::CmdGetMonopolyDailyReportCsReq => "CmdGetMonopolyDailyReportCsReq",
            Self::CmdMonopolyUpgradeAssetCsReq => "CmdMonopolyUpgradeAssetCsReq",
            Self::CmdMonopolyTakeRaffleTicketRewardCsReq => {
                "CmdMonopolyTakeRaffleTicketRewardCsReq"
            }
            Self::CmdGetMonopolyMbtiReportRewardScRsp => {
                "CmdGetMonopolyMbtiReportRewardScRsp"
            }
            Self::CmdGetMonopolyMbtiReportRewardCsReq => {
                "CmdGetMonopolyMbtiReportRewardCsReq"
            }
            Self::CmdMonopolySelectOptionScRsp => "CmdMonopolySelectOptionScRsp",
            Self::CmdMonopolyLikeScRsp => "CmdMonopolyLikeScRsp",
            Self::CmdMonopolyQuizDurationChangeScNotify => {
                "CmdMonopolyQuizDurationChangeScNotify"
            }
            Self::CmdMonopolyGetRegionProgressCsReq => {
                "CmdMonopolyGetRegionProgressCsReq"
            }
            Self::CmdMonopolyGameRaiseRatioCsReq => "CmdMonopolyGameRaiseRatioCsReq",
            Self::CmdMonopolyContentUpdateScNotify => "CmdMonopolyContentUpdateScNotify",
            Self::CmdMonopolyGetDailyInitItemCsReq => "CmdMonopolyGetDailyInitItemCsReq",
            Self::CmdMonopolyGiveUpCurContentCsReq => "CmdMonopolyGiveUpCurContentCsReq",
            Self::CmdGetMonopolyFriendRankingListCsReq => {
                "CmdGetMonopolyFriendRankingListCsReq"
            }
            Self::CmdMonopolyMoveScRsp => "CmdMonopolyMoveScRsp",
            Self::CmdMonopolyGetRafflePoolInfoCsReq => {
                "CmdMonopolyGetRafflePoolInfoCsReq"
            }
            Self::CmdMonopolyRollDiceCsReq => "CmdMonopolyRollDiceCsReq",
            Self::CmdMonopolyBuyGoodsCsReq => "CmdMonopolyBuyGoodsCsReq",
            Self::CmdMonopolyCheatDiceCsReq => "CmdMonopolyCheatDiceCsReq",
            Self::CmdGetMonopolyInfoCsReq => "CmdGetMonopolyInfoCsReq",
            Self::CmdDadgjdcnikm => "CmdDADGJDCNIKM",
            Self::CmdMonopolyReRollRandomScRsp => "CmdMonopolyReRollRandomScRsp",
            Self::CmdMonopolySelectOptionCsReq => "CmdMonopolySelectOptionCsReq",
            Self::CmdMonopolyEventSelectFriendCsReq => {
                "CmdMonopolyEventSelectFriendCsReq"
            }
            Self::CmdMonopolySocialEventEffectScNotify => {
                "CmdMonopolySocialEventEffectScNotify"
            }
            Self::CmdMonopolyGuessBuyInformationCsReq => {
                "CmdMonopolyGuessBuyInformationCsReq"
            }
            Self::CmdMonopolyGameBingoFlipCardCsReq => {
                "CmdMonopolyGameBingoFlipCardCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KKHODBFEHIJ_GKJBAODJMJG" => Some(Self::KkhodbfehijGkjbaodjmjg),
            "CmdMonopolyGuessChooseScRsp" => Some(Self::CmdMonopolyGuessChooseScRsp),
            "CmdMonopolyLikeScNotify" => Some(Self::CmdMonopolyLikeScNotify),
            "CmdMonopolyGuessChooseCsReq" => Some(Self::CmdMonopolyGuessChooseCsReq),
            "CmdMonopolyTakeRaffleTicketRewardScRsp" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardScRsp)
            }
            "CmdMonopolyClickCellScRsp" => Some(Self::CmdMonopolyClickCellScRsp),
            "CmdGENIBIAMDJK" => Some(Self::CmdGenibiamdjk),
            "CmdDPDLDNIFIPB" => Some(Self::CmdDpdldnifipb),
            "CmdMonopolyGameBingoFlipCardScRsp" => {
                Some(Self::CmdMonopolyGameBingoFlipCardScRsp)
            }
            "CmdMonopolyEventLoadUpdateScNotify" => {
                Some(Self::CmdMonopolyEventLoadUpdateScNotify)
            }
            "CmdMonopolyGiveUpCurContentScRsp" => {
                Some(Self::CmdMonopolyGiveUpCurContentScRsp)
            }
            "CmdKLNLCAFNGEA" => Some(Self::CmdKlnlcafngea),
            "CmdMonopolyGetRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyGetRaffleTicketScRsp)
            }
            "CmdMonopolyReRollRandomCsReq" => Some(Self::CmdMonopolyReRollRandomCsReq),
            "CmdGetMbtiReportScRsp" => Some(Self::CmdGetMbtiReportScRsp),
            "CmdDeleteSocialEventServerCacheCsReq" => {
                Some(Self::CmdDeleteSocialEventServerCacheCsReq)
            }
            "CmdMonopolyCellUpdateNotify" => Some(Self::CmdMonopolyCellUpdateNotify),
            "CmdMonopolySttUpdateScNotify" => Some(Self::CmdMonopolySttUpdateScNotify),
            "CmdMonopolyActionResultScNotify" => {
                Some(Self::CmdMonopolyActionResultScNotify)
            }
            "CmdGetSocialEventServerCacheCsReq" => {
                Some(Self::CmdGetSocialEventServerCacheCsReq)
            }
            "CmdGetMonopolyFriendRankingListScRsp" => {
                Some(Self::CmdGetMonopolyFriendRankingListScRsp)
            }
            "CmdMonopolyRollRandomCsReq" => Some(Self::CmdMonopolyRollRandomCsReq),
            "CmdMonopolyBuyGoodsScRsp" => Some(Self::CmdMonopolyBuyGoodsScRsp),
            "CmdMonopolyDailySettleScNotify" => {
                Some(Self::CmdMonopolyDailySettleScNotify)
            }
            "CmdIJECLMINODM" => Some(Self::CmdIjeclminodm),
            "CmdMonopolyScrachRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyScrachRaffleTicketScRsp)
            }
            "CmdMonopolyGetDailyInitItemScRsp" => {
                Some(Self::CmdMonopolyGetDailyInitItemScRsp)
            }
            "CmdMonopolyConfirmRandomCsReq" => Some(Self::CmdMonopolyConfirmRandomCsReq),
            "CmdDailyFirstEnterMonopolyActivityCsReq" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityCsReq)
            }
            "CmdMonopolyConfirmRandomScRsp" => Some(Self::CmdMonopolyConfirmRandomScRsp),
            "CmdMonopolyScrachRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyScrachRaffleTicketCsReq)
            }
            "CmdMonopolyTakePhaseRewardScRsp" => {
                Some(Self::CmdMonopolyTakePhaseRewardScRsp)
            }
            "CmdMonopolyGameGachaCsReq" => Some(Self::CmdMonopolyGameGachaCsReq),
            "CmdDailyFirstEnterMonopolyActivityScRsp" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityScRsp)
            }
            "CmdMonopolyClickMbtiReportCsReq" => {
                Some(Self::CmdMonopolyClickMbtiReportCsReq)
            }
            "CmdMonopolyLikeCsReq" => Some(Self::CmdMonopolyLikeCsReq),
            "CmdMonopolyGetRegionProgressScRsp" => {
                Some(Self::CmdMonopolyGetRegionProgressScRsp)
            }
            "CmdGetSocialEventServerCacheScRsp" => {
                Some(Self::CmdGetSocialEventServerCacheScRsp)
            }
            "CmdGetMbtiReportCsReq" => Some(Self::CmdGetMbtiReportCsReq),
            "CmdMonopolyGameGachaScRsp" => Some(Self::CmdMonopolyGameGachaScRsp),
            "CmdMonopolyRollRandomScRsp" => Some(Self::CmdMonopolyRollRandomScRsp),
            "CmdMonopolyRollDiceScRsp" => Some(Self::CmdMonopolyRollDiceScRsp),
            "CmdMonopolyGameCreateScNotify" => Some(Self::CmdMonopolyGameCreateScNotify),
            "CmdMonopolyGameSettleScNotify" => Some(Self::CmdMonopolyGameSettleScNotify),
            "CmdMonopolyCheatDiceScRsp" => Some(Self::CmdMonopolyCheatDiceScRsp),
            "CmdMonopolyEventSelectFriendScRsp" => {
                Some(Self::CmdMonopolyEventSelectFriendScRsp)
            }
            "CmdMonopolyAcceptQuizCsReq" => Some(Self::CmdMonopolyAcceptQuizCsReq),
            "CmdGetMonopolyInfoScRsp" => Some(Self::CmdGetMonopolyInfoScRsp),
            "CmdMonopolyGuessDrawScNotify" => Some(Self::CmdMonopolyGuessDrawScNotify),
            "CmdMonopolyAcceptQuizScRsp" => Some(Self::CmdMonopolyAcceptQuizScRsp),
            "CmdGetMonopolyDailyReportScRsp" => {
                Some(Self::CmdGetMonopolyDailyReportScRsp)
            }
            "CmdMonopolyGetRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyGetRaffleTicketCsReq)
            }
            "CmdMonopolyConditionUpdateScNotify" => {
                Some(Self::CmdMonopolyConditionUpdateScNotify)
            }
            "CmdMonopolyMoveCsReq" => Some(Self::CmdMonopolyMoveCsReq),
            "CmdMonopolyClickCellCsReq" => Some(Self::CmdMonopolyClickCellCsReq),
            "CmdMonopolyTakePhaseRewardCsReq" => {
                Some(Self::CmdMonopolyTakePhaseRewardCsReq)
            }
            "CmdMonopolyGetRafflePoolInfoScRsp" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoScRsp)
            }
            "CmdGetMonopolyDailyReportCsReq" => {
                Some(Self::CmdGetMonopolyDailyReportCsReq)
            }
            "CmdMonopolyUpgradeAssetCsReq" => Some(Self::CmdMonopolyUpgradeAssetCsReq),
            "CmdMonopolyTakeRaffleTicketRewardCsReq" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardCsReq)
            }
            "CmdGetMonopolyMbtiReportRewardScRsp" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardScRsp)
            }
            "CmdGetMonopolyMbtiReportRewardCsReq" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardCsReq)
            }
            "CmdMonopolySelectOptionScRsp" => Some(Self::CmdMonopolySelectOptionScRsp),
            "CmdMonopolyLikeScRsp" => Some(Self::CmdMonopolyLikeScRsp),
            "CmdMonopolyQuizDurationChangeScNotify" => {
                Some(Self::CmdMonopolyQuizDurationChangeScNotify)
            }
            "CmdMonopolyGetRegionProgressCsReq" => {
                Some(Self::CmdMonopolyGetRegionProgressCsReq)
            }
            "CmdMonopolyGameRaiseRatioCsReq" => {
                Some(Self::CmdMonopolyGameRaiseRatioCsReq)
            }
            "CmdMonopolyContentUpdateScNotify" => {
                Some(Self::CmdMonopolyContentUpdateScNotify)
            }
            "CmdMonopolyGetDailyInitItemCsReq" => {
                Some(Self::CmdMonopolyGetDailyInitItemCsReq)
            }
            "CmdMonopolyGiveUpCurContentCsReq" => {
                Some(Self::CmdMonopolyGiveUpCurContentCsReq)
            }
            "CmdGetMonopolyFriendRankingListCsReq" => {
                Some(Self::CmdGetMonopolyFriendRankingListCsReq)
            }
            "CmdMonopolyMoveScRsp" => Some(Self::CmdMonopolyMoveScRsp),
            "CmdMonopolyGetRafflePoolInfoCsReq" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoCsReq)
            }
            "CmdMonopolyRollDiceCsReq" => Some(Self::CmdMonopolyRollDiceCsReq),
            "CmdMonopolyBuyGoodsCsReq" => Some(Self::CmdMonopolyBuyGoodsCsReq),
            "CmdMonopolyCheatDiceCsReq" => Some(Self::CmdMonopolyCheatDiceCsReq),
            "CmdGetMonopolyInfoCsReq" => Some(Self::CmdGetMonopolyInfoCsReq),
            "CmdDADGJDCNIKM" => Some(Self::CmdDadgjdcnikm),
            "CmdMonopolyReRollRandomScRsp" => Some(Self::CmdMonopolyReRollRandomScRsp),
            "CmdMonopolySelectOptionCsReq" => Some(Self::CmdMonopolySelectOptionCsReq),
            "CmdMonopolyEventSelectFriendCsReq" => {
                Some(Self::CmdMonopolyEventSelectFriendCsReq)
            }
            "CmdMonopolySocialEventEffectScNotify" => {
                Some(Self::CmdMonopolySocialEventEffectScNotify)
            }
            "CmdMonopolyGuessBuyInformationCsReq" => {
                Some(Self::CmdMonopolyGuessBuyInformationCsReq)
            }
            "CmdMonopolyGameBingoFlipCardCsReq" => {
                Some(Self::CmdMonopolyGameBingoFlipCardCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fpikahkfibo {
    Gkjbaodjmjg = 0,
    Kmfegncnbam = 1,
}
impl Fpikahkfibo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FPIKAHKFIBO_GKJBAODJMJG",
            Self::Kmfegncnbam => "FPIKAHKFIBO_KMFEGNCNBAM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FPIKAHKFIBO_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FPIKAHKFIBO_KMFEGNCNBAM" => Some(Self::Kmfegncnbam),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hjdbeflimhj {
    Pcofpekekmd = 0,
    Oallhlkpamp = 1,
    Kcehjffbeem = 2,
    Jojfjhdlleh = 3,
}
impl Hjdbeflimhj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pcofpekekmd => "HJDBEFLIMHJ_PCOFPEKEKMD",
            Self::Oallhlkpamp => "HJDBEFLIMHJ_OALLHLKPAMP",
            Self::Kcehjffbeem => "HJDBEFLIMHJ_KCEHJFFBEEM",
            Self::Jojfjhdlleh => "HJDBEFLIMHJ_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HJDBEFLIMHJ_PCOFPEKEKMD" => Some(Self::Pcofpekekmd),
            "HJDBEFLIMHJ_OALLHLKPAMP" => Some(Self::Oallhlkpamp),
            "HJDBEFLIMHJ_KCEHJFFBEEM" => Some(Self::Kcehjffbeem),
            "HJDBEFLIMHJ_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hmhgdlfdjpn {
    Gkjbaodjmjg = 0,
    Ncafccehlli = 1,
    Epbaapefmog = 2,
    Jhlpakebeee = 3,
    Iiohapefefi = 4,
    Obcfbcnpjbk = 5,
    Pgbeiobpnma = 6,
    Kfgoeonlbka = 7,
    Lenegkppmgh = 8,
    Nlgfolicank = 9,
    Klkbmbpjgdd = 10,
}
impl Hmhgdlfdjpn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HMHGDLFDJPN_GKJBAODJMJG",
            Self::Ncafccehlli => "HMHGDLFDJPN_NCAFCCEHLLI",
            Self::Epbaapefmog => "HMHGDLFDJPN_EPBAAPEFMOG",
            Self::Jhlpakebeee => "HMHGDLFDJPN_JHLPAKEBEEE",
            Self::Iiohapefefi => "HMHGDLFDJPN_IIOHAPEFEFI",
            Self::Obcfbcnpjbk => "HMHGDLFDJPN_OBCFBCNPJBK",
            Self::Pgbeiobpnma => "HMHGDLFDJPN_PGBEIOBPNMA",
            Self::Kfgoeonlbka => "HMHGDLFDJPN_KFGOEONLBKA",
            Self::Lenegkppmgh => "HMHGDLFDJPN_LENEGKPPMGH",
            Self::Nlgfolicank => "HMHGDLFDJPN_NLGFOLICANK",
            Self::Klkbmbpjgdd => "HMHGDLFDJPN_KLKBMBPJGDD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HMHGDLFDJPN_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HMHGDLFDJPN_NCAFCCEHLLI" => Some(Self::Ncafccehlli),
            "HMHGDLFDJPN_EPBAAPEFMOG" => Some(Self::Epbaapefmog),
            "HMHGDLFDJPN_JHLPAKEBEEE" => Some(Self::Jhlpakebeee),
            "HMHGDLFDJPN_IIOHAPEFEFI" => Some(Self::Iiohapefefi),
            "HMHGDLFDJPN_OBCFBCNPJBK" => Some(Self::Obcfbcnpjbk),
            "HMHGDLFDJPN_PGBEIOBPNMA" => Some(Self::Pgbeiobpnma),
            "HMHGDLFDJPN_KFGOEONLBKA" => Some(Self::Kfgoeonlbka),
            "HMHGDLFDJPN_LENEGKPPMGH" => Some(Self::Lenegkppmgh),
            "HMHGDLFDJPN_NLGFOLICANK" => Some(Self::Nlgfolicank),
            "HMHGDLFDJPN_KLKBMBPJGDD" => Some(Self::Klkbmbpjgdd),
            _ => None,
        }
    }
}
/// Obf: DIFPKKEBMPH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultiplayerType {
    DifpkkebmphGkjbaodjmjg = 0,
    CmdFightGameStateScRsp = 1028,
    CmdFightGiveUpCsReq = 1038,
    CmdPejnmnbopaf = 1062,
    CmdJflekcimflh = 1026,
    CmdFightGameStartScNotify = 1047,
    CmdLagdkhkobnk = 1020,
    CmdMatchPlayDataChangeNtf = 1069,
    CmdGetFriendRankingInfoRsp = 1079,
    CmdGetMatchPlayDataRsp = 1037,
    CmdSelfRankChangeNtf = 1045,
    CmdPlayerGetFightGateCsReq = 1055,
    CmdCpophhlhafg = 1075,
    CmdGetFriendRankingInfoCsReq = 1066,
    CmdGetMatchPlayDataCsReq = 1005,
    CmdFightGameStateCsReq = 1057,
}
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 {
            Self::DifpkkebmphGkjbaodjmjg => "DIFPKKEBMPH_GKJBAODJMJG",
            Self::CmdFightGameStateScRsp => "CmdFightGameStateScRsp",
            Self::CmdFightGiveUpCsReq => "CmdFightGiveUpCsReq",
            Self::CmdPejnmnbopaf => "CmdPEJNMNBOPAF",
            Self::CmdJflekcimflh => "CmdJFLEKCIMFLH",
            Self::CmdFightGameStartScNotify => "CmdFightGameStartScNotify",
            Self::CmdLagdkhkobnk => "CmdLAGDKHKOBNK",
            Self::CmdMatchPlayDataChangeNtf => "CmdMatchPlayDataChangeNtf",
            Self::CmdGetFriendRankingInfoRsp => "CmdGetFriendRankingInfoRsp",
            Self::CmdGetMatchPlayDataRsp => "CmdGetMatchPlayDataRsp",
            Self::CmdSelfRankChangeNtf => "CmdSelfRankChangeNtf",
            Self::CmdPlayerGetFightGateCsReq => "CmdPlayerGetFightGateCsReq",
            Self::CmdCpophhlhafg => "CmdCPOPHHLHAFG",
            Self::CmdGetFriendRankingInfoCsReq => "CmdGetFriendRankingInfoCsReq",
            Self::CmdGetMatchPlayDataCsReq => "CmdGetMatchPlayDataCsReq",
            Self::CmdFightGameStateCsReq => "CmdFightGameStateCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIFPKKEBMPH_GKJBAODJMJG" => Some(Self::DifpkkebmphGkjbaodjmjg),
            "CmdFightGameStateScRsp" => Some(Self::CmdFightGameStateScRsp),
            "CmdFightGiveUpCsReq" => Some(Self::CmdFightGiveUpCsReq),
            "CmdPEJNMNBOPAF" => Some(Self::CmdPejnmnbopaf),
            "CmdJFLEKCIMFLH" => Some(Self::CmdJflekcimflh),
            "CmdFightGameStartScNotify" => Some(Self::CmdFightGameStartScNotify),
            "CmdLAGDKHKOBNK" => Some(Self::CmdLagdkhkobnk),
            "CmdMatchPlayDataChangeNtf" => Some(Self::CmdMatchPlayDataChangeNtf),
            "CmdGetFriendRankingInfoRsp" => Some(Self::CmdGetFriendRankingInfoRsp),
            "CmdGetMatchPlayDataRsp" => Some(Self::CmdGetMatchPlayDataRsp),
            "CmdSelfRankChangeNtf" => Some(Self::CmdSelfRankChangeNtf),
            "CmdPlayerGetFightGateCsReq" => Some(Self::CmdPlayerGetFightGateCsReq),
            "CmdCPOPHHLHAFG" => Some(Self::CmdCpophhlhafg),
            "CmdGetFriendRankingInfoCsReq" => Some(Self::CmdGetFriendRankingInfoCsReq),
            "CmdGetMatchPlayDataCsReq" => Some(Self::CmdGetMatchPlayDataCsReq),
            "CmdFightGameStateCsReq" => Some(Self::CmdFightGameStateCsReq),
            _ => None,
        }
    }
}
/// Obf: DLADFIHFJEG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultipleDropType {
    DladfihfjegGkjbaodjmjg = 0,
    CmdMultipleDropInfoNotify = 4662,
    CmdGetMultipleDropInfoScRsp = 4628,
    CmdGetPlayerReturnMultiDropInfoScRsp = 4638,
    CmdMultipleDropInfoScNotify = 4655,
    CmdGetPlayerReturnMultiDropInfoCsReq = 4675,
    CmdGetMultipleDropInfoCsReq = 4657,
}
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 {
            Self::DladfihfjegGkjbaodjmjg => "DLADFIHFJEG_GKJBAODJMJG",
            Self::CmdMultipleDropInfoNotify => "CmdMultipleDropInfoNotify",
            Self::CmdGetMultipleDropInfoScRsp => "CmdGetMultipleDropInfoScRsp",
            Self::CmdGetPlayerReturnMultiDropInfoScRsp => {
                "CmdGetPlayerReturnMultiDropInfoScRsp"
            }
            Self::CmdMultipleDropInfoScNotify => "CmdMultipleDropInfoScNotify",
            Self::CmdGetPlayerReturnMultiDropInfoCsReq => {
                "CmdGetPlayerReturnMultiDropInfoCsReq"
            }
            Self::CmdGetMultipleDropInfoCsReq => "CmdGetMultipleDropInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DLADFIHFJEG_GKJBAODJMJG" => Some(Self::DladfihfjegGkjbaodjmjg),
            "CmdMultipleDropInfoNotify" => Some(Self::CmdMultipleDropInfoNotify),
            "CmdGetMultipleDropInfoScRsp" => Some(Self::CmdGetMultipleDropInfoScRsp),
            "CmdGetPlayerReturnMultiDropInfoScRsp" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoScRsp)
            }
            "CmdMultipleDropInfoScNotify" => Some(Self::CmdMultipleDropInfoScNotify),
            "CmdGetPlayerReturnMultiDropInfoCsReq" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoCsReq)
            }
            "CmdGetMultipleDropInfoCsReq" => Some(Self::CmdGetMultipleDropInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: AFANMHFJDBE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMuseumType {
    AfanmhfjdbeGkjbaodjmjg = 0,
    CmdMuseumRandomEventSelectCsReq = 4396,
    CmdTakeCollectRewardCsReq = 4386,
    CmdFinishCurTurnCsReq = 4337,
    CmdFinishCurTurnScRsp = 4369,
    CmdBuyNpcStuffScRsp = 4375,
    CmdSyncGetExhibitScNotify = 4305,
    CmdUpgradeAreaScRsp = 4379,
    CmdSyncGetStuffScNotify = 4326,
    CmdUpgradeAreaStatCsReq = 4345,
    CmdSetStuffToAreaCsReq = 4338,
    CmdSetStuffToAreaScRsp = 4362,
    CmdTakeCollectRewardRsp = 4309,
    CmdSyncMuseumTargetMissionFinishNotify = 4312,
    CmdBuyNpcStuffCsReq = 4355,
    CmdSyncMuseumRandomEventStartScNotify = 4393,
    CmdMuseumRandomEventQueryScRsp = 4376,
    CmdSyncMuseumTargetRewardNotify = 4350,
    CmdSyncMuseumInfoChangedScNotify = 4395,
    CmdSyncMuseumTargetStartNotify = 4314,
    CmdFbifblpegam = 4377,
    CmdMuseumRandomEventQueryCsReq = 4389,
    CmdGetMuseumInfoCsReq = 4357,
    CmdUpgradeAreaCsReq = 4366,
    CmdRemoveStuffFromAreaScRsp = 4320,
    CmdSyncMuseumFundsChangedScNotify = 4334,
    CmdMuseumRandomEventSelectScRsp = 4380,
    CmdGetMuseumInfoScRsp = 4328,
    CmdRemoveStuffFromAreaCsReq = 4347,
    CmdUpgradeAreaStatScRsp = 4383,
}
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 {
            Self::AfanmhfjdbeGkjbaodjmjg => "AFANMHFJDBE_GKJBAODJMJG",
            Self::CmdMuseumRandomEventSelectCsReq => "CmdMuseumRandomEventSelectCsReq",
            Self::CmdTakeCollectRewardCsReq => "CmdTakeCollectRewardCsReq",
            Self::CmdFinishCurTurnCsReq => "CmdFinishCurTurnCsReq",
            Self::CmdFinishCurTurnScRsp => "CmdFinishCurTurnScRsp",
            Self::CmdBuyNpcStuffScRsp => "CmdBuyNpcStuffScRsp",
            Self::CmdSyncGetExhibitScNotify => "CmdSyncGetExhibitScNotify",
            Self::CmdUpgradeAreaScRsp => "CmdUpgradeAreaScRsp",
            Self::CmdSyncGetStuffScNotify => "CmdSyncGetStuffScNotify",
            Self::CmdUpgradeAreaStatCsReq => "CmdUpgradeAreaStatCsReq",
            Self::CmdSetStuffToAreaCsReq => "CmdSetStuffToAreaCsReq",
            Self::CmdSetStuffToAreaScRsp => "CmdSetStuffToAreaScRsp",
            Self::CmdTakeCollectRewardRsp => "CmdTakeCollectRewardRsp",
            Self::CmdSyncMuseumTargetMissionFinishNotify => {
                "CmdSyncMuseumTargetMissionFinishNotify"
            }
            Self::CmdBuyNpcStuffCsReq => "CmdBuyNpcStuffCsReq",
            Self::CmdSyncMuseumRandomEventStartScNotify => {
                "CmdSyncMuseumRandomEventStartScNotify"
            }
            Self::CmdMuseumRandomEventQueryScRsp => "CmdMuseumRandomEventQueryScRsp",
            Self::CmdSyncMuseumTargetRewardNotify => "CmdSyncMuseumTargetRewardNotify",
            Self::CmdSyncMuseumInfoChangedScNotify => "CmdSyncMuseumInfoChangedScNotify",
            Self::CmdSyncMuseumTargetStartNotify => "CmdSyncMuseumTargetStartNotify",
            Self::CmdFbifblpegam => "CmdFBIFBLPEGAM",
            Self::CmdMuseumRandomEventQueryCsReq => "CmdMuseumRandomEventQueryCsReq",
            Self::CmdGetMuseumInfoCsReq => "CmdGetMuseumInfoCsReq",
            Self::CmdUpgradeAreaCsReq => "CmdUpgradeAreaCsReq",
            Self::CmdRemoveStuffFromAreaScRsp => "CmdRemoveStuffFromAreaScRsp",
            Self::CmdSyncMuseumFundsChangedScNotify => {
                "CmdSyncMuseumFundsChangedScNotify"
            }
            Self::CmdMuseumRandomEventSelectScRsp => "CmdMuseumRandomEventSelectScRsp",
            Self::CmdGetMuseumInfoScRsp => "CmdGetMuseumInfoScRsp",
            Self::CmdRemoveStuffFromAreaCsReq => "CmdRemoveStuffFromAreaCsReq",
            Self::CmdUpgradeAreaStatScRsp => "CmdUpgradeAreaStatScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AFANMHFJDBE_GKJBAODJMJG" => Some(Self::AfanmhfjdbeGkjbaodjmjg),
            "CmdMuseumRandomEventSelectCsReq" => {
                Some(Self::CmdMuseumRandomEventSelectCsReq)
            }
            "CmdTakeCollectRewardCsReq" => Some(Self::CmdTakeCollectRewardCsReq),
            "CmdFinishCurTurnCsReq" => Some(Self::CmdFinishCurTurnCsReq),
            "CmdFinishCurTurnScRsp" => Some(Self::CmdFinishCurTurnScRsp),
            "CmdBuyNpcStuffScRsp" => Some(Self::CmdBuyNpcStuffScRsp),
            "CmdSyncGetExhibitScNotify" => Some(Self::CmdSyncGetExhibitScNotify),
            "CmdUpgradeAreaScRsp" => Some(Self::CmdUpgradeAreaScRsp),
            "CmdSyncGetStuffScNotify" => Some(Self::CmdSyncGetStuffScNotify),
            "CmdUpgradeAreaStatCsReq" => Some(Self::CmdUpgradeAreaStatCsReq),
            "CmdSetStuffToAreaCsReq" => Some(Self::CmdSetStuffToAreaCsReq),
            "CmdSetStuffToAreaScRsp" => Some(Self::CmdSetStuffToAreaScRsp),
            "CmdTakeCollectRewardRsp" => Some(Self::CmdTakeCollectRewardRsp),
            "CmdSyncMuseumTargetMissionFinishNotify" => {
                Some(Self::CmdSyncMuseumTargetMissionFinishNotify)
            }
            "CmdBuyNpcStuffCsReq" => Some(Self::CmdBuyNpcStuffCsReq),
            "CmdSyncMuseumRandomEventStartScNotify" => {
                Some(Self::CmdSyncMuseumRandomEventStartScNotify)
            }
            "CmdMuseumRandomEventQueryScRsp" => {
                Some(Self::CmdMuseumRandomEventQueryScRsp)
            }
            "CmdSyncMuseumTargetRewardNotify" => {
                Some(Self::CmdSyncMuseumTargetRewardNotify)
            }
            "CmdSyncMuseumInfoChangedScNotify" => {
                Some(Self::CmdSyncMuseumInfoChangedScNotify)
            }
            "CmdSyncMuseumTargetStartNotify" => {
                Some(Self::CmdSyncMuseumTargetStartNotify)
            }
            "CmdFBIFBLPEGAM" => Some(Self::CmdFbifblpegam),
            "CmdMuseumRandomEventQueryCsReq" => {
                Some(Self::CmdMuseumRandomEventQueryCsReq)
            }
            "CmdGetMuseumInfoCsReq" => Some(Self::CmdGetMuseumInfoCsReq),
            "CmdUpgradeAreaCsReq" => Some(Self::CmdUpgradeAreaCsReq),
            "CmdRemoveStuffFromAreaScRsp" => Some(Self::CmdRemoveStuffFromAreaScRsp),
            "CmdSyncMuseumFundsChangedScNotify" => {
                Some(Self::CmdSyncMuseumFundsChangedScNotify)
            }
            "CmdMuseumRandomEventSelectScRsp" => {
                Some(Self::CmdMuseumRandomEventSelectScRsp)
            }
            "CmdGetMuseumInfoScRsp" => Some(Self::CmdGetMuseumInfoScRsp),
            "CmdRemoveStuffFromAreaCsReq" => Some(Self::CmdRemoveStuffFromAreaCsReq),
            "CmdUpgradeAreaStatScRsp" => Some(Self::CmdUpgradeAreaStatScRsp),
            _ => None,
        }
    }
}
/// Obf: ONNBIFHELKI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MuseumRandomEventState {
    OnnbifhelkiGkjbaodjmjg = 0,
    OnnbifhelkiJgihmaikkid = 1,
    OnnbifhelkiPleegecikfb = 2,
    OnnbifhelkiJojfjhdlleh = 3,
}
impl MuseumRandomEventState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OnnbifhelkiGkjbaodjmjg => "ONNBIFHELKI_GKJBAODJMJG",
            Self::OnnbifhelkiJgihmaikkid => "ONNBIFHELKI_JGIHMAIKKID",
            Self::OnnbifhelkiPleegecikfb => "ONNBIFHELKI_PLEEGECIKFB",
            Self::OnnbifhelkiJojfjhdlleh => "ONNBIFHELKI_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ONNBIFHELKI_GKJBAODJMJG" => Some(Self::OnnbifhelkiGkjbaodjmjg),
            "ONNBIFHELKI_JGIHMAIKKID" => Some(Self::OnnbifhelkiJgihmaikkid),
            "ONNBIFHELKI_PLEEGECIKFB" => Some(Self::OnnbifhelkiPleegecikfb),
            "ONNBIFHELKI_JOJFJHDLLEH" => Some(Self::OnnbifhelkiJojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fnheonnlhip {
    Gkjbaodjmjg = 0,
    Geocjmaemce = 1,
    Phjeddaandl = 2,
    Kcenjdchbhh = 3,
}
impl Fnheonnlhip {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FNHEONNLHIP_GKJBAODJMJG",
            Self::Geocjmaemce => "FNHEONNLHIP_GEOCJMAEMCE",
            Self::Phjeddaandl => "FNHEONNLHIP_PHJEDDAANDL",
            Self::Kcenjdchbhh => "FNHEONNLHIP_KCENJDCHBHH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FNHEONNLHIP_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FNHEONNLHIP_GEOCJMAEMCE" => Some(Self::Geocjmaemce),
            "FNHEONNLHIP_PHJEDDAANDL" => Some(Self::Phjeddaandl),
            "FNHEONNLHIP_KCENJDCHBHH" => Some(Self::Kcenjdchbhh),
            _ => None,
        }
    }
}
/// Obf: ACPAHOKPFPD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StatType {
    AcpahokpfpdGkjbaodjmjg = 0,
    AcpahokpfpdImpplhkngjd = 1,
    AcpahokpfpdOoilngginhp = 2,
    AcpahokpfpdNcedfdihoip = 3,
}
impl StatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AcpahokpfpdGkjbaodjmjg => "ACPAHOKPFPD_GKJBAODJMJG",
            Self::AcpahokpfpdImpplhkngjd => "ACPAHOKPFPD_IMPPLHKNGJD",
            Self::AcpahokpfpdOoilngginhp => "ACPAHOKPFPD_OOILNGGINHP",
            Self::AcpahokpfpdNcedfdihoip => "ACPAHOKPFPD_NCEDFDIHOIP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACPAHOKPFPD_GKJBAODJMJG" => Some(Self::AcpahokpfpdGkjbaodjmjg),
            "ACPAHOKPFPD_IMPPLHKNGJD" => Some(Self::AcpahokpfpdImpplhkngjd),
            "ACPAHOKPFPD_OOILNGGINHP" => Some(Self::AcpahokpfpdOoilngginhp),
            "ACPAHOKPFPD_NCEDFDIHOIP" => Some(Self::AcpahokpfpdNcedfdihoip),
            _ => None,
        }
    }
}
/// Obf: LKKONIIAPJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GetStuffType {
    LkkoniiapjjGapofikeohn = 0,
    LkkoniiapjjKmnldmogihe = 1,
    LkkoniiapjjPemedlhojbp = 2,
    LkkoniiapjjGhbfphpkcno = 3,
    LkkoniiapjjMepndfoahmg = 4,
    LkkoniiapjjPcogpjhmckk = 5,
    LkkoniiapjjFpjoghiiebd = 6,
}
impl GetStuffType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LkkoniiapjjGapofikeohn => "LKKONIIAPJJ_GAPOFIKEOHN",
            Self::LkkoniiapjjKmnldmogihe => "LKKONIIAPJJ_KMNLDMOGIHE",
            Self::LkkoniiapjjPemedlhojbp => "LKKONIIAPJJ_PEMEDLHOJBP",
            Self::LkkoniiapjjGhbfphpkcno => "LKKONIIAPJJ_GHBFPHPKCNO",
            Self::LkkoniiapjjMepndfoahmg => "LKKONIIAPJJ_MEPNDFOAHMG",
            Self::LkkoniiapjjPcogpjhmckk => "LKKONIIAPJJ_PCOGPJHMCKK",
            Self::LkkoniiapjjFpjoghiiebd => "LKKONIIAPJJ_FPJOGHIIEBD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LKKONIIAPJJ_GAPOFIKEOHN" => Some(Self::LkkoniiapjjGapofikeohn),
            "LKKONIIAPJJ_KMNLDMOGIHE" => Some(Self::LkkoniiapjjKmnldmogihe),
            "LKKONIIAPJJ_PEMEDLHOJBP" => Some(Self::LkkoniiapjjPemedlhojbp),
            "LKKONIIAPJJ_GHBFPHPKCNO" => Some(Self::LkkoniiapjjGhbfphpkcno),
            "LKKONIIAPJJ_MEPNDFOAHMG" => Some(Self::LkkoniiapjjMepndfoahmg),
            "LKKONIIAPJJ_PCOGPJHMCKK" => Some(Self::LkkoniiapjjPcogpjhmckk),
            "LKKONIIAPJJ_FPJOGHIIEBD" => Some(Self::LkkoniiapjjFpjoghiiebd),
            _ => None,
        }
    }
}
/// Obf: HIBNNOEELDO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMusicRhythmType {
    HibnnoeeldoGkjbaodjmjg = 0,
    CmdMusicRhythmStartLevelScRsp = 7573,
    CmdMusicRhythmStartLevelCsReq = 7582,
    CmdHbecabbdkjf = 7581,
    CmdMddfppgkglo = 7588,
    CmdMusicRhythmFinishLevelScRsp = 7594,
    CmdMusicRhythmUnlockSongSfxScNotify = 7600,
    CmdMusicRhythmDataCsReq = 7589,
    CmdMusicRhythmUnlockTrackScNotify = 7580,
    CmdMusicRhythmSaveSongConfigDataScRsp = 7596,
    CmdMusicRhythmFinishLevelCsReq = 7571,
    CmdMusicRhythmSaveSongConfigDataCsReq = 7592,
    CmdMusicRhythmDataScRsp = 7590,
}
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 {
            Self::HibnnoeeldoGkjbaodjmjg => "HIBNNOEELDO_GKJBAODJMJG",
            Self::CmdMusicRhythmStartLevelScRsp => "CmdMusicRhythmStartLevelScRsp",
            Self::CmdMusicRhythmStartLevelCsReq => "CmdMusicRhythmStartLevelCsReq",
            Self::CmdHbecabbdkjf => "CmdHBECABBDKJF",
            Self::CmdMddfppgkglo => "CmdMDDFPPGKGLO",
            Self::CmdMusicRhythmFinishLevelScRsp => "CmdMusicRhythmFinishLevelScRsp",
            Self::CmdMusicRhythmUnlockSongSfxScNotify => {
                "CmdMusicRhythmUnlockSongSfxScNotify"
            }
            Self::CmdMusicRhythmDataCsReq => "CmdMusicRhythmDataCsReq",
            Self::CmdMusicRhythmUnlockTrackScNotify => {
                "CmdMusicRhythmUnlockTrackScNotify"
            }
            Self::CmdMusicRhythmSaveSongConfigDataScRsp => {
                "CmdMusicRhythmSaveSongConfigDataScRsp"
            }
            Self::CmdMusicRhythmFinishLevelCsReq => "CmdMusicRhythmFinishLevelCsReq",
            Self::CmdMusicRhythmSaveSongConfigDataCsReq => {
                "CmdMusicRhythmSaveSongConfigDataCsReq"
            }
            Self::CmdMusicRhythmDataScRsp => "CmdMusicRhythmDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HIBNNOEELDO_GKJBAODJMJG" => Some(Self::HibnnoeeldoGkjbaodjmjg),
            "CmdMusicRhythmStartLevelScRsp" => Some(Self::CmdMusicRhythmStartLevelScRsp),
            "CmdMusicRhythmStartLevelCsReq" => Some(Self::CmdMusicRhythmStartLevelCsReq),
            "CmdHBECABBDKJF" => Some(Self::CmdHbecabbdkjf),
            "CmdMDDFPPGKGLO" => Some(Self::CmdMddfppgkglo),
            "CmdMusicRhythmFinishLevelScRsp" => {
                Some(Self::CmdMusicRhythmFinishLevelScRsp)
            }
            "CmdMusicRhythmUnlockSongSfxScNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongSfxScNotify)
            }
            "CmdMusicRhythmDataCsReq" => Some(Self::CmdMusicRhythmDataCsReq),
            "CmdMusicRhythmUnlockTrackScNotify" => {
                Some(Self::CmdMusicRhythmUnlockTrackScNotify)
            }
            "CmdMusicRhythmSaveSongConfigDataScRsp" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataScRsp)
            }
            "CmdMusicRhythmFinishLevelCsReq" => {
                Some(Self::CmdMusicRhythmFinishLevelCsReq)
            }
            "CmdMusicRhythmSaveSongConfigDataCsReq" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataCsReq)
            }
            "CmdMusicRhythmDataScRsp" => Some(Self::CmdMusicRhythmDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hmkbfkikakn {
    Efhdnmnhopn = 0,
    Kfpkdekpppo = 1,
}
impl Hmkbfkikakn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Efhdnmnhopn => "HMKBFKIKAKN_EFHDNMNHOPN",
            Self::Kfpkdekpppo => "HMKBFKIKAKN_KFPKDEKPPPO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HMKBFKIKAKN_EFHDNMNHOPN" => Some(Self::Efhdnmnhopn),
            "HMKBFKIKAKN_KFPKDEKPPPO" => Some(Self::Kfpkdekpppo),
            _ => None,
        }
    }
}
/// Obf: EGDGFFFKFHO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdNewYearBoatType {
    EgdgfffkfhoGkjbaodjmjg = 0,
    CmdGetNewYearBoatActivityDataScRsp = 9454,
    CmdSelectNewYearBoatCsReq = 9456,
    CmdSelectNewYearBoatScRsp = 9451,
    CmdTakeNewYearBoatRewardCsReq = 9462,
    CmdGetNewYearBoatActivityDataCsReq = 9460,
    CmdTakeNewYearBoatRewardScRsp = 9461,
}
impl CmdNewYearBoatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EgdgfffkfhoGkjbaodjmjg => "EGDGFFFKFHO_GKJBAODJMJG",
            Self::CmdGetNewYearBoatActivityDataScRsp => {
                "CmdGetNewYearBoatActivityDataScRsp"
            }
            Self::CmdSelectNewYearBoatCsReq => "CmdSelectNewYearBoatCsReq",
            Self::CmdSelectNewYearBoatScRsp => "CmdSelectNewYearBoatScRsp",
            Self::CmdTakeNewYearBoatRewardCsReq => "CmdTakeNewYearBoatRewardCsReq",
            Self::CmdGetNewYearBoatActivityDataCsReq => {
                "CmdGetNewYearBoatActivityDataCsReq"
            }
            Self::CmdTakeNewYearBoatRewardScRsp => "CmdTakeNewYearBoatRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EGDGFFFKFHO_GKJBAODJMJG" => Some(Self::EgdgfffkfhoGkjbaodjmjg),
            "CmdGetNewYearBoatActivityDataScRsp" => {
                Some(Self::CmdGetNewYearBoatActivityDataScRsp)
            }
            "CmdSelectNewYearBoatCsReq" => Some(Self::CmdSelectNewYearBoatCsReq),
            "CmdSelectNewYearBoatScRsp" => Some(Self::CmdSelectNewYearBoatScRsp),
            "CmdTakeNewYearBoatRewardCsReq" => Some(Self::CmdTakeNewYearBoatRewardCsReq),
            "CmdGetNewYearBoatActivityDataCsReq" => {
                Some(Self::CmdGetNewYearBoatActivityDataCsReq)
            }
            "CmdTakeNewYearBoatRewardScRsp" => Some(Self::CmdTakeNewYearBoatRewardScRsp),
            _ => None,
        }
    }
}
/// Obf: NDIEHAMIKOL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdOfferingType {
    NdiehamikolGkjbaodjmjg = 0,
    CmdSubmitOfferingItemCsReq = 6926,
    CmdTakeOfferingRewardCsReq = 6932,
    CmdGetOfferingInfoCsReq = 6930,
    CmdTakeOfferingRewardScRsp = 6931,
    CmdGetOfferingInfoScRsp = 6924,
    CmdOfferingInfoScNotify = 6940,
    CmdSubmitOfferingItemScRsp = 6921,
}
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 {
            Self::NdiehamikolGkjbaodjmjg => "NDIEHAMIKOL_GKJBAODJMJG",
            Self::CmdSubmitOfferingItemCsReq => "CmdSubmitOfferingItemCsReq",
            Self::CmdTakeOfferingRewardCsReq => "CmdTakeOfferingRewardCsReq",
            Self::CmdGetOfferingInfoCsReq => "CmdGetOfferingInfoCsReq",
            Self::CmdTakeOfferingRewardScRsp => "CmdTakeOfferingRewardScRsp",
            Self::CmdGetOfferingInfoScRsp => "CmdGetOfferingInfoScRsp",
            Self::CmdOfferingInfoScNotify => "CmdOfferingInfoScNotify",
            Self::CmdSubmitOfferingItemScRsp => "CmdSubmitOfferingItemScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NDIEHAMIKOL_GKJBAODJMJG" => Some(Self::NdiehamikolGkjbaodjmjg),
            "CmdSubmitOfferingItemCsReq" => Some(Self::CmdSubmitOfferingItemCsReq),
            "CmdTakeOfferingRewardCsReq" => Some(Self::CmdTakeOfferingRewardCsReq),
            "CmdGetOfferingInfoCsReq" => Some(Self::CmdGetOfferingInfoCsReq),
            "CmdTakeOfferingRewardScRsp" => Some(Self::CmdTakeOfferingRewardScRsp),
            "CmdGetOfferingInfoScRsp" => Some(Self::CmdGetOfferingInfoScRsp),
            "CmdOfferingInfoScNotify" => Some(Self::CmdOfferingInfoScNotify),
            "CmdSubmitOfferingItemScRsp" => Some(Self::CmdSubmitOfferingItemScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum OfferingState {
    None = 0,
    Lock = 1,
    Open = 2,
}
impl OfferingState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "OFFERING_STATE_NONE",
            Self::Lock => "OFFERING_STATE_LOCK",
            Self::Open => "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::None),
            "OFFERING_STATE_LOCK" => Some(Self::Lock),
            "OFFERING_STATE_OPEN" => Some(Self::Open),
            _ => None,
        }
    }
}
/// Obf: HPGMBEFDJAE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamMissionType {
    HpgmbefdjaeGkjbaodjmjg = 0,
    CmdBacejidcknl = 4028,
    CmdSyncAcceptedPamMissionNotify = 4055,
    CmdAcceptedPamMissionExpireCsReq = 4057,
}
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 {
            Self::HpgmbefdjaeGkjbaodjmjg => "HPGMBEFDJAE_GKJBAODJMJG",
            Self::CmdBacejidcknl => "CmdBACEJIDCKNL",
            Self::CmdSyncAcceptedPamMissionNotify => "CmdSyncAcceptedPamMissionNotify",
            Self::CmdAcceptedPamMissionExpireCsReq => "CmdAcceptedPamMissionExpireCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HPGMBEFDJAE_GKJBAODJMJG" => Some(Self::HpgmbefdjaeGkjbaodjmjg),
            "CmdBACEJIDCKNL" => Some(Self::CmdBacejidcknl),
            "CmdSyncAcceptedPamMissionNotify" => {
                Some(Self::CmdSyncAcceptedPamMissionNotify)
            }
            "CmdAcceptedPamMissionExpireCsReq" => {
                Some(Self::CmdAcceptedPamMissionExpireCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: DMLDDNGOHLB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamSkinType {
    DmlddngohlbGkjbaodjmjg = 0,
    CmdUnlockPamSkinScNotify = 8132,
    CmdSelectPamSkinScRsp = 8121,
    CmdGetPamSkinDataScRsp = 8124,
    CmdSelectPamSkinCsReq = 8126,
    CmdGetPamSkinDataCsReq = 8130,
}
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 {
            Self::DmlddngohlbGkjbaodjmjg => "DMLDDNGOHLB_GKJBAODJMJG",
            Self::CmdUnlockPamSkinScNotify => "CmdUnlockPamSkinScNotify",
            Self::CmdSelectPamSkinScRsp => "CmdSelectPamSkinScRsp",
            Self::CmdGetPamSkinDataScRsp => "CmdGetPamSkinDataScRsp",
            Self::CmdSelectPamSkinCsReq => "CmdSelectPamSkinCsReq",
            Self::CmdGetPamSkinDataCsReq => "CmdGetPamSkinDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DMLDDNGOHLB_GKJBAODJMJG" => Some(Self::DmlddngohlbGkjbaodjmjg),
            "CmdUnlockPamSkinScNotify" => Some(Self::CmdUnlockPamSkinScNotify),
            "CmdSelectPamSkinScRsp" => Some(Self::CmdSelectPamSkinScRsp),
            "CmdGetPamSkinDataScRsp" => Some(Self::CmdGetPamSkinDataScRsp),
            "CmdSelectPamSkinCsReq" => Some(Self::CmdSelectPamSkinCsReq),
            "CmdGetPamSkinDataCsReq" => Some(Self::CmdGetPamSkinDataCsReq),
            _ => None,
        }
    }
}
/// Obf: HENDHDGALPH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdParkourType {
    HendhdgalphGkjbaodjmjg = 0,
    CmdParkourGetRankingInfoScRsp = 8381,
    CmdParkourGetDataScRsp = 8384,
    CmdParkourGetDataCsReq = 8390,
    CmdParkourEndLevelScRsp = 8395,
    CmdParkourStartLevelScRsp = 8391,
    CmdParkourEndLevelCsReq = 8400,
    CmdParkourStartLevelCsReq = 8392,
    CmdParkourGetRankingInfoCsReq = 8386,
}
impl CmdParkourType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HendhdgalphGkjbaodjmjg => "HENDHDGALPH_GKJBAODJMJG",
            Self::CmdParkourGetRankingInfoScRsp => "CmdParkourGetRankingInfoScRsp",
            Self::CmdParkourGetDataScRsp => "CmdParkourGetDataScRsp",
            Self::CmdParkourGetDataCsReq => "CmdParkourGetDataCsReq",
            Self::CmdParkourEndLevelScRsp => "CmdParkourEndLevelScRsp",
            Self::CmdParkourStartLevelScRsp => "CmdParkourStartLevelScRsp",
            Self::CmdParkourEndLevelCsReq => "CmdParkourEndLevelCsReq",
            Self::CmdParkourStartLevelCsReq => "CmdParkourStartLevelCsReq",
            Self::CmdParkourGetRankingInfoCsReq => "CmdParkourGetRankingInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HENDHDGALPH_GKJBAODJMJG" => Some(Self::HendhdgalphGkjbaodjmjg),
            "CmdParkourGetRankingInfoScRsp" => Some(Self::CmdParkourGetRankingInfoScRsp),
            "CmdParkourGetDataScRsp" => Some(Self::CmdParkourGetDataScRsp),
            "CmdParkourGetDataCsReq" => Some(Self::CmdParkourGetDataCsReq),
            "CmdParkourEndLevelScRsp" => Some(Self::CmdParkourEndLevelScRsp),
            "CmdParkourStartLevelScRsp" => Some(Self::CmdParkourStartLevelScRsp),
            "CmdParkourEndLevelCsReq" => Some(Self::CmdParkourEndLevelCsReq),
            "CmdParkourStartLevelCsReq" => Some(Self::CmdParkourStartLevelCsReq),
            "CmdParkourGetRankingInfoCsReq" => Some(Self::CmdParkourGetRankingInfoCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgddnaenmdd {
    Gkjbaodjmjg = 0,
    Jojfjhdlleh = 1,
    Inekmalklmg = 2,
}
impl Mgddnaenmdd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "MGDDNAENMDD_GKJBAODJMJG",
            Self::Jojfjhdlleh => "MGDDNAENMDD_JOJFJHDLLEH",
            Self::Inekmalklmg => "MGDDNAENMDD_INEKMALKLMG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MGDDNAENMDD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "MGDDNAENMDD_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            "MGDDNAENMDD_INEKMALKLMG" => Some(Self::Inekmalklmg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kbpndlgegde {
    Jcdddpanglh = 0,
    Npcanaopdae = 1,
    Calocfoddag = 2,
}
impl Kbpndlgegde {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jcdddpanglh => "KBPNDLGEGDE_JCDDDPANGLH",
            Self::Npcanaopdae => "KBPNDLGEGDE_NPCANAOPDAE",
            Self::Calocfoddag => "KBPNDLGEGDE_CALOCFODDAG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KBPNDLGEGDE_JCDDDPANGLH" => Some(Self::Jcdddpanglh),
            "KBPNDLGEGDE_NPCANAOPDAE" => Some(Self::Npcanaopdae),
            "KBPNDLGEGDE_CALOCFODDAG" => Some(Self::Calocfoddag),
            _ => None,
        }
    }
}
/// Obf: NBMGLFJDLBO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPetType {
    NbmglfjdlboGkjbaodjmjg = 0,
    CmdKihokpmbjhh = 7619,
    CmdGetPetDataCsReq = 7601,
    CmdRecallPetCsReq = 7609,
    CmdSummonPetCsReq = 7613,
    CmdGetPetDataScRsp = 7610,
    CmdSummonPetScRsp = 7611,
    CmdRecallPetScRsp = 7622,
}
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 {
            Self::NbmglfjdlboGkjbaodjmjg => "NBMGLFJDLBO_GKJBAODJMJG",
            Self::CmdKihokpmbjhh => "CmdKIHOKPMBJHH",
            Self::CmdGetPetDataCsReq => "CmdGetPetDataCsReq",
            Self::CmdRecallPetCsReq => "CmdRecallPetCsReq",
            Self::CmdSummonPetCsReq => "CmdSummonPetCsReq",
            Self::CmdGetPetDataScRsp => "CmdGetPetDataScRsp",
            Self::CmdSummonPetScRsp => "CmdSummonPetScRsp",
            Self::CmdRecallPetScRsp => "CmdRecallPetScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NBMGLFJDLBO_GKJBAODJMJG" => Some(Self::NbmglfjdlboGkjbaodjmjg),
            "CmdKIHOKPMBJHH" => Some(Self::CmdKihokpmbjhh),
            "CmdGetPetDataCsReq" => Some(Self::CmdGetPetDataCsReq),
            "CmdRecallPetCsReq" => Some(Self::CmdRecallPetCsReq),
            "CmdSummonPetCsReq" => Some(Self::CmdSummonPetCsReq),
            "CmdGetPetDataScRsp" => Some(Self::CmdGetPetDataScRsp),
            "CmdSummonPetScRsp" => Some(Self::CmdSummonPetScRsp),
            "CmdRecallPetScRsp" => Some(Self::CmdRecallPetScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fhhbhlegmjm {
    Gkjbaodjmjg = 0,
    Mjngobpkkoi = 1,
    Ebijccfhkog = 2,
}
impl Fhhbhlegmjm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FHHBHLEGMJM_GKJBAODJMJG",
            Self::Mjngobpkkoi => "FHHBHLEGMJM_MJNGOBPKKOI",
            Self::Ebijccfhkog => "FHHBHLEGMJM_EBIJCCFHKOG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FHHBHLEGMJM_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FHHBHLEGMJM_MJNGOBPKKOI" => Some(Self::Mjngobpkkoi),
            "FHHBHLEGMJM_EBIJCCFHKOG" => Some(Self::Ebijccfhkog),
            _ => None,
        }
    }
}
/// Obf: GLDIOHCEBHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPhoneType {
    GldiohcebhgGkjbaodjmjg = 0,
    CmdGetPhoneDataScRsp = 5128,
    CmdSelectChatBubbleScRsp = 5175,
    CmdSelectPhoneCaseCsReq = 5126,
    CmdSelectChatBubbleCsReq = 5155,
    CmdSelectPhoneCaseScRsp = 5105,
    CmdGetPhoneDataCsReq = 5157,
    CmdSelectPhoneThemeCsReq = 5162,
    CmdUnlockPhoneCaseScNotify = 5137,
    CmdUnlockPhoneThemeScNotify = 5120,
    CmdUnlockChatBubbleScNotify = 5138,
    CmdSelectPhoneThemeScRsp = 5147,
}
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 {
            Self::GldiohcebhgGkjbaodjmjg => "GLDIOHCEBHG_GKJBAODJMJG",
            Self::CmdGetPhoneDataScRsp => "CmdGetPhoneDataScRsp",
            Self::CmdSelectChatBubbleScRsp => "CmdSelectChatBubbleScRsp",
            Self::CmdSelectPhoneCaseCsReq => "CmdSelectPhoneCaseCSReq",
            Self::CmdSelectChatBubbleCsReq => "CmdSelectChatBubbleCsReq",
            Self::CmdSelectPhoneCaseScRsp => "CmdSelectPhoneCaseScRsp",
            Self::CmdGetPhoneDataCsReq => "CmdGetPhoneDataCsReq",
            Self::CmdSelectPhoneThemeCsReq => "CmdSelectPhoneThemeCsReq",
            Self::CmdUnlockPhoneCaseScNotify => "CmdUnlockPhoneCaseScNotify",
            Self::CmdUnlockPhoneThemeScNotify => "CmdUnlockPhoneThemeScNotify",
            Self::CmdUnlockChatBubbleScNotify => "CmdUnlockChatBubbleScNotify",
            Self::CmdSelectPhoneThemeScRsp => "CmdSelectPhoneThemeScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GLDIOHCEBHG_GKJBAODJMJG" => Some(Self::GldiohcebhgGkjbaodjmjg),
            "CmdGetPhoneDataScRsp" => Some(Self::CmdGetPhoneDataScRsp),
            "CmdSelectChatBubbleScRsp" => Some(Self::CmdSelectChatBubbleScRsp),
            "CmdSelectPhoneCaseCSReq" => Some(Self::CmdSelectPhoneCaseCsReq),
            "CmdSelectChatBubbleCsReq" => Some(Self::CmdSelectChatBubbleCsReq),
            "CmdSelectPhoneCaseScRsp" => Some(Self::CmdSelectPhoneCaseScRsp),
            "CmdGetPhoneDataCsReq" => Some(Self::CmdGetPhoneDataCsReq),
            "CmdSelectPhoneThemeCsReq" => Some(Self::CmdSelectPhoneThemeCsReq),
            "CmdUnlockPhoneCaseScNotify" => Some(Self::CmdUnlockPhoneCaseScNotify),
            "CmdUnlockPhoneThemeScNotify" => Some(Self::CmdUnlockPhoneThemeScNotify),
            "CmdUnlockChatBubbleScNotify" => Some(Self::CmdUnlockChatBubbleScNotify),
            "CmdSelectPhoneThemeScRsp" => Some(Self::CmdSelectPhoneThemeScRsp),
            _ => None,
        }
    }
}
/// Obf: ANPGIDLOIDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesType {
    AnpgidloidbGkjbaodjmjg = 0,
    CmdPlanetFesGetBusinessDayInfoScRsp = 8221,
    CmdPlanetFesCollectIncomeCsReq = 8207,
    CmdPlanetFesSkillLevelUpScRsp = 8236,
    CmdGetPlanetFesDataCsReq = 8250,
    CmdPlanetFesCollectAllIncomeCsReq = 8203,
    CmdPlanetFesGetFriendRankingInfoListCsReq = 8234,
    CmdPlanetFesUpgradeSkillLevelCsReq = 8223,
    CmdJeconcnchnf = 8239,
    CmdPlanetFesClientStatusCsReq = 8206,
    CmdPlanetFesTakeRegionPhaseRewardScRsp = 8215,
    CmdPlanetFesBonusEventInteractScRsp = 8232,
    CmdPlanetFesDoGachaScRsp = 8222,
    CmdPlanetFesBingoGameFlipCardCsReq = 8209,
    CmdPlanetFesBonusEventInteractCsReq = 8218,
    CmdPlanetFesDealAvatarEventOptionItemCsReq = 8248,
    CmdGetPlanetFesDataScRsp = 8249,
    CmdPlanetFesAvatarLevelUpScRsp = 8201,
    CmdPlanetFesChooseAvatarEventOptionCsReq = 8246,
    CmdGjppkgpfcjf = 8231,
    CmdPlanetFesGetAvatarStatCsReq = 8227,
    CmdPlanetFesBuyLandCsReq = 8235,
    CmdPlanetFesGetBusinessDayInfoCsReq = 8211,
    CmdPlanetFesGetFriendRankingInfoListScRsp = 8230,
    CmdPlanetFesDealAvatarEventOptionItemScRsp = 8226,
    CmdPcbcipafihp = 8210,
    CmdPlanetFesBusinessDayRefreshEventCsReq = 8240,
    CmdPlanetFesGetAvatarStatScRsp = 8204,
    CmdPlanetFesTakeQuestRewardScRsp = 8238,
    CmdFffkdckdocg = 8208,
    CmdPlanetFesSyncChangeScNotify = 8224,
    CmdPlanetFesTakeRegionPhaseRewardCsReq = 8241,
    CmdPlanetFesStartMiniGameScRsp = 8213,
    CmdPlanetFesStartMiniGameCsReq = 8205,
    CmdPlanetFesTakeQuestRewardCsReq = 8220,
    CmdGkdmcimipdf = 8243,
    CmdPlanetFesAvatarLevelUpCsReq = 8219,
    CmdPlanetFesDoGachaCsReq = 8229,
    CmdPlanetFesSetCustomKeyValueScRsp = 8216,
    CmdPlanetFesFriendRankingInfoChangeScNotify = 8212,
    CmdPlanetFesUseItemScRsp = 8244,
    CmdPlanetFesSetCustomKeyValueCsReq = 8214,
    CmdPlanetFesGameBingoFlipScRsp = 8225,
    CmdPlanetFesDeliverPamCargoCsReq = 8228,
    CmdPlanetFesChooseAvatarEventOptionScRsp = 8245,
    CmdPlanetFesSetAvatarWorkCsReq = 8233,
    CmdPlanetFesUpgradeFesLevelCsReq = 8242,
    CmdPlanetFesBusinessDayRefreshEventScRsp = 8237,
    CmdDellmhilkik = 8247,
    CmdPlanetFesDeliverPamCargoScRsp = 8202,
    CmdPlanetFesUseItemCsReq = 8217,
}
impl CmdPlanetFesType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AnpgidloidbGkjbaodjmjg => "ANPGIDLOIDB_GKJBAODJMJG",
            Self::CmdPlanetFesGetBusinessDayInfoScRsp => {
                "CmdPlanetFesGetBusinessDayInfoScRsp"
            }
            Self::CmdPlanetFesCollectIncomeCsReq => "CmdPlanetFesCollectIncomeCsReq",
            Self::CmdPlanetFesSkillLevelUpScRsp => "CmdPlanetFesSkillLevelUpScRsp",
            Self::CmdGetPlanetFesDataCsReq => "CmdGetPlanetFesDataCsReq",
            Self::CmdPlanetFesCollectAllIncomeCsReq => {
                "CmdPlanetFesCollectAllIncomeCsReq"
            }
            Self::CmdPlanetFesGetFriendRankingInfoListCsReq => {
                "CmdPlanetFesGetFriendRankingInfoListCsReq"
            }
            Self::CmdPlanetFesUpgradeSkillLevelCsReq => {
                "CmdPlanetFesUpgradeSkillLevelCsReq"
            }
            Self::CmdJeconcnchnf => "CmdJECONCNCHNF",
            Self::CmdPlanetFesClientStatusCsReq => "CmdPlanetFesClientStatusCsReq",
            Self::CmdPlanetFesTakeRegionPhaseRewardScRsp => {
                "CmdPlanetFesTakeRegionPhaseRewardScRsp"
            }
            Self::CmdPlanetFesBonusEventInteractScRsp => {
                "CmdPlanetFesBonusEventInteractScRsp"
            }
            Self::CmdPlanetFesDoGachaScRsp => "CmdPlanetFesDoGachaScRsp",
            Self::CmdPlanetFesBingoGameFlipCardCsReq => {
                "CmdPlanetFesBingoGameFlipCardCsReq"
            }
            Self::CmdPlanetFesBonusEventInteractCsReq => {
                "CmdPlanetFesBonusEventInteractCsReq"
            }
            Self::CmdPlanetFesDealAvatarEventOptionItemCsReq => {
                "CmdPlanetFesDealAvatarEventOptionItemCsReq"
            }
            Self::CmdGetPlanetFesDataScRsp => "CmdGetPlanetFesDataScRsp",
            Self::CmdPlanetFesAvatarLevelUpScRsp => "CmdPlanetFesAvatarLevelUpScRsp",
            Self::CmdPlanetFesChooseAvatarEventOptionCsReq => {
                "CmdPlanetFesChooseAvatarEventOptionCsReq"
            }
            Self::CmdGjppkgpfcjf => "CmdGJPPKGPFCJF",
            Self::CmdPlanetFesGetAvatarStatCsReq => "CmdPlanetFesGetAvatarStatCsReq",
            Self::CmdPlanetFesBuyLandCsReq => "CmdPlanetFesBuyLandCsReq",
            Self::CmdPlanetFesGetBusinessDayInfoCsReq => {
                "CmdPlanetFesGetBusinessDayInfoCsReq"
            }
            Self::CmdPlanetFesGetFriendRankingInfoListScRsp => {
                "CmdPlanetFesGetFriendRankingInfoListScRsp"
            }
            Self::CmdPlanetFesDealAvatarEventOptionItemScRsp => {
                "CmdPlanetFesDealAvatarEventOptionItemScRsp"
            }
            Self::CmdPcbcipafihp => "CmdPCBCIPAFIHP",
            Self::CmdPlanetFesBusinessDayRefreshEventCsReq => {
                "CmdPlanetFesBusinessDayRefreshEventCsReq"
            }
            Self::CmdPlanetFesGetAvatarStatScRsp => "CmdPlanetFesGetAvatarStatScRsp",
            Self::CmdPlanetFesTakeQuestRewardScRsp => "CmdPlanetFesTakeQuestRewardScRsp",
            Self::CmdFffkdckdocg => "CmdFFFKDCKDOCG",
            Self::CmdPlanetFesSyncChangeScNotify => "CmdPlanetFesSyncChangeScNotify",
            Self::CmdPlanetFesTakeRegionPhaseRewardCsReq => {
                "CmdPlanetFesTakeRegionPhaseRewardCsReq"
            }
            Self::CmdPlanetFesStartMiniGameScRsp => "CmdPlanetFesStartMiniGameScRsp",
            Self::CmdPlanetFesStartMiniGameCsReq => "CmdPlanetFesStartMiniGameCsReq",
            Self::CmdPlanetFesTakeQuestRewardCsReq => "CmdPlanetFesTakeQuestRewardCsReq",
            Self::CmdGkdmcimipdf => "CmdGKDMCIMIPDF",
            Self::CmdPlanetFesAvatarLevelUpCsReq => "CmdPlanetFesAvatarLevelUpCsReq",
            Self::CmdPlanetFesDoGachaCsReq => "CmdPlanetFesDoGachaCsReq",
            Self::CmdPlanetFesSetCustomKeyValueScRsp => {
                "CmdPlanetFesSetCustomKeyValueScRsp"
            }
            Self::CmdPlanetFesFriendRankingInfoChangeScNotify => {
                "CmdPlanetFesFriendRankingInfoChangeScNotify"
            }
            Self::CmdPlanetFesUseItemScRsp => "CmdPlanetFesUseItemScRsp",
            Self::CmdPlanetFesSetCustomKeyValueCsReq => {
                "CmdPlanetFesSetCustomKeyValueCsReq"
            }
            Self::CmdPlanetFesGameBingoFlipScRsp => "CmdPlanetFesGameBingoFlipScRsp",
            Self::CmdPlanetFesDeliverPamCargoCsReq => "CmdPlanetFesDeliverPamCargoCsReq",
            Self::CmdPlanetFesChooseAvatarEventOptionScRsp => {
                "CmdPlanetFesChooseAvatarEventOptionScRsp"
            }
            Self::CmdPlanetFesSetAvatarWorkCsReq => "CmdPlanetFesSetAvatarWorkCsReq",
            Self::CmdPlanetFesUpgradeFesLevelCsReq => "CmdPlanetFesUpgradeFesLevelCsReq",
            Self::CmdPlanetFesBusinessDayRefreshEventScRsp => {
                "CmdPlanetFesBusinessDayRefreshEventScRsp"
            }
            Self::CmdDellmhilkik => "CmdDELLMHILKIK",
            Self::CmdPlanetFesDeliverPamCargoScRsp => "CmdPlanetFesDeliverPamCargoScRsp",
            Self::CmdPlanetFesUseItemCsReq => "CmdPlanetFesUseItemCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ANPGIDLOIDB_GKJBAODJMJG" => Some(Self::AnpgidloidbGkjbaodjmjg),
            "CmdPlanetFesGetBusinessDayInfoScRsp" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoScRsp)
            }
            "CmdPlanetFesCollectIncomeCsReq" => {
                Some(Self::CmdPlanetFesCollectIncomeCsReq)
            }
            "CmdPlanetFesSkillLevelUpScRsp" => Some(Self::CmdPlanetFesSkillLevelUpScRsp),
            "CmdGetPlanetFesDataCsReq" => Some(Self::CmdGetPlanetFesDataCsReq),
            "CmdPlanetFesCollectAllIncomeCsReq" => {
                Some(Self::CmdPlanetFesCollectAllIncomeCsReq)
            }
            "CmdPlanetFesGetFriendRankingInfoListCsReq" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListCsReq)
            }
            "CmdPlanetFesUpgradeSkillLevelCsReq" => {
                Some(Self::CmdPlanetFesUpgradeSkillLevelCsReq)
            }
            "CmdJECONCNCHNF" => Some(Self::CmdJeconcnchnf),
            "CmdPlanetFesClientStatusCsReq" => Some(Self::CmdPlanetFesClientStatusCsReq),
            "CmdPlanetFesTakeRegionPhaseRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardScRsp)
            }
            "CmdPlanetFesBonusEventInteractScRsp" => {
                Some(Self::CmdPlanetFesBonusEventInteractScRsp)
            }
            "CmdPlanetFesDoGachaScRsp" => Some(Self::CmdPlanetFesDoGachaScRsp),
            "CmdPlanetFesBingoGameFlipCardCsReq" => {
                Some(Self::CmdPlanetFesBingoGameFlipCardCsReq)
            }
            "CmdPlanetFesBonusEventInteractCsReq" => {
                Some(Self::CmdPlanetFesBonusEventInteractCsReq)
            }
            "CmdPlanetFesDealAvatarEventOptionItemCsReq" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemCsReq)
            }
            "CmdGetPlanetFesDataScRsp" => Some(Self::CmdGetPlanetFesDataScRsp),
            "CmdPlanetFesAvatarLevelUpScRsp" => {
                Some(Self::CmdPlanetFesAvatarLevelUpScRsp)
            }
            "CmdPlanetFesChooseAvatarEventOptionCsReq" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionCsReq)
            }
            "CmdGJPPKGPFCJF" => Some(Self::CmdGjppkgpfcjf),
            "CmdPlanetFesGetAvatarStatCsReq" => {
                Some(Self::CmdPlanetFesGetAvatarStatCsReq)
            }
            "CmdPlanetFesBuyLandCsReq" => Some(Self::CmdPlanetFesBuyLandCsReq),
            "CmdPlanetFesGetBusinessDayInfoCsReq" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoCsReq)
            }
            "CmdPlanetFesGetFriendRankingInfoListScRsp" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListScRsp)
            }
            "CmdPlanetFesDealAvatarEventOptionItemScRsp" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemScRsp)
            }
            "CmdPCBCIPAFIHP" => Some(Self::CmdPcbcipafihp),
            "CmdPlanetFesBusinessDayRefreshEventCsReq" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventCsReq)
            }
            "CmdPlanetFesGetAvatarStatScRsp" => {
                Some(Self::CmdPlanetFesGetAvatarStatScRsp)
            }
            "CmdPlanetFesTakeQuestRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeQuestRewardScRsp)
            }
            "CmdFFFKDCKDOCG" => Some(Self::CmdFffkdckdocg),
            "CmdPlanetFesSyncChangeScNotify" => {
                Some(Self::CmdPlanetFesSyncChangeScNotify)
            }
            "CmdPlanetFesTakeRegionPhaseRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardCsReq)
            }
            "CmdPlanetFesStartMiniGameScRsp" => {
                Some(Self::CmdPlanetFesStartMiniGameScRsp)
            }
            "CmdPlanetFesStartMiniGameCsReq" => {
                Some(Self::CmdPlanetFesStartMiniGameCsReq)
            }
            "CmdPlanetFesTakeQuestRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeQuestRewardCsReq)
            }
            "CmdGKDMCIMIPDF" => Some(Self::CmdGkdmcimipdf),
            "CmdPlanetFesAvatarLevelUpCsReq" => {
                Some(Self::CmdPlanetFesAvatarLevelUpCsReq)
            }
            "CmdPlanetFesDoGachaCsReq" => Some(Self::CmdPlanetFesDoGachaCsReq),
            "CmdPlanetFesSetCustomKeyValueScRsp" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueScRsp)
            }
            "CmdPlanetFesFriendRankingInfoChangeScNotify" => {
                Some(Self::CmdPlanetFesFriendRankingInfoChangeScNotify)
            }
            "CmdPlanetFesUseItemScRsp" => Some(Self::CmdPlanetFesUseItemScRsp),
            "CmdPlanetFesSetCustomKeyValueCsReq" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueCsReq)
            }
            "CmdPlanetFesGameBingoFlipScRsp" => {
                Some(Self::CmdPlanetFesGameBingoFlipScRsp)
            }
            "CmdPlanetFesDeliverPamCargoCsReq" => {
                Some(Self::CmdPlanetFesDeliverPamCargoCsReq)
            }
            "CmdPlanetFesChooseAvatarEventOptionScRsp" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionScRsp)
            }
            "CmdPlanetFesSetAvatarWorkCsReq" => {
                Some(Self::CmdPlanetFesSetAvatarWorkCsReq)
            }
            "CmdPlanetFesUpgradeFesLevelCsReq" => {
                Some(Self::CmdPlanetFesUpgradeFesLevelCsReq)
            }
            "CmdPlanetFesBusinessDayRefreshEventScRsp" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventScRsp)
            }
            "CmdDELLMHILKIK" => Some(Self::CmdDellmhilkik),
            "CmdPlanetFesDeliverPamCargoScRsp" => {
                Some(Self::CmdPlanetFesDeliverPamCargoScRsp)
            }
            "CmdPlanetFesUseItemCsReq" => Some(Self::CmdPlanetFesUseItemCsReq),
            _ => None,
        }
    }
}
/// Obf: GDODMOGPPMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesQuestState {
    GdodmogppmmFnegbbejimk = 0,
    GdodmogppmmIaddniklbpc = 1,
    GdodmogppmmCmgeglpilpe = 2,
    GdodmogppmmNkompcdpffo = 3,
}
impl PlanetFesQuestState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GdodmogppmmFnegbbejimk => "GDODMOGPPMM_FNEGBBEJIMK",
            Self::GdodmogppmmIaddniklbpc => "GDODMOGPPMM_IADDNIKLBPC",
            Self::GdodmogppmmCmgeglpilpe => "GDODMOGPPMM_CMGEGLPILPE",
            Self::GdodmogppmmNkompcdpffo => "GDODMOGPPMM_NKOMPCDPFFO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GDODMOGPPMM_FNEGBBEJIMK" => Some(Self::GdodmogppmmFnegbbejimk),
            "GDODMOGPPMM_IADDNIKLBPC" => Some(Self::GdodmogppmmIaddniklbpc),
            "GDODMOGPPMM_CMGEGLPILPE" => Some(Self::GdodmogppmmCmgeglpilpe),
            "GDODMOGPPMM_NKOMPCDPFFO" => Some(Self::GdodmogppmmNkompcdpffo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ijghjfgednn {
    Gkjbaodjmjg = 0,
    Hlnbfphebph = 1,
    Bapopgdelgj = 2,
}
impl Ijghjfgednn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "IJGHJFGEDNN_GKJBAODJMJG",
            Self::Hlnbfphebph => "IJGHJFGEDNN_HLNBFPHEBPH",
            Self::Bapopgdelgj => "IJGHJFGEDNN_BAPOPGDELGJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IJGHJFGEDNN_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "IJGHJFGEDNN_HLNBFPHEBPH" => Some(Self::Hlnbfphebph),
            "IJGHJFGEDNN_BAPOPGDELGJ" => Some(Self::Bapopgdelgj),
            _ => None,
        }
    }
}
/// Obf: JMDBDDKOEGE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesCustomKey {
    JmdbddkoegeGkjbaodjmjg = 0,
    JmdbddkoegeGlaldaaofap = 1,
    JmdbddkoegeOegcgldfdpg = 2,
    JmdbddkoegeAjahpebjchd = 3,
    JmdbddkoegeClfaainaobo = 4,
}
impl PlanetFesCustomKey {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JmdbddkoegeGkjbaodjmjg => "JMDBDDKOEGE_GKJBAODJMJG",
            Self::JmdbddkoegeGlaldaaofap => "JMDBDDKOEGE_GLALDAAOFAP",
            Self::JmdbddkoegeOegcgldfdpg => "JMDBDDKOEGE_OEGCGLDFDPG",
            Self::JmdbddkoegeAjahpebjchd => "JMDBDDKOEGE_AJAHPEBJCHD",
            Self::JmdbddkoegeClfaainaobo => "JMDBDDKOEGE_CLFAAINAOBO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JMDBDDKOEGE_GKJBAODJMJG" => Some(Self::JmdbddkoegeGkjbaodjmjg),
            "JMDBDDKOEGE_GLALDAAOFAP" => Some(Self::JmdbddkoegeGlaldaaofap),
            "JMDBDDKOEGE_OEGCGLDFDPG" => Some(Self::JmdbddkoegeOegcgldfdpg),
            "JMDBDDKOEGE_AJAHPEBJCHD" => Some(Self::JmdbddkoegeAjahpebjchd),
            "JMDBDDKOEGE_CLFAAINAOBO" => Some(Self::JmdbddkoegeClfaainaobo),
            _ => None,
        }
    }
}
/// Obf: HANCMJNBBPG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesExtType {
    HancmjnbbpgGkjbaodjmjg = 0,
    CmdPlanetFesGetExtraCardPieceInfoCsReq = 8340,
    CmdPlanetFesGetOfferedCardPieceCsReq = 8333,
    CmdPlanetFesEnterNextBusinessDayCsReq = 8291,
    CmdPlanetFesChangeCardPieceApplyPermissionScRsp = 8323,
    CmdKkfdcdcgkjf = 8310,
    CmdPlanetFesLargeBonusInteractCsReq = 8312,
    CmdPlanetFesGetOfferedCardPieceScRsp = 8293,
    CmdPlanetFesChangeCardPieceApplyPermissionCsReq = 8329,
    CmdPlanetFesHandleCardPieceApplyCsReq = 8298,
    CmdPlanetFesGetFriendCardPieceScRsp = 8297,
    CmdPlanetFesHandleCardPieceApplyScRsp = 8296,
    CmdPlanetFesApplyCardPieceScRsp = 8325,
    CmdPlanetFesApplyCardPieceCsReq = 8337,
    CmdPlanetFesGiveCardPieceCsReq = 8321,
    CmdPlanetFesLargeBonusInteractScRsp = 8309,
    CmdPlanetFesGetExtraCardPieceInfoScRsp = 8339,
    CmdPlanetFesGiveCardPieceScRsp = 8319,
    CmdPlanetFesGetFriendCardPieceCsReq = 8314,
}
impl CmdPlanetFesExtType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HancmjnbbpgGkjbaodjmjg => "HANCMJNBBPG_GKJBAODJMJG",
            Self::CmdPlanetFesGetExtraCardPieceInfoCsReq => {
                "CmdPlanetFesGetExtraCardPieceInfoCsReq"
            }
            Self::CmdPlanetFesGetOfferedCardPieceCsReq => {
                "CmdPlanetFesGetOfferedCardPieceCsReq"
            }
            Self::CmdPlanetFesEnterNextBusinessDayCsReq => {
                "CmdPlanetFesEnterNextBusinessDayCsReq"
            }
            Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp => {
                "CmdPlanetFesChangeCardPieceApplyPermissionScRsp"
            }
            Self::CmdKkfdcdcgkjf => "CmdKKFDCDCGKJF",
            Self::CmdPlanetFesLargeBonusInteractCsReq => {
                "CmdPlanetFesLargeBonusInteractCsReq"
            }
            Self::CmdPlanetFesGetOfferedCardPieceScRsp => {
                "CmdPlanetFesGetOfferedCardPieceScRsp"
            }
            Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq => {
                "CmdPlanetFesChangeCardPieceApplyPermissionCsReq"
            }
            Self::CmdPlanetFesHandleCardPieceApplyCsReq => {
                "CmdPlanetFesHandleCardPieceApplyCsReq"
            }
            Self::CmdPlanetFesGetFriendCardPieceScRsp => {
                "CmdPlanetFesGetFriendCardPieceScRsp"
            }
            Self::CmdPlanetFesHandleCardPieceApplyScRsp => {
                "CmdPlanetFesHandleCardPieceApplyScRsp"
            }
            Self::CmdPlanetFesApplyCardPieceScRsp => "CmdPlanetFesApplyCardPieceScRsp",
            Self::CmdPlanetFesApplyCardPieceCsReq => "CmdPlanetFesApplyCardPieceCsReq",
            Self::CmdPlanetFesGiveCardPieceCsReq => "CmdPlanetFesGiveCardPieceCsReq",
            Self::CmdPlanetFesLargeBonusInteractScRsp => {
                "CmdPlanetFesLargeBonusInteractScRsp"
            }
            Self::CmdPlanetFesGetExtraCardPieceInfoScRsp => {
                "CmdPlanetFesGetExtraCardPieceInfoScRsp"
            }
            Self::CmdPlanetFesGiveCardPieceScRsp => "CmdPlanetFesGiveCardPieceScRsp",
            Self::CmdPlanetFesGetFriendCardPieceCsReq => {
                "CmdPlanetFesGetFriendCardPieceCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HANCMJNBBPG_GKJBAODJMJG" => Some(Self::HancmjnbbpgGkjbaodjmjg),
            "CmdPlanetFesGetExtraCardPieceInfoCsReq" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoCsReq)
            }
            "CmdPlanetFesGetOfferedCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceCsReq)
            }
            "CmdPlanetFesEnterNextBusinessDayCsReq" => {
                Some(Self::CmdPlanetFesEnterNextBusinessDayCsReq)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionScRsp" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp)
            }
            "CmdKKFDCDCGKJF" => Some(Self::CmdKkfdcdcgkjf),
            "CmdPlanetFesLargeBonusInteractCsReq" => {
                Some(Self::CmdPlanetFesLargeBonusInteractCsReq)
            }
            "CmdPlanetFesGetOfferedCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceScRsp)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionCsReq" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq)
            }
            "CmdPlanetFesHandleCardPieceApplyCsReq" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyCsReq)
            }
            "CmdPlanetFesGetFriendCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceScRsp)
            }
            "CmdPlanetFesHandleCardPieceApplyScRsp" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyScRsp)
            }
            "CmdPlanetFesApplyCardPieceScRsp" => {
                Some(Self::CmdPlanetFesApplyCardPieceScRsp)
            }
            "CmdPlanetFesApplyCardPieceCsReq" => {
                Some(Self::CmdPlanetFesApplyCardPieceCsReq)
            }
            "CmdPlanetFesGiveCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGiveCardPieceCsReq)
            }
            "CmdPlanetFesLargeBonusInteractScRsp" => {
                Some(Self::CmdPlanetFesLargeBonusInteractScRsp)
            }
            "CmdPlanetFesGetExtraCardPieceInfoScRsp" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoScRsp)
            }
            "CmdPlanetFesGiveCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGiveCardPieceScRsp)
            }
            "CmdPlanetFesGetFriendCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mlldlooiaek {
    Bfidncfmkff = 0,
    Ibiciikpnnn = 1,
    Amjjggaejbo = 2,
}
impl Mlldlooiaek {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Bfidncfmkff => "MLLDLOOIAEK_BFIDNCFMKFF",
            Self::Ibiciikpnnn => "MLLDLOOIAEK_IBICIIKPNNN",
            Self::Amjjggaejbo => "MLLDLOOIAEK_AMJJGGAEJBO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MLLDLOOIAEK_BFIDNCFMKFF" => Some(Self::Bfidncfmkff),
            "MLLDLOOIAEK_IBICIIKPNNN" => Some(Self::Ibiciikpnnn),
            "MLLDLOOIAEK_AMJJGGAEJBO" => Some(Self::Amjjggaejbo),
            _ => None,
        }
    }
}
/// Obf: IKBHPCHDHCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerType {
    IkbhpchdhcaGkjbaodjmjg = 0,
    CmdJbehbhflola = 20,
    CmdStaminaInfoScNotify = 44,
    CmdEnterStageCsReq = 5,
    CmdSetGenderCsReq = 82,
    CmdFeatureSwitchClosedScNotify = 22,
    CmdQueryProductInfoCsReq = 70,
    CmdPlayerGetTokenCsReq = 38,
    CmdSetPlayerInfoCsReq = 51,
    CmdServerAnnounceNotify = 85,
    CmdAkkhgkcbgam = 41,
    CmdSetGameplayBirthdayCsReq = 92,
    CmdClientObjUploadScRsp = 61,
    CmdMonthCardRewardNotify = 6,
    CmdSetGenderScRsp = 88,
    CmdPlayerSqueezedScNotify = 26,
    CmdClientObjDownloadDataScNotify = 40,
    CmdGetAuthkeyCsReq = 83,
    IkbhpchdhcaKmbaefklfcc = 67,
    CmdSetPlayerInfoScRsp = 56,
    CmdBlhboblkckl = 98,
    CmdForceSyncGameStateFinishCsReq = 23,
    CmdGetLevelRewardTakenListScRsp = 80,
    CmdSetLanguageReq = 86,
    CmdSetNicknameScRsp = 76,
    CmdMjphnmepfae = 37,
    CmdMgmmplhoanh = 48,
    CmdGetBasicInfoCsReq = 21,
    CmdLedpiibnhmb = 84,
    CmdCbnonkdhmim = 39,
    CmdGetBasicInfoScRsp = 30,
    CmdIfjaaggcglk = 81,
    CmdGetSecretKeyInfoScRsp = 43,
    CmdExchangeStaminaCsReq = 79,
    CmdLightConeRarity4AutoLockReq = 71,
    CmdJbcgioepnka = 59,
    CmdLmoccmhingc = 91,
    CmdClientObjUploadCsReq = 100,
    CmdUpdateFeatureSwitchScNotify = 32,
    CmdDailyRefreshNotify = 18,
    CmdAnibmgnneoj = 9,
    IkbhpchdhcaIilkfknobae = 75,
    CmdPlayerHeartBeatCsReq = 97,
    CmdAntiAddictScNotify = 93,
    CmdSetNicknameCsReq = 89,
    CmdUpdatePlayerSettingScRsp = 46,
    CmdGetSecretKeyInfoCsReq = 68,
    CmdPlayerGetTokenScRsp = 62,
    CmdQueryProductInfoScRsp = 1,
    CmdFleaaeminkk = 27,
    CmdGetAuthkeyScRsp = 95,
    CmdSetRedPointStatusScNotify = 3,
    CmdGetLevelRewardTakenListCsReq = 96,
    CmdPlayerLoginFinishCsReq = 58,
    CmdExchangeStaminaScRsp = 45,
    CmdPlayerLogoutCsReq = 55,
    CmdSetGameplayBirthdayScRsp = 2,
    CmdReserveStaminaExchangeCsReq = 73,
    CmdGetVideoVersionKeyScRsp = 24,
    CmdBfgmplilgpo = 15,
    CmdGetLevelRewardReq = 77,
    CmdPlayerLoginCsReq = 57,
    CmdPlayerLoginFinishScRsp = 74,
    CmdGetVideoVersionKeyCsReq = 87,
    CmdPlayerLoginScRsp = 28,
    CmdGetLevelRewardScRcp = 14,
    CmdPkcjleminkl = 34,
    CmdUpdatePlayWithPsnOnlySettingCsReq = 53,
    CmdReserveStaminaExchangeScRsp = 90,
    IkbhpchdhcaLokgpoajkjk = 31,
}
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 {
            Self::IkbhpchdhcaGkjbaodjmjg => "IKBHPCHDHCA_GKJBAODJMJG",
            Self::CmdJbehbhflola => "CmdJBEHBHFLOLA",
            Self::CmdStaminaInfoScNotify => "CmdStaminaInfoScNotify",
            Self::CmdEnterStageCsReq => "CmdEnterStageCsReq",
            Self::CmdSetGenderCsReq => "CmdSetGenderCsReq",
            Self::CmdFeatureSwitchClosedScNotify => "CmdFeatureSwitchClosedScNotify",
            Self::CmdQueryProductInfoCsReq => "CmdQueryProductInfoCsReq",
            Self::CmdPlayerGetTokenCsReq => "CmdPlayerGetTokenCsReq",
            Self::CmdSetPlayerInfoCsReq => "CmdSetPlayerInfoCsReq",
            Self::CmdServerAnnounceNotify => "CmdServerAnnounceNotify",
            Self::CmdAkkhgkcbgam => "CmdAKKHGKCBGAM",
            Self::CmdSetGameplayBirthdayCsReq => "CmdSetGameplayBirthdayCsReq",
            Self::CmdClientObjUploadScRsp => "CmdClientObjUploadScRsp",
            Self::CmdMonthCardRewardNotify => "CmdMonthCardRewardNotify",
            Self::CmdSetGenderScRsp => "CmdSetGenderScRsp",
            Self::CmdPlayerSqueezedScNotify => "CmdPlayerSqueezedScNotify",
            Self::CmdClientObjDownloadDataScNotify => "CmdClientObjDownloadDataScNotify",
            Self::CmdGetAuthkeyCsReq => "CmdGetAuthkeyCsReq",
            Self::IkbhpchdhcaKmbaefklfcc => "IKBHPCHDHCA_KMBAEFKLFCC",
            Self::CmdSetPlayerInfoScRsp => "CmdSetPlayerInfoScRsp",
            Self::CmdBlhboblkckl => "CmdBLHBOBLKCKL",
            Self::CmdForceSyncGameStateFinishCsReq => "CmdForceSyncGameStateFinishCSReq",
            Self::CmdGetLevelRewardTakenListScRsp => "CmdGetLevelRewardTakenListScRsp",
            Self::CmdSetLanguageReq => "CmdSetLanguageReq",
            Self::CmdSetNicknameScRsp => "CmdSetNicknameScRsp",
            Self::CmdMjphnmepfae => "CmdMJPHNMEPFAE",
            Self::CmdMgmmplhoanh => "CmdMGMMPLHOANH",
            Self::CmdGetBasicInfoCsReq => "CmdGetBasicInfoCsReq",
            Self::CmdLedpiibnhmb => "CmdLEDPIIBNHMB",
            Self::CmdCbnonkdhmim => "CmdCBNONKDHMIM",
            Self::CmdGetBasicInfoScRsp => "CmdGetBasicInfoScRsp",
            Self::CmdIfjaaggcglk => "CmdIFJAAGGCGLK",
            Self::CmdGetSecretKeyInfoScRsp => "CmdGetSecretKeyInfoScRsp",
            Self::CmdExchangeStaminaCsReq => "CmdExchangeStaminaCsReq",
            Self::CmdLightConeRarity4AutoLockReq => "CmdLightConeRarity4AutoLockReq",
            Self::CmdJbcgioepnka => "CmdJBCGIOEPNKA",
            Self::CmdLmoccmhingc => "CmdLMOCCMHINGC",
            Self::CmdClientObjUploadCsReq => "CmdClientObjUploadCsReq",
            Self::CmdUpdateFeatureSwitchScNotify => "CmdUpdateFeatureSwitchScNotify",
            Self::CmdDailyRefreshNotify => "CmdDailyRefreshNotify",
            Self::CmdAnibmgnneoj => "CmdANIBMGNNEOJ",
            Self::IkbhpchdhcaIilkfknobae => "IKBHPCHDHCA_IILKFKNOBAE",
            Self::CmdPlayerHeartBeatCsReq => "CmdPlayerHeartBeatCsReq",
            Self::CmdAntiAddictScNotify => "CmdAntiAddictScNotify",
            Self::CmdSetNicknameCsReq => "CmdSetNicknameCsReq",
            Self::CmdUpdatePlayerSettingScRsp => "CmdUpdatePlayerSettingScRsp",
            Self::CmdGetSecretKeyInfoCsReq => "CmdGetSecretKeyInfoCsReq",
            Self::CmdPlayerGetTokenScRsp => "CmdPlayerGetTokenScRsp",
            Self::CmdQueryProductInfoScRsp => "CmdQueryProductInfoScRsp",
            Self::CmdFleaaeminkk => "CmdFLEAAEMINKK",
            Self::CmdGetAuthkeyScRsp => "CmdGetAuthkeyScRsp",
            Self::CmdSetRedPointStatusScNotify => "CmdSetRedPointStatusScNotify",
            Self::CmdGetLevelRewardTakenListCsReq => "CmdGetLevelRewardTakenListCsReq",
            Self::CmdPlayerLoginFinishCsReq => "CmdPlayerLoginFinishCsReq",
            Self::CmdExchangeStaminaScRsp => "CmdExchangeStaminaScRsp",
            Self::CmdPlayerLogoutCsReq => "CmdPlayerLogoutCsReq",
            Self::CmdSetGameplayBirthdayScRsp => "CmdSetGameplayBirthdayScRsp",
            Self::CmdReserveStaminaExchangeCsReq => "CmdReserveStaminaExchangeCsReq",
            Self::CmdGetVideoVersionKeyScRsp => "CmdGetVideoVersionKeyScRsp",
            Self::CmdBfgmplilgpo => "CmdBFGMPLILGPO",
            Self::CmdGetLevelRewardReq => "CmdGetLevelRewardReq",
            Self::CmdPlayerLoginCsReq => "CmdPlayerLoginCsReq",
            Self::CmdPlayerLoginFinishScRsp => "CmdPlayerLoginFinishScRsp",
            Self::CmdGetVideoVersionKeyCsReq => "CmdGetVideoVersionKeyCsReq",
            Self::CmdPlayerLoginScRsp => "CmdPlayerLoginScRsp",
            Self::CmdGetLevelRewardScRcp => "CmdGetLevelRewardScRcp",
            Self::CmdPkcjleminkl => "CmdPKCJLEMINKL",
            Self::CmdUpdatePlayWithPsnOnlySettingCsReq => {
                "CmdUpdatePlayWithPsnOnlySettingCsReq"
            }
            Self::CmdReserveStaminaExchangeScRsp => "CmdReserveStaminaExchangeScRsp",
            Self::IkbhpchdhcaLokgpoajkjk => "IKBHPCHDHCA_LOKGPOAJKJK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IKBHPCHDHCA_GKJBAODJMJG" => Some(Self::IkbhpchdhcaGkjbaodjmjg),
            "CmdJBEHBHFLOLA" => Some(Self::CmdJbehbhflola),
            "CmdStaminaInfoScNotify" => Some(Self::CmdStaminaInfoScNotify),
            "CmdEnterStageCsReq" => Some(Self::CmdEnterStageCsReq),
            "CmdSetGenderCsReq" => Some(Self::CmdSetGenderCsReq),
            "CmdFeatureSwitchClosedScNotify" => {
                Some(Self::CmdFeatureSwitchClosedScNotify)
            }
            "CmdQueryProductInfoCsReq" => Some(Self::CmdQueryProductInfoCsReq),
            "CmdPlayerGetTokenCsReq" => Some(Self::CmdPlayerGetTokenCsReq),
            "CmdSetPlayerInfoCsReq" => Some(Self::CmdSetPlayerInfoCsReq),
            "CmdServerAnnounceNotify" => Some(Self::CmdServerAnnounceNotify),
            "CmdAKKHGKCBGAM" => Some(Self::CmdAkkhgkcbgam),
            "CmdSetGameplayBirthdayCsReq" => Some(Self::CmdSetGameplayBirthdayCsReq),
            "CmdClientObjUploadScRsp" => Some(Self::CmdClientObjUploadScRsp),
            "CmdMonthCardRewardNotify" => Some(Self::CmdMonthCardRewardNotify),
            "CmdSetGenderScRsp" => Some(Self::CmdSetGenderScRsp),
            "CmdPlayerSqueezedScNotify" => Some(Self::CmdPlayerSqueezedScNotify),
            "CmdClientObjDownloadDataScNotify" => {
                Some(Self::CmdClientObjDownloadDataScNotify)
            }
            "CmdGetAuthkeyCsReq" => Some(Self::CmdGetAuthkeyCsReq),
            "IKBHPCHDHCA_KMBAEFKLFCC" => Some(Self::IkbhpchdhcaKmbaefklfcc),
            "CmdSetPlayerInfoScRsp" => Some(Self::CmdSetPlayerInfoScRsp),
            "CmdBLHBOBLKCKL" => Some(Self::CmdBlhboblkckl),
            "CmdForceSyncGameStateFinishCSReq" => {
                Some(Self::CmdForceSyncGameStateFinishCsReq)
            }
            "CmdGetLevelRewardTakenListScRsp" => {
                Some(Self::CmdGetLevelRewardTakenListScRsp)
            }
            "CmdSetLanguageReq" => Some(Self::CmdSetLanguageReq),
            "CmdSetNicknameScRsp" => Some(Self::CmdSetNicknameScRsp),
            "CmdMJPHNMEPFAE" => Some(Self::CmdMjphnmepfae),
            "CmdMGMMPLHOANH" => Some(Self::CmdMgmmplhoanh),
            "CmdGetBasicInfoCsReq" => Some(Self::CmdGetBasicInfoCsReq),
            "CmdLEDPIIBNHMB" => Some(Self::CmdLedpiibnhmb),
            "CmdCBNONKDHMIM" => Some(Self::CmdCbnonkdhmim),
            "CmdGetBasicInfoScRsp" => Some(Self::CmdGetBasicInfoScRsp),
            "CmdIFJAAGGCGLK" => Some(Self::CmdIfjaaggcglk),
            "CmdGetSecretKeyInfoScRsp" => Some(Self::CmdGetSecretKeyInfoScRsp),
            "CmdExchangeStaminaCsReq" => Some(Self::CmdExchangeStaminaCsReq),
            "CmdLightConeRarity4AutoLockReq" => {
                Some(Self::CmdLightConeRarity4AutoLockReq)
            }
            "CmdJBCGIOEPNKA" => Some(Self::CmdJbcgioepnka),
            "CmdLMOCCMHINGC" => Some(Self::CmdLmoccmhingc),
            "CmdClientObjUploadCsReq" => Some(Self::CmdClientObjUploadCsReq),
            "CmdUpdateFeatureSwitchScNotify" => {
                Some(Self::CmdUpdateFeatureSwitchScNotify)
            }
            "CmdDailyRefreshNotify" => Some(Self::CmdDailyRefreshNotify),
            "CmdANIBMGNNEOJ" => Some(Self::CmdAnibmgnneoj),
            "IKBHPCHDHCA_IILKFKNOBAE" => Some(Self::IkbhpchdhcaIilkfknobae),
            "CmdPlayerHeartBeatCsReq" => Some(Self::CmdPlayerHeartBeatCsReq),
            "CmdAntiAddictScNotify" => Some(Self::CmdAntiAddictScNotify),
            "CmdSetNicknameCsReq" => Some(Self::CmdSetNicknameCsReq),
            "CmdUpdatePlayerSettingScRsp" => Some(Self::CmdUpdatePlayerSettingScRsp),
            "CmdGetSecretKeyInfoCsReq" => Some(Self::CmdGetSecretKeyInfoCsReq),
            "CmdPlayerGetTokenScRsp" => Some(Self::CmdPlayerGetTokenScRsp),
            "CmdQueryProductInfoScRsp" => Some(Self::CmdQueryProductInfoScRsp),
            "CmdFLEAAEMINKK" => Some(Self::CmdFleaaeminkk),
            "CmdGetAuthkeyScRsp" => Some(Self::CmdGetAuthkeyScRsp),
            "CmdSetRedPointStatusScNotify" => Some(Self::CmdSetRedPointStatusScNotify),
            "CmdGetLevelRewardTakenListCsReq" => {
                Some(Self::CmdGetLevelRewardTakenListCsReq)
            }
            "CmdPlayerLoginFinishCsReq" => Some(Self::CmdPlayerLoginFinishCsReq),
            "CmdExchangeStaminaScRsp" => Some(Self::CmdExchangeStaminaScRsp),
            "CmdPlayerLogoutCsReq" => Some(Self::CmdPlayerLogoutCsReq),
            "CmdSetGameplayBirthdayScRsp" => Some(Self::CmdSetGameplayBirthdayScRsp),
            "CmdReserveStaminaExchangeCsReq" => {
                Some(Self::CmdReserveStaminaExchangeCsReq)
            }
            "CmdGetVideoVersionKeyScRsp" => Some(Self::CmdGetVideoVersionKeyScRsp),
            "CmdBFGMPLILGPO" => Some(Self::CmdBfgmplilgpo),
            "CmdGetLevelRewardReq" => Some(Self::CmdGetLevelRewardReq),
            "CmdPlayerLoginCsReq" => Some(Self::CmdPlayerLoginCsReq),
            "CmdPlayerLoginFinishScRsp" => Some(Self::CmdPlayerLoginFinishScRsp),
            "CmdGetVideoVersionKeyCsReq" => Some(Self::CmdGetVideoVersionKeyCsReq),
            "CmdPlayerLoginScRsp" => Some(Self::CmdPlayerLoginScRsp),
            "CmdGetLevelRewardScRcp" => Some(Self::CmdGetLevelRewardScRcp),
            "CmdPKCJLEMINKL" => Some(Self::CmdPkcjleminkl),
            "CmdUpdatePlayWithPsnOnlySettingCsReq" => {
                Some(Self::CmdUpdatePlayWithPsnOnlySettingCsReq)
            }
            "CmdReserveStaminaExchangeScRsp" => {
                Some(Self::CmdReserveStaminaExchangeScRsp)
            }
            "IKBHPCHDHCA_LOKGPOAJKJK" => Some(Self::IkbhpchdhcaLokgpoajkjk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kifbakaflbf {
    Gkjbaodjmjg = 0,
    Nckmfnejpmb = 1,
    Oglkclopgkl = 2,
}
impl Kifbakaflbf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "KIFBAKAFLBF_GKJBAODJMJG",
            Self::Nckmfnejpmb => "KIFBAKAFLBF_NCKMFNEJPMB",
            Self::Oglkclopgkl => "KIFBAKAFLBF_OGLKCLOPGKL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KIFBAKAFLBF_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "KIFBAKAFLBF_NCKMFNEJPMB" => Some(Self::Nckmfnejpmb),
            "KIFBAKAFLBF_OGLKCLOPGKL" => Some(Self::Oglkclopgkl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hcnfbblaikp {
    Hpbaifflajm = 0,
    Cmdbjgbimmj = 1,
}
impl Hcnfbblaikp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hpbaifflajm => "HCNFBBLAIKP_HPBAIFFLAJM",
            Self::Cmdbjgbimmj => "HCNFBBLAIKP_CMDBJGBIMMJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HCNFBBLAIKP_HPBAIFFLAJM" => Some(Self::Hpbaifflajm),
            "HCNFBBLAIKP_CMDBJGBIMMJ" => Some(Self::Cmdbjgbimmj),
            _ => None,
        }
    }
}
/// Obf: JHPFKPGECCP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerBoardType {
    JhpfkpgeccpGkjbaodjmjg = 0,
    CmdSetHeadIconCsReq = 2855,
    CmdSetPersonalCardCsReq = 2879,
    CmdSetSignatureCsReq = 2805,
    CmdSetAssistAvatarCsReq = 2869,
    CmdSetDisplayAvatarCsReq = 2838,
    CmdSetAssistAvatarScRsp = 2866,
    CmdSetSignatureScRsp = 2837,
    CmdSetIsDisplayAvatarInfoScRsp = 2820,
    CmdSetDisplayAvatarScRsp = 2862,
    CmdGetPlayerBoardDataCsReq = 2857,
    JhpfkpgeccpNonmeoiabjp = 2826,
    CmdGetPlayerBoardDataScRsp = 2828,
    CmdSetHeadIconScRsp = 2875,
    CmdSetIsDisplayAvatarInfoReq = 2847,
    CmdSetPersonalCardScRsp = 2845,
}
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 {
            Self::JhpfkpgeccpGkjbaodjmjg => "JHPFKPGECCP_GKJBAODJMJG",
            Self::CmdSetHeadIconCsReq => "CmdSetHeadIconCsReq",
            Self::CmdSetPersonalCardCsReq => "CmdSetPersonalCardCSReq",
            Self::CmdSetSignatureCsReq => "CmdSetSignatureCsReq",
            Self::CmdSetAssistAvatarCsReq => "CmdSetAssistAvatarCsReq",
            Self::CmdSetDisplayAvatarCsReq => "CmdSetDisplayAvatarCsReq",
            Self::CmdSetAssistAvatarScRsp => "CmdSetAssistAvatarScRsp",
            Self::CmdSetSignatureScRsp => "CmdSetSignatureScRsp",
            Self::CmdSetIsDisplayAvatarInfoScRsp => "CmdSetIsDisplayAvatarInfoScRsp",
            Self::CmdSetDisplayAvatarScRsp => "CmdSetDisplayAvatarScRsp",
            Self::CmdGetPlayerBoardDataCsReq => "CmdGetPlayerBoardDataCsReq",
            Self::JhpfkpgeccpNonmeoiabjp => "JHPFKPGECCP_NONMEOIABJP",
            Self::CmdGetPlayerBoardDataScRsp => "CmdGetPlayerBoardDataScRsp",
            Self::CmdSetHeadIconScRsp => "CmdSetHeadIconScRsp",
            Self::CmdSetIsDisplayAvatarInfoReq => "CmdSetIsDisplayAvatarInfoReq",
            Self::CmdSetPersonalCardScRsp => "CmdSetPersonalCardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHPFKPGECCP_GKJBAODJMJG" => Some(Self::JhpfkpgeccpGkjbaodjmjg),
            "CmdSetHeadIconCsReq" => Some(Self::CmdSetHeadIconCsReq),
            "CmdSetPersonalCardCSReq" => Some(Self::CmdSetPersonalCardCsReq),
            "CmdSetSignatureCsReq" => Some(Self::CmdSetSignatureCsReq),
            "CmdSetAssistAvatarCsReq" => Some(Self::CmdSetAssistAvatarCsReq),
            "CmdSetDisplayAvatarCsReq" => Some(Self::CmdSetDisplayAvatarCsReq),
            "CmdSetAssistAvatarScRsp" => Some(Self::CmdSetAssistAvatarScRsp),
            "CmdSetSignatureScRsp" => Some(Self::CmdSetSignatureScRsp),
            "CmdSetIsDisplayAvatarInfoScRsp" => {
                Some(Self::CmdSetIsDisplayAvatarInfoScRsp)
            }
            "CmdSetDisplayAvatarScRsp" => Some(Self::CmdSetDisplayAvatarScRsp),
            "CmdGetPlayerBoardDataCsReq" => Some(Self::CmdGetPlayerBoardDataCsReq),
            "JHPFKPGECCP_NONMEOIABJP" => Some(Self::JhpfkpgeccpNonmeoiabjp),
            "CmdGetPlayerBoardDataScRsp" => Some(Self::CmdGetPlayerBoardDataScRsp),
            "CmdSetHeadIconScRsp" => Some(Self::CmdSetHeadIconScRsp),
            "CmdSetIsDisplayAvatarInfoReq" => Some(Self::CmdSetIsDisplayAvatarInfoReq),
            "CmdSetPersonalCardScRsp" => Some(Self::CmdSetPersonalCardScRsp),
            _ => None,
        }
    }
}
/// Obf: HPEDBMNGLAC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerReturnType {
    HpedbmnglacGkjbaodjmjg = 0,
    CmdPlayerReturnInfoQueryScRsp = 4505,
    CmdPlayerReturnInfoQueryCsReq = 4526,
    CmdGgcipiccocd = 4557,
    CmdPlayerReturnTakeRelicScRsp = 4566,
    CmdPlayerReturnTakeRelicCsReq = 4569,
    CmdPlayerReturnTakeExtraHcoinScNotify = 4579,
    CmdPlayerReturnForceFinishScNotify = 4537,
    CmdPlayerReturnTakePointRewardScRsp = 4562,
    CmdPlayerReturnTakePointRewardCsReq = 4538,
    CmdPlayerReturnSignCsReq = 4528,
    CmdPlayerReturnTakeRewardCsReq = 4547,
    CmdPlayerReturnTakeRewardScRsp = 4520,
    CmdPlayerReturnSignScRsp = 4555,
    CmdPlayerReturnPointChangeScNotify = 4575,
}
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 {
            Self::HpedbmnglacGkjbaodjmjg => "HPEDBMNGLAC_GKJBAODJMJG",
            Self::CmdPlayerReturnInfoQueryScRsp => "CmdPlayerReturnInfoQueryScRsp",
            Self::CmdPlayerReturnInfoQueryCsReq => "CmdPlayerReturnInfoQueryCsReq",
            Self::CmdGgcipiccocd => "CmdGGCIPICCOCD",
            Self::CmdPlayerReturnTakeRelicScRsp => "CmdPlayerReturnTakeRelicScRsp",
            Self::CmdPlayerReturnTakeRelicCsReq => "CmdPlayerReturnTakeRelicCsReq",
            Self::CmdPlayerReturnTakeExtraHcoinScNotify => {
                "CmdPlayerReturnTakeExtraHcoinScNotify"
            }
            Self::CmdPlayerReturnForceFinishScNotify => {
                "CmdPlayerReturnForceFinishScNotify"
            }
            Self::CmdPlayerReturnTakePointRewardScRsp => {
                "CmdPlayerReturnTakePointRewardScRsp"
            }
            Self::CmdPlayerReturnTakePointRewardCsReq => {
                "CmdPlayerReturnTakePointRewardCsReq"
            }
            Self::CmdPlayerReturnSignCsReq => "CmdPlayerReturnSignCsReq",
            Self::CmdPlayerReturnTakeRewardCsReq => "CmdPlayerReturnTakeRewardCsReq",
            Self::CmdPlayerReturnTakeRewardScRsp => "CmdPlayerReturnTakeRewardScRsp",
            Self::CmdPlayerReturnSignScRsp => "CmdPlayerReturnSignScRsp",
            Self::CmdPlayerReturnPointChangeScNotify => {
                "CmdPlayerReturnPointChangeScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HPEDBMNGLAC_GKJBAODJMJG" => Some(Self::HpedbmnglacGkjbaodjmjg),
            "CmdPlayerReturnInfoQueryScRsp" => Some(Self::CmdPlayerReturnInfoQueryScRsp),
            "CmdPlayerReturnInfoQueryCsReq" => Some(Self::CmdPlayerReturnInfoQueryCsReq),
            "CmdGGCIPICCOCD" => Some(Self::CmdGgcipiccocd),
            "CmdPlayerReturnTakeRelicScRsp" => Some(Self::CmdPlayerReturnTakeRelicScRsp),
            "CmdPlayerReturnTakeRelicCsReq" => Some(Self::CmdPlayerReturnTakeRelicCsReq),
            "CmdPlayerReturnTakeExtraHcoinScNotify" => {
                Some(Self::CmdPlayerReturnTakeExtraHcoinScNotify)
            }
            "CmdPlayerReturnForceFinishScNotify" => {
                Some(Self::CmdPlayerReturnForceFinishScNotify)
            }
            "CmdPlayerReturnTakePointRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakePointRewardScRsp)
            }
            "CmdPlayerReturnTakePointRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakePointRewardCsReq)
            }
            "CmdPlayerReturnSignCsReq" => Some(Self::CmdPlayerReturnSignCsReq),
            "CmdPlayerReturnTakeRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakeRewardCsReq)
            }
            "CmdPlayerReturnTakeRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakeRewardScRsp)
            }
            "CmdPlayerReturnSignScRsp" => Some(Self::CmdPlayerReturnSignScRsp),
            "CmdPlayerReturnPointChangeScNotify" => {
                Some(Self::CmdPlayerReturnPointChangeScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dofmgiiljgo {
    Nmeliiphkhc = 0,
    Ebpnhhcafng = 1,
    Mkanhlificn = 2,
}
impl Dofmgiiljgo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nmeliiphkhc => "DOFMGIILJGO_NMELIIPHKHC",
            Self::Ebpnhhcafng => "DOFMGIILJGO_EBPNHHCAFNG",
            Self::Mkanhlificn => "DOFMGIILJGO_MKANHLIFICN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DOFMGIILJGO_NMELIIPHKHC" => Some(Self::Nmeliiphkhc),
            "DOFMGIILJGO_EBPNHHCAFNG" => Some(Self::Ebpnhhcafng),
            "DOFMGIILJGO_MKANHLIFICN" => Some(Self::Mkanhlificn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gimmipgbomd {
    Gkjbaodjmjg = 0,
    Fiiljinmnbc = 1,
    Pofggpfhebf = 2,
}
impl Gimmipgbomd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "GIMMIPGBOMD_GKJBAODJMJG",
            Self::Fiiljinmnbc => "GIMMIPGBOMD_FIILJINMNBC",
            Self::Pofggpfhebf => "GIMMIPGBOMD_POFGGPFHEBF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GIMMIPGBOMD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "GIMMIPGBOMD_FIILJINMNBC" => Some(Self::Fiiljinmnbc),
            "GIMMIPGBOMD_POFGGPFHEBF" => Some(Self::Pofggpfhebf),
            _ => None,
        }
    }
}
/// Obf: JHKNMOEEDBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlotType {
    JhknmoeedbiGkjbaodjmjg = 0,
    CmdAnpjkokeflf = 1128,
    CmdFinishPlotCsReq = 1157,
}
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 {
            Self::JhknmoeedbiGkjbaodjmjg => "JHKNMOEEDBI_GKJBAODJMJG",
            Self::CmdAnpjkokeflf => "CmdANPJKOKEFLF",
            Self::CmdFinishPlotCsReq => "CmdFinishPlotCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHKNMOEEDBI_GKJBAODJMJG" => Some(Self::JhknmoeedbiGkjbaodjmjg),
            "CmdANPJKOKEFLF" => Some(Self::CmdAnpjkokeflf),
            "CmdFinishPlotCsReq" => Some(Self::CmdFinishPlotCsReq),
            _ => None,
        }
    }
}
/// Obf: LCLOAOEHABM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPunkLordType {
    LcloaoehabmGkjbaodjmjg = 0,
    CmdStartPunkLordRaidCsReq = 3255,
    CmdGetPunkLordDataCsReq = 3283,
    CmdSummonPunkLordMonsterCsReq = 3247,
    CmdGetKilledPunkLordMonsterDataScRsp = 3214,
    CmdGetPunkLordMonsterDataScRsp = 3228,
    CmdSharePunkLordMonsterCsReq = 3238,
    CmdPunkLordRaidTimeOutScNotify = 3293,
    CmdPunkLordBattleResultScNotify = 3280,
    CmdGetKilledPunkLordMonsterDataCsReq = 3277,
    CmdSharePunkLordMonsterScRsp = 3262,
    CmdTakeKilledPunkLordMonsterScoreScRsp = 3285,
    CmdPunkLordDataChangeNotify = 3211,
    CmdSummonPunkLordMonsterScRsp = 3220,
    CmdPunkLordMonsterInfoScNotify = 3245,
    CmdTakePunkLordPointRewardScRsp = 3279,
    CmdGetPunkLordBattleRecordCsReq = 3278,
    CmdTakeKilledPunkLordMonsterScoreCsReq = 3209,
    CmdStartPunkLordRaidScRsp = 3275,
    CmdGetPunkLordBattleRecordScRsp = 3213,
    CmdGetPunkLordMonsterDataCsReq = 3257,
    CmdTakePunkLordPointRewardCsReq = 3266,
    CmdGetPunkLordDataScRsp = 3295,
    CmdPunkLordMonsterKilledNotify = 3286,
}
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 {
            Self::LcloaoehabmGkjbaodjmjg => "LCLOAOEHABM_GKJBAODJMJG",
            Self::CmdStartPunkLordRaidCsReq => "CmdStartPunkLordRaidCsReq",
            Self::CmdGetPunkLordDataCsReq => "CmdGetPunkLordDataCsReq",
            Self::CmdSummonPunkLordMonsterCsReq => "CmdSummonPunkLordMonsterCsReq",
            Self::CmdGetKilledPunkLordMonsterDataScRsp => {
                "CmdGetKilledPunkLordMonsterDataScRsp"
            }
            Self::CmdGetPunkLordMonsterDataScRsp => "CmdGetPunkLordMonsterDataScRsp",
            Self::CmdSharePunkLordMonsterCsReq => "CmdSharePunkLordMonsterCsReq",
            Self::CmdPunkLordRaidTimeOutScNotify => "CmdPunkLordRaidTimeOutScNotify",
            Self::CmdPunkLordBattleResultScNotify => "CmdPunkLordBattleResultScNotify",
            Self::CmdGetKilledPunkLordMonsterDataCsReq => {
                "CmdGetKilledPunkLordMonsterDataCsReq"
            }
            Self::CmdSharePunkLordMonsterScRsp => "CmdSharePunkLordMonsterScRsp",
            Self::CmdTakeKilledPunkLordMonsterScoreScRsp => {
                "CmdTakeKilledPunkLordMonsterScoreScRsp"
            }
            Self::CmdPunkLordDataChangeNotify => "CmdPunkLordDataChangeNotify",
            Self::CmdSummonPunkLordMonsterScRsp => "CmdSummonPunkLordMonsterScRsp",
            Self::CmdPunkLordMonsterInfoScNotify => "CmdPunkLordMonsterInfoScNotify",
            Self::CmdTakePunkLordPointRewardScRsp => "CmdTakePunkLordPointRewardScRsp",
            Self::CmdGetPunkLordBattleRecordCsReq => "CmdGetPunkLordBattleRecordCsReq",
            Self::CmdTakeKilledPunkLordMonsterScoreCsReq => {
                "CmdTakeKilledPunkLordMonsterScoreCsReq"
            }
            Self::CmdStartPunkLordRaidScRsp => "CmdStartPunkLordRaidScRsp",
            Self::CmdGetPunkLordBattleRecordScRsp => "CmdGetPunkLordBattleRecordScRsp",
            Self::CmdGetPunkLordMonsterDataCsReq => "CmdGetPunkLordMonsterDataCsReq",
            Self::CmdTakePunkLordPointRewardCsReq => "CmdTakePunkLordPointRewardCsReq",
            Self::CmdGetPunkLordDataScRsp => "CmdGetPunkLordDataScRsp",
            Self::CmdPunkLordMonsterKilledNotify => "CmdPunkLordMonsterKilledNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCLOAOEHABM_GKJBAODJMJG" => Some(Self::LcloaoehabmGkjbaodjmjg),
            "CmdStartPunkLordRaidCsReq" => Some(Self::CmdStartPunkLordRaidCsReq),
            "CmdGetPunkLordDataCsReq" => Some(Self::CmdGetPunkLordDataCsReq),
            "CmdSummonPunkLordMonsterCsReq" => Some(Self::CmdSummonPunkLordMonsterCsReq),
            "CmdGetKilledPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataScRsp)
            }
            "CmdGetPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetPunkLordMonsterDataScRsp)
            }
            "CmdSharePunkLordMonsterCsReq" => Some(Self::CmdSharePunkLordMonsterCsReq),
            "CmdPunkLordRaidTimeOutScNotify" => {
                Some(Self::CmdPunkLordRaidTimeOutScNotify)
            }
            "CmdPunkLordBattleResultScNotify" => {
                Some(Self::CmdPunkLordBattleResultScNotify)
            }
            "CmdGetKilledPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataCsReq)
            }
            "CmdSharePunkLordMonsterScRsp" => Some(Self::CmdSharePunkLordMonsterScRsp),
            "CmdTakeKilledPunkLordMonsterScoreScRsp" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreScRsp)
            }
            "CmdPunkLordDataChangeNotify" => Some(Self::CmdPunkLordDataChangeNotify),
            "CmdSummonPunkLordMonsterScRsp" => Some(Self::CmdSummonPunkLordMonsterScRsp),
            "CmdPunkLordMonsterInfoScNotify" => {
                Some(Self::CmdPunkLordMonsterInfoScNotify)
            }
            "CmdTakePunkLordPointRewardScRsp" => {
                Some(Self::CmdTakePunkLordPointRewardScRsp)
            }
            "CmdGetPunkLordBattleRecordCsReq" => {
                Some(Self::CmdGetPunkLordBattleRecordCsReq)
            }
            "CmdTakeKilledPunkLordMonsterScoreCsReq" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreCsReq)
            }
            "CmdStartPunkLordRaidScRsp" => Some(Self::CmdStartPunkLordRaidScRsp),
            "CmdGetPunkLordBattleRecordScRsp" => {
                Some(Self::CmdGetPunkLordBattleRecordScRsp)
            }
            "CmdGetPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetPunkLordMonsterDataCsReq)
            }
            "CmdTakePunkLordPointRewardCsReq" => {
                Some(Self::CmdTakePunkLordPointRewardCsReq)
            }
            "CmdGetPunkLordDataScRsp" => Some(Self::CmdGetPunkLordDataScRsp),
            "CmdPunkLordMonsterKilledNotify" => {
                Some(Self::CmdPunkLordMonsterKilledNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lkngedgkjej {
    Gkjbaodjmjg = 0,
    Bpjoacpfkjm = 1,
    Epoanobopek = 2,
    Dnebjndphah = 3,
    Lkncmfkabjc = 4,
}
impl Lkngedgkjej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "LKNGEDGKJEJ_GKJBAODJMJG",
            Self::Bpjoacpfkjm => "LKNGEDGKJEJ_BPJOACPFKJM",
            Self::Epoanobopek => "LKNGEDGKJEJ_EPOANOBOPEK",
            Self::Dnebjndphah => "LKNGEDGKJEJ_DNEBJNDPHAH",
            Self::Lkncmfkabjc => "LKNGEDGKJEJ_LKNCMFKABJC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LKNGEDGKJEJ_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "LKNGEDGKJEJ_BPJOACPFKJM" => Some(Self::Bpjoacpfkjm),
            "LKNGEDGKJEJ_EPOANOBOPEK" => Some(Self::Epoanobopek),
            "LKNGEDGKJEJ_DNEBJNDPHAH" => Some(Self::Dnebjndphah),
            "LKNGEDGKJEJ_LKNCMFKABJC" => Some(Self::Lkncmfkabjc),
            _ => None,
        }
    }
}
/// Obf: FGMGFHFGEOM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdQuestType {
    FgmgfhfgeomGkjbaodjmjg = 0,
    CmdGetQuestRecordScRsp = 920,
    CmdGetQuestDataScRsp = 928,
    CmdTakeQuestOptionalRewardCsReq = 969,
    CmdQuestRecordScNotify = 926,
    CmdTakeQuestOptionalRewardScRsp = 966,
    CmdGetQuestRecordCsReq = 947,
    CmdCmdFinishQuestCsReq = 905,
    FgmgfhfgeomFchglneaakd = 945,
    CmdTakeQuestRewardCsReq = 955,
    CmdGetQuestDataCsReq = 957,
    CmdTakeQuestRewardScRsp = 975,
    CmdFaojaamnjij = 983,
    CmdFlpohloheca = 937,
}
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 {
            Self::FgmgfhfgeomGkjbaodjmjg => "FGMGFHFGEOM_GKJBAODJMJG",
            Self::CmdGetQuestRecordScRsp => "CmdGetQuestRecordScRsp",
            Self::CmdGetQuestDataScRsp => "CmdGetQuestDataScRsp",
            Self::CmdTakeQuestOptionalRewardCsReq => "CmdTakeQuestOptionalRewardCsReq",
            Self::CmdQuestRecordScNotify => "CmdQuestRecordScNotify",
            Self::CmdTakeQuestOptionalRewardScRsp => "CmdTakeQuestOptionalRewardScRsp",
            Self::CmdGetQuestRecordCsReq => "CmdGetQuestRecordCsReq",
            Self::CmdCmdFinishQuestCsReq => "CmdCmdFinishQuestCsReq",
            Self::FgmgfhfgeomFchglneaakd => "FGMGFHFGEOM_FCHGLNEAAKD",
            Self::CmdTakeQuestRewardCsReq => "CmdTakeQuestRewardCsReq",
            Self::CmdGetQuestDataCsReq => "CmdGetQuestDataCsReq",
            Self::CmdTakeQuestRewardScRsp => "CmdTakeQuestRewardScRsp",
            Self::CmdFaojaamnjij => "CmdFAOJAAMNJIJ",
            Self::CmdFlpohloheca => "CmdFLPOHLOHECA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FGMGFHFGEOM_GKJBAODJMJG" => Some(Self::FgmgfhfgeomGkjbaodjmjg),
            "CmdGetQuestRecordScRsp" => Some(Self::CmdGetQuestRecordScRsp),
            "CmdGetQuestDataScRsp" => Some(Self::CmdGetQuestDataScRsp),
            "CmdTakeQuestOptionalRewardCsReq" => {
                Some(Self::CmdTakeQuestOptionalRewardCsReq)
            }
            "CmdQuestRecordScNotify" => Some(Self::CmdQuestRecordScNotify),
            "CmdTakeQuestOptionalRewardScRsp" => {
                Some(Self::CmdTakeQuestOptionalRewardScRsp)
            }
            "CmdGetQuestRecordCsReq" => Some(Self::CmdGetQuestRecordCsReq),
            "CmdCmdFinishQuestCsReq" => Some(Self::CmdCmdFinishQuestCsReq),
            "FGMGFHFGEOM_FCHGLNEAAKD" => Some(Self::FgmgfhfgeomFchglneaakd),
            "CmdTakeQuestRewardCsReq" => Some(Self::CmdTakeQuestRewardCsReq),
            "CmdGetQuestDataCsReq" => Some(Self::CmdGetQuestDataCsReq),
            "CmdTakeQuestRewardScRsp" => Some(Self::CmdTakeQuestRewardScRsp),
            "CmdFAOJAAMNJIJ" => Some(Self::CmdFaojaamnjij),
            "CmdFLPOHLOHECA" => Some(Self::CmdFlpohloheca),
            _ => None,
        }
    }
}
/// Obf: GDMCEBOHNDI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuestStatus {
    GdmcebohndiGpfpbmheihg = 0,
    GdmcebohndiBaeogmonnng = 1,
    GdmcebohndiNojompobcii = 2,
    GdmcebohndiAnefbilinnc = 3,
    GdmcebohndiJkfmfbijpfi = 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 {
            Self::GdmcebohndiGpfpbmheihg => "GDMCEBOHNDI_GPFPBMHEIHG",
            Self::GdmcebohndiBaeogmonnng => "GDMCEBOHNDI_BAEOGMONNNG",
            Self::GdmcebohndiNojompobcii => "GDMCEBOHNDI_NOJOMPOBCII",
            Self::GdmcebohndiAnefbilinnc => "GDMCEBOHNDI_ANEFBILINNC",
            Self::GdmcebohndiJkfmfbijpfi => "GDMCEBOHNDI_JKFMFBIJPFI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GDMCEBOHNDI_GPFPBMHEIHG" => Some(Self::GdmcebohndiGpfpbmheihg),
            "GDMCEBOHNDI_BAEOGMONNNG" => Some(Self::GdmcebohndiBaeogmonnng),
            "GDMCEBOHNDI_NOJOMPOBCII" => Some(Self::GdmcebohndiNojompobcii),
            "GDMCEBOHNDI_ANEFBILINNC" => Some(Self::GdmcebohndiAnefbilinnc),
            "GDMCEBOHNDI_JKFMFBIJPFI" => Some(Self::GdmcebohndiJkfmfbijpfi),
            _ => None,
        }
    }
}
/// Obf: EJMKCIKACMI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidType {
    EjmkcikacmiGkjbaodjmjg = 0,
    CmdDdogghonnjb = 2247,
    CmdSetClientRaidTargetCountScRsp = 2229,
    CmdGetRaidInfoScRsp = 2203,
    CmdStartRaidScRsp = 2249,
    CmdDelSaveRaidScNotify = 2238,
    CmdTakeChallengeRaidRewardScRsp = 2208,
    CmdRaidInfoNotify = 2239,
    CmdLeaveRaidScRsp = 2207,
    CmdRaidKickByServer = 2211,
    CmdTakeChallengeRaidRewardCsReq = 2235,
    CmdGetAllSaveRaidCsReq = 2201,
    CmdGetSaveRaidScRsp = 2219,
    CmdGetSaveRaidCsReq = 2222,
    CmdSetClientRaidTargetCountCsReq = 2231,
    CmdLeaveRaidCsReq = 2224,
    CmdStartRaidCsReq = 2250,
    CmdChallengeRaidNotify = 2206,
    EjmkcikacmiGkmajmbeege = 2233,
    CmdGetAllSaveRaidScRsp = 2220,
    CmdGetRaidInfoCsReq = 2243,
}
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 {
            Self::EjmkcikacmiGkjbaodjmjg => "EJMKCIKACMI_GKJBAODJMJG",
            Self::CmdDdogghonnjb => "CmdDDOGGHONNJB",
            Self::CmdSetClientRaidTargetCountScRsp => "CmdSetClientRaidTargetCountScRsp",
            Self::CmdGetRaidInfoScRsp => "CmdGetRaidInfoScRsp",
            Self::CmdStartRaidScRsp => "CmdStartRaidScRsp",
            Self::CmdDelSaveRaidScNotify => "CmdDelSaveRaidScNotify",
            Self::CmdTakeChallengeRaidRewardScRsp => "CmdTakeChallengeRaidRewardScRsp",
            Self::CmdRaidInfoNotify => "CmdRaidInfoNotify",
            Self::CmdLeaveRaidScRsp => "CmdLeaveRaidScRsp",
            Self::CmdRaidKickByServer => "CmdRaidKickByServer",
            Self::CmdTakeChallengeRaidRewardCsReq => "CmdTakeChallengeRaidRewardCsReq",
            Self::CmdGetAllSaveRaidCsReq => "CmdGetAllSaveRaidCsReq",
            Self::CmdGetSaveRaidScRsp => "CmdGetSaveRaidScRsp",
            Self::CmdGetSaveRaidCsReq => "CmdGetSaveRaidCsReq",
            Self::CmdSetClientRaidTargetCountCsReq => "CmdSetClientRaidTargetCountCsReq",
            Self::CmdLeaveRaidCsReq => "CmdLeaveRaidCsReq",
            Self::CmdStartRaidCsReq => "CmdStartRaidCsReq",
            Self::CmdChallengeRaidNotify => "CmdChallengeRaidNotify",
            Self::EjmkcikacmiGkmajmbeege => "EJMKCIKACMI_GKMAJMBEEGE",
            Self::CmdGetAllSaveRaidScRsp => "CmdGetAllSaveRaidScRsp",
            Self::CmdGetRaidInfoCsReq => "CmdGetRaidInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJMKCIKACMI_GKJBAODJMJG" => Some(Self::EjmkcikacmiGkjbaodjmjg),
            "CmdDDOGGHONNJB" => Some(Self::CmdDdogghonnjb),
            "CmdSetClientRaidTargetCountScRsp" => {
                Some(Self::CmdSetClientRaidTargetCountScRsp)
            }
            "CmdGetRaidInfoScRsp" => Some(Self::CmdGetRaidInfoScRsp),
            "CmdStartRaidScRsp" => Some(Self::CmdStartRaidScRsp),
            "CmdDelSaveRaidScNotify" => Some(Self::CmdDelSaveRaidScNotify),
            "CmdTakeChallengeRaidRewardScRsp" => {
                Some(Self::CmdTakeChallengeRaidRewardScRsp)
            }
            "CmdRaidInfoNotify" => Some(Self::CmdRaidInfoNotify),
            "CmdLeaveRaidScRsp" => Some(Self::CmdLeaveRaidScRsp),
            "CmdRaidKickByServer" => Some(Self::CmdRaidKickByServer),
            "CmdTakeChallengeRaidRewardCsReq" => {
                Some(Self::CmdTakeChallengeRaidRewardCsReq)
            }
            "CmdGetAllSaveRaidCsReq" => Some(Self::CmdGetAllSaveRaidCsReq),
            "CmdGetSaveRaidScRsp" => Some(Self::CmdGetSaveRaidScRsp),
            "CmdGetSaveRaidCsReq" => Some(Self::CmdGetSaveRaidCsReq),
            "CmdSetClientRaidTargetCountCsReq" => {
                Some(Self::CmdSetClientRaidTargetCountCsReq)
            }
            "CmdLeaveRaidCsReq" => Some(Self::CmdLeaveRaidCsReq),
            "CmdStartRaidCsReq" => Some(Self::CmdStartRaidCsReq),
            "CmdChallengeRaidNotify" => Some(Self::CmdChallengeRaidNotify),
            "EJMKCIKACMI_GKMAJMBEEGE" => Some(Self::EjmkcikacmiGkmajmbeege),
            "CmdGetAllSaveRaidScRsp" => Some(Self::CmdGetAllSaveRaidScRsp),
            "CmdGetRaidInfoCsReq" => Some(Self::CmdGetRaidInfoCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RaidStatus {
    None = 0,
    Doing = 1,
    Finish = 2,
    Failed = 3,
}
impl RaidStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "RAID_STATUS_NONE",
            Self::Doing => "RAID_STATUS_DOING",
            Self::Finish => "RAID_STATUS_FINISH",
            Self::Failed => "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::None),
            "RAID_STATUS_DOING" => Some(Self::Doing),
            "RAID_STATUS_FINISH" => Some(Self::Finish),
            "RAID_STATUS_FAILED" => Some(Self::Failed),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Belcfokbmbf {
    Gkjbaodjmjg = 0,
    Iojnikagcbe = 1,
    Jojfjhdlleh = 2,
}
impl Belcfokbmbf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "BELCFOKBMBF_GKJBAODJMJG",
            Self::Iojnikagcbe => "BELCFOKBMBF_IOJNIKAGCBE",
            Self::Jojfjhdlleh => "BELCFOKBMBF_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BELCFOKBMBF_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "BELCFOKBMBF_IOJNIKAGCBE" => Some(Self::Iojnikagcbe),
            "BELCFOKBMBF_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nmhjfgeaand {
    Gkjbaodjmjg = 0,
    Cohijfalnia = 1,
}
impl Nmhjfgeaand {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "NMHJFGEAAND_GKJBAODJMJG",
            Self::Cohijfalnia => "NMHJFGEAAND_COHIJFALNIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NMHJFGEAAND_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "NMHJFGEAAND_COHIJFALNIA" => Some(Self::Cohijfalnia),
            _ => None,
        }
    }
}
/// Obf: CPGHDABDDKH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidCollectionType {
    CpghdabddkhGkjbaodjmjg = 0,
    CmdRaidCollectionEnterNextRaidCsReq = 6941,
    CmdRaidCollectionDataScRsp = 6944,
    CmdRaidCollectionEnterNextRaidScRsp = 6952,
    CmdIjigolmjpaf = 6946,
    CmdRaidCollectionDataCsReq = 6950,
}
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 {
            Self::CpghdabddkhGkjbaodjmjg => "CPGHDABDDKH_GKJBAODJMJG",
            Self::CmdRaidCollectionEnterNextRaidCsReq => {
                "CmdRaidCollectionEnterNextRaidCsReq"
            }
            Self::CmdRaidCollectionDataScRsp => "CmdRaidCollectionDataScRsp",
            Self::CmdRaidCollectionEnterNextRaidScRsp => {
                "CmdRaidCollectionEnterNextRaidScRsp"
            }
            Self::CmdIjigolmjpaf => "CmdIJIGOLMJPAF",
            Self::CmdRaidCollectionDataCsReq => "CmdRaidCollectionDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CPGHDABDDKH_GKJBAODJMJG" => Some(Self::CpghdabddkhGkjbaodjmjg),
            "CmdRaidCollectionEnterNextRaidCsReq" => {
                Some(Self::CmdRaidCollectionEnterNextRaidCsReq)
            }
            "CmdRaidCollectionDataScRsp" => Some(Self::CmdRaidCollectionDataScRsp),
            "CmdRaidCollectionEnterNextRaidScRsp" => {
                Some(Self::CmdRaidCollectionEnterNextRaidScRsp)
            }
            "CmdIJIGOLMJPAF" => Some(Self::CmdIjigolmjpaf),
            "CmdRaidCollectionDataCsReq" => Some(Self::CmdRaidCollectionDataCsReq),
            _ => None,
        }
    }
}
/// Obf: DEJKLPPPCFL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRechargeGiftType {
    DejklpppcflGkjbaodjmjg = 0,
    CmdSyncRechargeBenefitInfoScNotify = 8380,
    CmdTakeRechargeGiftRewardScRsp = 8361,
    CmdGetRechargeGiftInfoCsReq = 8370,
    CmdTakeRechargeBenefitRewardCsReq = 8375,
    CmdGetRechargeBenefitInfoScRsp = 8371,
    CmdGetRechargeBenefitInfoCsReq = 8372,
    CmdTakeRechargeBenefitRewardScRsp = 8376,
    CmdTakeRechargeGiftRewardCsReq = 8366,
    CmdGetRechargeGiftInfoScRsp = 8364,
}
impl CmdRechargeGiftType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DejklpppcflGkjbaodjmjg => "DEJKLPPPCFL_GKJBAODJMJG",
            Self::CmdSyncRechargeBenefitInfoScNotify => {
                "CmdSyncRechargeBenefitInfoScNotify"
            }
            Self::CmdTakeRechargeGiftRewardScRsp => "CmdTakeRechargeGiftRewardScRsp",
            Self::CmdGetRechargeGiftInfoCsReq => "CmdGetRechargeGiftInfoCsReq",
            Self::CmdTakeRechargeBenefitRewardCsReq => {
                "CmdTakeRechargeBenefitRewardCsReq"
            }
            Self::CmdGetRechargeBenefitInfoScRsp => "CmdGetRechargeBenefitInfoScRsp",
            Self::CmdGetRechargeBenefitInfoCsReq => "CmdGetRechargeBenefitInfoCsReq",
            Self::CmdTakeRechargeBenefitRewardScRsp => {
                "CmdTakeRechargeBenefitRewardScRsp"
            }
            Self::CmdTakeRechargeGiftRewardCsReq => "CmdTakeRechargeGiftRewardCsReq",
            Self::CmdGetRechargeGiftInfoScRsp => "CmdGetRechargeGiftInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DEJKLPPPCFL_GKJBAODJMJG" => Some(Self::DejklpppcflGkjbaodjmjg),
            "CmdSyncRechargeBenefitInfoScNotify" => {
                Some(Self::CmdSyncRechargeBenefitInfoScNotify)
            }
            "CmdTakeRechargeGiftRewardScRsp" => {
                Some(Self::CmdTakeRechargeGiftRewardScRsp)
            }
            "CmdGetRechargeGiftInfoCsReq" => Some(Self::CmdGetRechargeGiftInfoCsReq),
            "CmdTakeRechargeBenefitRewardCsReq" => {
                Some(Self::CmdTakeRechargeBenefitRewardCsReq)
            }
            "CmdGetRechargeBenefitInfoScRsp" => {
                Some(Self::CmdGetRechargeBenefitInfoScRsp)
            }
            "CmdGetRechargeBenefitInfoCsReq" => {
                Some(Self::CmdGetRechargeBenefitInfoCsReq)
            }
            "CmdTakeRechargeBenefitRewardScRsp" => {
                Some(Self::CmdTakeRechargeBenefitRewardScRsp)
            }
            "CmdTakeRechargeGiftRewardCsReq" => {
                Some(Self::CmdTakeRechargeGiftRewardCsReq)
            }
            "CmdGetRechargeGiftInfoScRsp" => Some(Self::CmdGetRechargeGiftInfoScRsp),
            _ => None,
        }
    }
}
/// Obf: OPIIOFPDBNC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRecommendType {
    OpiiofpdbncGkjbaodjmjg = 0,
    CmdGetBigDataAllRecommendCsReq = 2408,
    CmdGetBigDataRecommendCsReq = 2447,
    CmdGetBigDataRecommendScRsp = 2435,
    CmdGetBigDataAllRecommendScRsp = 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 {
            Self::OpiiofpdbncGkjbaodjmjg => "OPIIOFPDBNC_GKJBAODJMJG",
            Self::CmdGetBigDataAllRecommendCsReq => "CmdGetBigDataAllRecommendCsReq",
            Self::CmdGetBigDataRecommendCsReq => "CmdGetBigDataRecommendCsReq",
            Self::CmdGetBigDataRecommendScRsp => "CmdGetBigDataRecommendScRsp",
            Self::CmdGetBigDataAllRecommendScRsp => "CmdGetBigDataAllRecommendScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OPIIOFPDBNC_GKJBAODJMJG" => Some(Self::OpiiofpdbncGkjbaodjmjg),
            "CmdGetBigDataAllRecommendCsReq" => {
                Some(Self::CmdGetBigDataAllRecommendCsReq)
            }
            "CmdGetBigDataRecommendCsReq" => Some(Self::CmdGetBigDataRecommendCsReq),
            "CmdGetBigDataRecommendScRsp" => Some(Self::CmdGetBigDataRecommendScRsp),
            "CmdGetBigDataAllRecommendScRsp" => {
                Some(Self::CmdGetBigDataAllRecommendScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: PALPINFMBEO
#[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,
    RelicAvatar = 3,
    AvatarRelic = 4,
    LocalLegend = 5,
    ChallengePeakMob = 6,
    ChallengePeakBoss = 7,
    Challenge = 8,
    Hmffbiankbf = 9,
}
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 {
            Self::None => "BIG_DATA_RECOMMEND_TYPE_NONE",
            Self::Equipment => "BIG_DATA_RECOMMEND_TYPE_EQUIPMENT",
            Self::RelicSuit => "BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT",
            Self::RelicAvatar => "BIG_DATA_RECOMMEND_TYPE_RELIC_AVATAR",
            Self::AvatarRelic => "BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC",
            Self::LocalLegend => "BIG_DATA_RECOMMEND_TYPE_LOCAL_LEGEND",
            Self::ChallengePeakMob => "BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_MOB",
            Self::ChallengePeakBoss => "BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_BOSS",
            Self::Challenge => "BIG_DATA_RECOMMEND_TYPE_CHALLENGE",
            Self::Hmffbiankbf => "BIG_DATA_RECOMMEND_TYPE_HMFFBIANKBF",
        }
    }
    /// 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),
            "BIG_DATA_RECOMMEND_TYPE_RELIC_AVATAR" => Some(Self::RelicAvatar),
            "BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC" => Some(Self::AvatarRelic),
            "BIG_DATA_RECOMMEND_TYPE_LOCAL_LEGEND" => Some(Self::LocalLegend),
            "BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_MOB" => Some(Self::ChallengePeakMob),
            "BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_BOSS" => {
                Some(Self::ChallengePeakBoss)
            }
            "BIG_DATA_RECOMMEND_TYPE_CHALLENGE" => Some(Self::Challenge),
            "BIG_DATA_RECOMMEND_TYPE_HMFFBIANKBF" => Some(Self::Hmffbiankbf),
            _ => None,
        }
    }
}
/// Obf: MJFPAECGOJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRedDotType {
    MjfpaecgojjGkjbaodjmjg = 0,
    CmdKagfijnfbko = 5933,
    MjfpaecgojjIohcgmbnlfl = 5924,
    MjfpaecgojjEdlcmpalbkf = 5939,
    CmdNekfmpcbaih = 5949,
    CmdIkdpbkdjpcn = 5907,
    CmdGetAllRedDotDataCsReq = 5950,
}
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 {
            Self::MjfpaecgojjGkjbaodjmjg => "MJFPAECGOJJ_GKJBAODJMJG",
            Self::CmdKagfijnfbko => "CmdKAGFIJNFBKO",
            Self::MjfpaecgojjIohcgmbnlfl => "MJFPAECGOJJ_IOHCGMBNLFL",
            Self::MjfpaecgojjEdlcmpalbkf => "MJFPAECGOJJ_EDLCMPALBKF",
            Self::CmdNekfmpcbaih => "CmdNEKFMPCBAIH",
            Self::CmdIkdpbkdjpcn => "CmdIKDPBKDJPCN",
            Self::CmdGetAllRedDotDataCsReq => "CmdGetAllRedDotDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJFPAECGOJJ_GKJBAODJMJG" => Some(Self::MjfpaecgojjGkjbaodjmjg),
            "CmdKAGFIJNFBKO" => Some(Self::CmdKagfijnfbko),
            "MJFPAECGOJJ_IOHCGMBNLFL" => Some(Self::MjfpaecgojjIohcgmbnlfl),
            "MJFPAECGOJJ_EDLCMPALBKF" => Some(Self::MjfpaecgojjEdlcmpalbkf),
            "CmdNEKFMPCBAIH" => Some(Self::CmdNekfmpcbaih),
            "CmdIKDPBKDJPCN" => Some(Self::CmdIkdpbkdjpcn),
            "CmdGetAllRedDotDataCsReq" => Some(Self::CmdGetAllRedDotDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ldagijcdigf {
    Keohnafgled = 0,
    Bpooamalfji = 1,
    Ddjjjdfbnko = 2,
}
impl Ldagijcdigf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Keohnafgled => "LDAGIJCDIGF_KEOHNAFGLED",
            Self::Bpooamalfji => "LDAGIJCDIGF_BPOOAMALFJI",
            Self::Ddjjjdfbnko => "LDAGIJCDIGF_DDJJJDFBNKO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDAGIJCDIGF_KEOHNAFGLED" => Some(Self::Keohnafgled),
            "LDAGIJCDIGF_BPOOAMALFJI" => Some(Self::Bpooamalfji),
            "LDAGIJCDIGF_DDJJJDFBNKO" => Some(Self::Ddjjjdfbnko),
            _ => None,
        }
    }
}
/// Obf: ODLMBOILBGB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicBoxType {
    OdlmboilbgbGkjbaodjmjg = 0,
    CmdGetRelicBoxDataCsReq = 8960,
    CmdSetRelicBoxCustomScRsp = 8951,
    CmdSetRelicBoxCustomCsReq = 8956,
    CmdSetRelicBoxTargetScRsp = 8961,
    CmdConfirmRelicBoxCsReq = 8963,
    CmdGetRelicBoxDataScRsp = 8954,
    CmdConfirmRelicBoxScRsp = 8959,
    CmdReportRelicBoxActionCsReq = 8969,
    CmdOpenRelicBoxCsReq = 8966,
    CmdReportRelicBoxActionScRsp = 8953,
    CmdSetRelicBoxTargetCsReq = 8962,
    CmdOpenRelicBoxScRsp = 8968,
}
impl CmdRelicBoxType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OdlmboilbgbGkjbaodjmjg => "ODLMBOILBGB_GKJBAODJMJG",
            Self::CmdGetRelicBoxDataCsReq => "CmdGetRelicBoxDataCsReq",
            Self::CmdSetRelicBoxCustomScRsp => "CmdSetRelicBoxCustomScRsp",
            Self::CmdSetRelicBoxCustomCsReq => "CmdSetRelicBoxCustomCsReq",
            Self::CmdSetRelicBoxTargetScRsp => "CmdSetRelicBoxTargetScRsp",
            Self::CmdConfirmRelicBoxCsReq => "CmdConfirmRelicBoxCsReq",
            Self::CmdGetRelicBoxDataScRsp => "CmdGetRelicBoxDataScRsp",
            Self::CmdConfirmRelicBoxScRsp => "CmdConfirmRelicBoxScRsp",
            Self::CmdReportRelicBoxActionCsReq => "CmdReportRelicBoxActionCsReq",
            Self::CmdOpenRelicBoxCsReq => "CmdOpenRelicBoxCsReq",
            Self::CmdReportRelicBoxActionScRsp => "CmdReportRelicBoxActionScRsp",
            Self::CmdSetRelicBoxTargetCsReq => "CmdSetRelicBoxTargetCsReq",
            Self::CmdOpenRelicBoxScRsp => "CmdOpenRelicBoxScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ODLMBOILBGB_GKJBAODJMJG" => Some(Self::OdlmboilbgbGkjbaodjmjg),
            "CmdGetRelicBoxDataCsReq" => Some(Self::CmdGetRelicBoxDataCsReq),
            "CmdSetRelicBoxCustomScRsp" => Some(Self::CmdSetRelicBoxCustomScRsp),
            "CmdSetRelicBoxCustomCsReq" => Some(Self::CmdSetRelicBoxCustomCsReq),
            "CmdSetRelicBoxTargetScRsp" => Some(Self::CmdSetRelicBoxTargetScRsp),
            "CmdConfirmRelicBoxCsReq" => Some(Self::CmdConfirmRelicBoxCsReq),
            "CmdGetRelicBoxDataScRsp" => Some(Self::CmdGetRelicBoxDataScRsp),
            "CmdConfirmRelicBoxScRsp" => Some(Self::CmdConfirmRelicBoxScRsp),
            "CmdReportRelicBoxActionCsReq" => Some(Self::CmdReportRelicBoxActionCsReq),
            "CmdOpenRelicBoxCsReq" => Some(Self::CmdOpenRelicBoxCsReq),
            "CmdReportRelicBoxActionScRsp" => Some(Self::CmdReportRelicBoxActionScRsp),
            "CmdSetRelicBoxTargetCsReq" => Some(Self::CmdSetRelicBoxTargetCsReq),
            "CmdOpenRelicBoxScRsp" => Some(Self::CmdOpenRelicBoxScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdochlmiplg {
    Ohjfmjakepk = 0,
    Lmiokchnahg = 1,
    Acapgoikehf = 2,
}
impl Bdochlmiplg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ohjfmjakepk => "BDOCHLMIPLG_OHJFMJAKEPK",
            Self::Lmiokchnahg => "BDOCHLMIPLG_LMIOKCHNAHG",
            Self::Acapgoikehf => "BDOCHLMIPLG_ACAPGOIKEHF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BDOCHLMIPLG_OHJFMJAKEPK" => Some(Self::Ohjfmjakepk),
            "BDOCHLMIPLG_LMIOKCHNAHG" => Some(Self::Lmiokchnahg),
            "BDOCHLMIPLG_ACAPGOIKEHF" => Some(Self::Acapgoikehf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kemamjnkohh {
    Amikigpgeel = 0,
    Hfmicmdmppn = 1,
}
impl Kemamjnkohh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Amikigpgeel => "KEMAMJNKOHH_AMIKIGPGEEL",
            Self::Hfmicmdmppn => "KEMAMJNKOHH_HFMICMDMPPN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KEMAMJNKOHH_AMIKIGPGEEL" => Some(Self::Amikigpgeel),
            "KEMAMJNKOHH_HFMICMDMPPN" => Some(Self::Hfmicmdmppn),
            _ => None,
        }
    }
}
/// Obf: ANJADOAPAFE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicSmartWearType {
    AnjadoapafeGkjbaodjmjg = 0,
    CmdRelicSmartWearUpdatePlanCsReq = 8262,
    CmdRelicSmartWearGetPinRelicScRsp = 8259,
    CmdRelicSmartWearAddPlanCsReq = 8256,
    CmdRelicSmartWearGetPlanScRsp = 8254,
    CmdRelicSmartWearUpdatePinRelicScRsp = 8258,
    CmdRelicSmartWearUpdatePinRelicScNotify = 8267,
    CmdRelicSmartWearDeletePinRelicCsReq = 8255,
    CmdRelicSmartWearGetPinRelicCsReq = 8263,
    CmdRelicSmartWearAddPlanScRsp = 8251,
    CmdRelicSmartWearDeletePlanScRsp = 8265,
    CmdRelicSmartWearDeletePinRelicScRsp = 8264,
    CmdRelicSmartWearUpdatePlanScRsp = 8261,
    CmdRelicSmartWearDeletePlanCsReq = 8270,
    CmdRelicSmartWearGetPlanCsReq = 8260,
    CmdRelicSmartWearUpdatePinRelicCsReq = 8257,
}
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 {
            Self::AnjadoapafeGkjbaodjmjg => "ANJADOAPAFE_GKJBAODJMJG",
            Self::CmdRelicSmartWearUpdatePlanCsReq => "CmdRelicSmartWearUpdatePlanCsReq",
            Self::CmdRelicSmartWearGetPinRelicScRsp => {
                "CmdRelicSmartWearGetPinRelicScRsp"
            }
            Self::CmdRelicSmartWearAddPlanCsReq => "CmdRelicSmartWearAddPlanCsReq",
            Self::CmdRelicSmartWearGetPlanScRsp => "CmdRelicSmartWearGetPlanScRsp",
            Self::CmdRelicSmartWearUpdatePinRelicScRsp => {
                "CmdRelicSmartWearUpdatePinRelicScRsp"
            }
            Self::CmdRelicSmartWearUpdatePinRelicScNotify => {
                "CmdRelicSmartWearUpdatePinRelicScNotify"
            }
            Self::CmdRelicSmartWearDeletePinRelicCsReq => {
                "CmdRelicSmartWearDeletePinRelicCsReq"
            }
            Self::CmdRelicSmartWearGetPinRelicCsReq => {
                "CmdRelicSmartWearGetPinRelicCsReq"
            }
            Self::CmdRelicSmartWearAddPlanScRsp => "CmdRelicSmartWearAddPlanScRsp",
            Self::CmdRelicSmartWearDeletePlanScRsp => "CmdRelicSmartWearDeletePlanScRsp",
            Self::CmdRelicSmartWearDeletePinRelicScRsp => {
                "CmdRelicSmartWearDeletePinRelicScRsp"
            }
            Self::CmdRelicSmartWearUpdatePlanScRsp => "CmdRelicSmartWearUpdatePlanScRsp",
            Self::CmdRelicSmartWearDeletePlanCsReq => "CmdRelicSmartWearDeletePlanCsReq",
            Self::CmdRelicSmartWearGetPlanCsReq => "CmdRelicSmartWearGetPlanCsReq",
            Self::CmdRelicSmartWearUpdatePinRelicCsReq => {
                "CmdRelicSmartWearUpdatePinRelicCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ANJADOAPAFE_GKJBAODJMJG" => Some(Self::AnjadoapafeGkjbaodjmjg),
            "CmdRelicSmartWearUpdatePlanCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePlanCsReq)
            }
            "CmdRelicSmartWearGetPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearGetPinRelicScRsp)
            }
            "CmdRelicSmartWearAddPlanCsReq" => Some(Self::CmdRelicSmartWearAddPlanCsReq),
            "CmdRelicSmartWearGetPlanScRsp" => Some(Self::CmdRelicSmartWearGetPlanScRsp),
            "CmdRelicSmartWearUpdatePinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScRsp)
            }
            "CmdRelicSmartWearUpdatePinRelicScNotify" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScNotify)
            }
            "CmdRelicSmartWearDeletePinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePinRelicCsReq)
            }
            "CmdRelicSmartWearGetPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearGetPinRelicCsReq)
            }
            "CmdRelicSmartWearAddPlanScRsp" => Some(Self::CmdRelicSmartWearAddPlanScRsp),
            "CmdRelicSmartWearDeletePlanScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePlanScRsp)
            }
            "CmdRelicSmartWearDeletePinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePinRelicScRsp)
            }
            "CmdRelicSmartWearUpdatePlanScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePlanScRsp)
            }
            "CmdRelicSmartWearDeletePlanCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePlanCsReq)
            }
            "CmdRelicSmartWearGetPlanCsReq" => Some(Self::CmdRelicSmartWearGetPlanCsReq),
            "CmdRelicSmartWearUpdatePinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fkiigcmcdgk {
    Gkjbaodjmjg = 0,
    Gcpnebfbdac = 1,
    Gkollgjpdkh = 2,
    Hkkbcmednlb = 3,
}
impl Fkiigcmcdgk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "FKIIGCMCDGK_GKJBAODJMJG",
            Self::Gcpnebfbdac => "FKIIGCMCDGK_GCPNEBFBDAC",
            Self::Gkollgjpdkh => "FKIIGCMCDGK_GKOLLGJPDKH",
            Self::Hkkbcmednlb => "FKIIGCMCDGK_HKKBCMEDNLB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FKIIGCMCDGK_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "FKIIGCMCDGK_GCPNEBFBDAC" => Some(Self::Gcpnebfbdac),
            "FKIIGCMCDGK_GKOLLGJPDKH" => Some(Self::Gkollgjpdkh),
            "FKIIGCMCDGK_HKKBCMEDNLB" => Some(Self::Hkkbcmednlb),
            _ => None,
        }
    }
}
/// Obf: NLEILPMBMIK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdReplayType {
    NleilpmbmikGkjbaodjmjg = 0,
    NleilpmbmikCfaeoeepjma = 3555,
    CmdMcahhkdidpn = 3528,
    CmdJgdlmpkdjpg = 3575,
    CmdGetReplayTokenCsReq = 3557,
}
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 {
            Self::NleilpmbmikGkjbaodjmjg => "NLEILPMBMIK_GKJBAODJMJG",
            Self::NleilpmbmikCfaeoeepjma => "NLEILPMBMIK_CFAEOEEPJMA",
            Self::CmdMcahhkdidpn => "CmdMCAHHKDIDPN",
            Self::CmdJgdlmpkdjpg => "CmdJGDLMPKDJPG",
            Self::CmdGetReplayTokenCsReq => "CmdGetReplayTokenCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NLEILPMBMIK_GKJBAODJMJG" => Some(Self::NleilpmbmikGkjbaodjmjg),
            "NLEILPMBMIK_CFAEOEEPJMA" => Some(Self::NleilpmbmikCfaeoeepjma),
            "CmdMCAHHKDIDPN" => Some(Self::CmdMcahhkdidpn),
            "CmdJGDLMPKDJPG" => Some(Self::CmdJgdlmpkdjpg),
            "CmdGetReplayTokenCsReq" => Some(Self::CmdGetReplayTokenCsReq),
            _ => None,
        }
    }
}
/// Obf: FMACMJOKJHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRndOptionType {
    FmacmjokjhjGkjbaodjmjg = 0,
    CmdDailyFirstMeetPamCsReq = 3455,
    CmdFbdnjmbjneh = 3475,
    CmdDfjpplppejm = 3428,
    CmdGetRndOptionCsReq = 3457,
}
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 {
            Self::FmacmjokjhjGkjbaodjmjg => "FMACMJOKJHJ_GKJBAODJMJG",
            Self::CmdDailyFirstMeetPamCsReq => "CmdDailyFirstMeetPamCsReq",
            Self::CmdFbdnjmbjneh => "CmdFBDNJMBJNEH",
            Self::CmdDfjpplppejm => "CmdDFJPPLPPEJM",
            Self::CmdGetRndOptionCsReq => "CmdGetRndOptionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FMACMJOKJHJ_GKJBAODJMJG" => Some(Self::FmacmjokjhjGkjbaodjmjg),
            "CmdDailyFirstMeetPamCsReq" => Some(Self::CmdDailyFirstMeetPamCsReq),
            "CmdFBDNJMBJNEH" => Some(Self::CmdFbdnjmbjneh),
            "CmdDFJPPLPPEJM" => Some(Self::CmdDfjpplppejm),
            "CmdGetRndOptionCsReq" => Some(Self::CmdGetRndOptionCsReq),
            _ => None,
        }
    }
}
/// Obf: AIJENNCKFHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueType {
    AijennckfhnGkjbaodjmjg = 0,
    CmdReviveRogueAvatarCsReq = 1893,
    CmdFinishAeonDialogueGroupCsReq = 1833,
    CmdFinishAeonDialogueGroupScRsp = 1894,
    CmdExchangeRogueRewardKeyCsReq = 1897,
    CmdTakeRogueScoreRewardScRsp = 1896,
    CmdSyncRogueReviveInfoScNotify = 1811,
    CmdSyncRogueSeasonFinishScNotify = 1816,
    CmdLeaveRogueScRsp = 1820,
    CmdEnableRogueTalentScRsp = 1864,
    CmdEnterRogueScRsp = 1862,
    CmdEnhanceRogueBuffCsReq = 1814,
    CmdExchangeRogueRewardKeyScRsp = 1815,
    CmdQuitRogueCsReq = 1878,
    CmdDcddkdilbhp = 1846,
    CmdGetRogueAeonInfoScRsp = 1825,
    CmdTakeRogueAeonLevelRewardCsReq = 1804,
    CmdGetRogueInitialScoreCsReq = 1856,
    CmdSyncRogueExploreWinScNotify = 1842,
    CmdGetRogueInfoCsReq = 1857,
    CmdEnhanceRogueBuffScRsp = 1812,
    CmdOpenRogueChestScRsp = 1881,
    CmdSyncRogueMapRoomScNotify = 1870,
    CmdSyncRogueAreaUnlockScNotify = 1803,
    CmdGetRogueScoreRewardInfoCsReq = 1840,
    CmdEnterRogueMapRoomCsReq = 1888,
    CmdGetRogueInfoScRsp = 1828,
    CmdSyncRogueAeonScNotify = 1824,
    CmdNikakaccdbg = 1873,
    CmdGetRogueInitialScoreScRsp = 1808,
    CmdGetRogueBuffEnhanceInfoScRsp = 1877,
    CmdSyncRogueRewardInfoScNotify = 1819,
    CmdGetRogueScoreRewardInfoScRsp = 1900,
    CmdAccpikbmbbe = 1854,
    CmdPickRogueAvatarCsReq = 1883,
    CmdGetRogueTalentInfoCsReq = 1817,
    CmdStartRogueScRsp = 1875,
    CmdEnableRogueTalentCsReq = 1836,
    CmdEnterRogueCsReq = 1838,
    CmdGetRogueBuffEnhanceInfoCsReq = 1880,
    CmdSyncRogueStatusScNotify = 1884,
    CmdQuitRogueScRsp = 1813,
    CmdEnterRogueMapRoomScRsp = 1851,
    CmdSyncRogueGetItemScNotify = 1835,
    CmdSyncRogueVirtualItemInfoScNotify = 1831,
    CmdTakeRogueScoreRewardCsReq = 1876,
    CmdSyncRogueFinishScNotify = 1845,
    CmdReviveRogueAvatarScRsp = 1889,
    CmdGetRogueAeonInfoCsReq = 1810,
    CmdOpenRogueChestCsReq = 1806,
    CmdPickRogueAvatarScRsp = 1895,
    CmdLeaveRogueCsReq = 1847,
    CmdGetRogueTalentInfoScRsp = 1849,
    CmdStartRogueCsReq = 1855,
}
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 {
            Self::AijennckfhnGkjbaodjmjg => "AIJENNCKFHN_GKJBAODJMJG",
            Self::CmdReviveRogueAvatarCsReq => "CmdReviveRogueAvatarCsReq",
            Self::CmdFinishAeonDialogueGroupCsReq => "CmdFinishAeonDialogueGroupCsReq",
            Self::CmdFinishAeonDialogueGroupScRsp => "CmdFinishAeonDialogueGroupScRsp",
            Self::CmdExchangeRogueRewardKeyCsReq => "CmdExchangeRogueRewardKeyCsReq",
            Self::CmdTakeRogueScoreRewardScRsp => "CmdTakeRogueScoreRewardScRsp",
            Self::CmdSyncRogueReviveInfoScNotify => "CmdSyncRogueReviveInfoScNotify",
            Self::CmdSyncRogueSeasonFinishScNotify => "CmdSyncRogueSeasonFinishScNotify",
            Self::CmdLeaveRogueScRsp => "CmdLeaveRogueScRsp",
            Self::CmdEnableRogueTalentScRsp => "CmdEnableRogueTalentScRsp",
            Self::CmdEnterRogueScRsp => "CmdEnterRogueScRsp",
            Self::CmdEnhanceRogueBuffCsReq => "CmdEnhanceRogueBuffCsReq",
            Self::CmdExchangeRogueRewardKeyScRsp => "CmdExchangeRogueRewardKeyScRsp",
            Self::CmdQuitRogueCsReq => "CmdQuitRogueCsReq",
            Self::CmdDcddkdilbhp => "CmdDCDDKDILBHP",
            Self::CmdGetRogueAeonInfoScRsp => "CmdGetRogueAeonInfoScRsp",
            Self::CmdTakeRogueAeonLevelRewardCsReq => "CmdTakeRogueAeonLevelRewardCsReq",
            Self::CmdGetRogueInitialScoreCsReq => "CmdGetRogueInitialScoreCsReq",
            Self::CmdSyncRogueExploreWinScNotify => "CmdSyncRogueExploreWinScNotify",
            Self::CmdGetRogueInfoCsReq => "CmdGetRogueInfoCsReq",
            Self::CmdEnhanceRogueBuffScRsp => "CmdEnhanceRogueBuffScRsp",
            Self::CmdOpenRogueChestScRsp => "CmdOpenRogueChestScRsp",
            Self::CmdSyncRogueMapRoomScNotify => "CmdSyncRogueMapRoomScNotify",
            Self::CmdSyncRogueAreaUnlockScNotify => "CmdSyncRogueAreaUnlockScNotify",
            Self::CmdGetRogueScoreRewardInfoCsReq => "CmdGetRogueScoreRewardInfoCsReq",
            Self::CmdEnterRogueMapRoomCsReq => "CmdEnterRogueMapRoomCsReq",
            Self::CmdGetRogueInfoScRsp => "CmdGetRogueInfoScRsp",
            Self::CmdSyncRogueAeonScNotify => "CmdSyncRogueAeonScNotify",
            Self::CmdNikakaccdbg => "CmdNIKAKACCDBG",
            Self::CmdGetRogueInitialScoreScRsp => "CmdGetRogueInitialScoreScRsp",
            Self::CmdGetRogueBuffEnhanceInfoScRsp => "CmdGetRogueBuffEnhanceInfoScRsp",
            Self::CmdSyncRogueRewardInfoScNotify => "CmdSyncRogueRewardInfoScNotify",
            Self::CmdGetRogueScoreRewardInfoScRsp => "CmdGetRogueScoreRewardInfoScRsp",
            Self::CmdAccpikbmbbe => "CmdACCPIKBMBBE",
            Self::CmdPickRogueAvatarCsReq => "CmdPickRogueAvatarCsReq",
            Self::CmdGetRogueTalentInfoCsReq => "CmdGetRogueTalentInfoCsReq",
            Self::CmdStartRogueScRsp => "CmdStartRogueScRsp",
            Self::CmdEnableRogueTalentCsReq => "CmdEnableRogueTalentCsReq",
            Self::CmdEnterRogueCsReq => "CmdEnterRogueCsReq",
            Self::CmdGetRogueBuffEnhanceInfoCsReq => "CmdGetRogueBuffEnhanceInfoCsReq",
            Self::CmdSyncRogueStatusScNotify => "CmdSyncRogueStatusScNotify",
            Self::CmdQuitRogueScRsp => "CmdQuitRogueScRsp",
            Self::CmdEnterRogueMapRoomScRsp => "CmdEnterRogueMapRoomScRsp",
            Self::CmdSyncRogueGetItemScNotify => "CmdSyncRogueGetItemScNotify",
            Self::CmdSyncRogueVirtualItemInfoScNotify => {
                "CmdSyncRogueVirtualItemInfoScNotify"
            }
            Self::CmdTakeRogueScoreRewardCsReq => "CmdTakeRogueScoreRewardCsReq",
            Self::CmdSyncRogueFinishScNotify => "CmdSyncRogueFinishScNotify",
            Self::CmdReviveRogueAvatarScRsp => "CmdReviveRogueAvatarScRsp",
            Self::CmdGetRogueAeonInfoCsReq => "CmdGetRogueAeonInfoCsReq",
            Self::CmdOpenRogueChestCsReq => "CmdOpenRogueChestCsReq",
            Self::CmdPickRogueAvatarScRsp => "CmdPickRogueAvatarScRsp",
            Self::CmdLeaveRogueCsReq => "CmdLeaveRogueCsReq",
            Self::CmdGetRogueTalentInfoScRsp => "CmdGetRogueTalentInfoScRsp",
            Self::CmdStartRogueCsReq => "CmdStartRogueCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AIJENNCKFHN_GKJBAODJMJG" => Some(Self::AijennckfhnGkjbaodjmjg),
            "CmdReviveRogueAvatarCsReq" => Some(Self::CmdReviveRogueAvatarCsReq),
            "CmdFinishAeonDialogueGroupCsReq" => {
                Some(Self::CmdFinishAeonDialogueGroupCsReq)
            }
            "CmdFinishAeonDialogueGroupScRsp" => {
                Some(Self::CmdFinishAeonDialogueGroupScRsp)
            }
            "CmdExchangeRogueRewardKeyCsReq" => {
                Some(Self::CmdExchangeRogueRewardKeyCsReq)
            }
            "CmdTakeRogueScoreRewardScRsp" => Some(Self::CmdTakeRogueScoreRewardScRsp),
            "CmdSyncRogueReviveInfoScNotify" => {
                Some(Self::CmdSyncRogueReviveInfoScNotify)
            }
            "CmdSyncRogueSeasonFinishScNotify" => {
                Some(Self::CmdSyncRogueSeasonFinishScNotify)
            }
            "CmdLeaveRogueScRsp" => Some(Self::CmdLeaveRogueScRsp),
            "CmdEnableRogueTalentScRsp" => Some(Self::CmdEnableRogueTalentScRsp),
            "CmdEnterRogueScRsp" => Some(Self::CmdEnterRogueScRsp),
            "CmdEnhanceRogueBuffCsReq" => Some(Self::CmdEnhanceRogueBuffCsReq),
            "CmdExchangeRogueRewardKeyScRsp" => {
                Some(Self::CmdExchangeRogueRewardKeyScRsp)
            }
            "CmdQuitRogueCsReq" => Some(Self::CmdQuitRogueCsReq),
            "CmdDCDDKDILBHP" => Some(Self::CmdDcddkdilbhp),
            "CmdGetRogueAeonInfoScRsp" => Some(Self::CmdGetRogueAeonInfoScRsp),
            "CmdTakeRogueAeonLevelRewardCsReq" => {
                Some(Self::CmdTakeRogueAeonLevelRewardCsReq)
            }
            "CmdGetRogueInitialScoreCsReq" => Some(Self::CmdGetRogueInitialScoreCsReq),
            "CmdSyncRogueExploreWinScNotify" => {
                Some(Self::CmdSyncRogueExploreWinScNotify)
            }
            "CmdGetRogueInfoCsReq" => Some(Self::CmdGetRogueInfoCsReq),
            "CmdEnhanceRogueBuffScRsp" => Some(Self::CmdEnhanceRogueBuffScRsp),
            "CmdOpenRogueChestScRsp" => Some(Self::CmdOpenRogueChestScRsp),
            "CmdSyncRogueMapRoomScNotify" => Some(Self::CmdSyncRogueMapRoomScNotify),
            "CmdSyncRogueAreaUnlockScNotify" => {
                Some(Self::CmdSyncRogueAreaUnlockScNotify)
            }
            "CmdGetRogueScoreRewardInfoCsReq" => {
                Some(Self::CmdGetRogueScoreRewardInfoCsReq)
            }
            "CmdEnterRogueMapRoomCsReq" => Some(Self::CmdEnterRogueMapRoomCsReq),
            "CmdGetRogueInfoScRsp" => Some(Self::CmdGetRogueInfoScRsp),
            "CmdSyncRogueAeonScNotify" => Some(Self::CmdSyncRogueAeonScNotify),
            "CmdNIKAKACCDBG" => Some(Self::CmdNikakaccdbg),
            "CmdGetRogueInitialScoreScRsp" => Some(Self::CmdGetRogueInitialScoreScRsp),
            "CmdGetRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoScRsp)
            }
            "CmdSyncRogueRewardInfoScNotify" => {
                Some(Self::CmdSyncRogueRewardInfoScNotify)
            }
            "CmdGetRogueScoreRewardInfoScRsp" => {
                Some(Self::CmdGetRogueScoreRewardInfoScRsp)
            }
            "CmdACCPIKBMBBE" => Some(Self::CmdAccpikbmbbe),
            "CmdPickRogueAvatarCsReq" => Some(Self::CmdPickRogueAvatarCsReq),
            "CmdGetRogueTalentInfoCsReq" => Some(Self::CmdGetRogueTalentInfoCsReq),
            "CmdStartRogueScRsp" => Some(Self::CmdStartRogueScRsp),
            "CmdEnableRogueTalentCsReq" => Some(Self::CmdEnableRogueTalentCsReq),
            "CmdEnterRogueCsReq" => Some(Self::CmdEnterRogueCsReq),
            "CmdGetRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoCsReq)
            }
            "CmdSyncRogueStatusScNotify" => Some(Self::CmdSyncRogueStatusScNotify),
            "CmdQuitRogueScRsp" => Some(Self::CmdQuitRogueScRsp),
            "CmdEnterRogueMapRoomScRsp" => Some(Self::CmdEnterRogueMapRoomScRsp),
            "CmdSyncRogueGetItemScNotify" => Some(Self::CmdSyncRogueGetItemScNotify),
            "CmdSyncRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueVirtualItemInfoScNotify)
            }
            "CmdTakeRogueScoreRewardCsReq" => Some(Self::CmdTakeRogueScoreRewardCsReq),
            "CmdSyncRogueFinishScNotify" => Some(Self::CmdSyncRogueFinishScNotify),
            "CmdReviveRogueAvatarScRsp" => Some(Self::CmdReviveRogueAvatarScRsp),
            "CmdGetRogueAeonInfoCsReq" => Some(Self::CmdGetRogueAeonInfoCsReq),
            "CmdOpenRogueChestCsReq" => Some(Self::CmdOpenRogueChestCsReq),
            "CmdPickRogueAvatarScRsp" => Some(Self::CmdPickRogueAvatarScRsp),
            "CmdLeaveRogueCsReq" => Some(Self::CmdLeaveRogueCsReq),
            "CmdGetRogueTalentInfoScRsp" => Some(Self::CmdGetRogueTalentInfoScRsp),
            "CmdStartRogueCsReq" => Some(Self::CmdStartRogueCsReq),
            _ => None,
        }
    }
}
/// Obf: DIBMKLBGELL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueStatus {
    DibmklbgellGkjbaodjmjg = 0,
    DibmklbgellIojnikagcbe = 1,
    DibmklbgellCinldpijhpp = 2,
    DibmklbgellGgnfonjpjdc = 3,
    DibmklbgellJojfjhdlleh = 4,
}
impl RogueStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DibmklbgellGkjbaodjmjg => "DIBMKLBGELL_GKJBAODJMJG",
            Self::DibmklbgellIojnikagcbe => "DIBMKLBGELL_IOJNIKAGCBE",
            Self::DibmklbgellCinldpijhpp => "DIBMKLBGELL_CINLDPIJHPP",
            Self::DibmklbgellGgnfonjpjdc => "DIBMKLBGELL_GGNFONJPJDC",
            Self::DibmklbgellJojfjhdlleh => "DIBMKLBGELL_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIBMKLBGELL_GKJBAODJMJG" => Some(Self::DibmklbgellGkjbaodjmjg),
            "DIBMKLBGELL_IOJNIKAGCBE" => Some(Self::DibmklbgellIojnikagcbe),
            "DIBMKLBGELL_CINLDPIJHPP" => Some(Self::DibmklbgellCinldpijhpp),
            "DIBMKLBGELL_GGNFONJPJDC" => Some(Self::DibmklbgellGgnfonjpjdc),
            "DIBMKLBGELL_JOJFJHDLLEH" => Some(Self::DibmklbgellJojfjhdlleh),
            _ => None,
        }
    }
}
/// Obf: FIPCDOHGOBG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueRoomStatus {
    FipcdohgobgGkjbaodjmjg = 0,
    FipcdohgobgIpdfmninjhn = 1,
    FipcdohgobgOeigcgbjeol = 2,
    FipcdohgobgMloanngkfig = 3,
    FipcdohgobgJojfjhdlleh = 4,
}
impl RogueRoomStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FipcdohgobgGkjbaodjmjg => "FIPCDOHGOBG_GKJBAODJMJG",
            Self::FipcdohgobgIpdfmninjhn => "FIPCDOHGOBG_IPDFMNINJHN",
            Self::FipcdohgobgOeigcgbjeol => "FIPCDOHGOBG_OEIGCGBJEOL",
            Self::FipcdohgobgMloanngkfig => "FIPCDOHGOBG_MLOANNGKFIG",
            Self::FipcdohgobgJojfjhdlleh => "FIPCDOHGOBG_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIPCDOHGOBG_GKJBAODJMJG" => Some(Self::FipcdohgobgGkjbaodjmjg),
            "FIPCDOHGOBG_IPDFMNINJHN" => Some(Self::FipcdohgobgIpdfmninjhn),
            "FIPCDOHGOBG_OEIGCGBJEOL" => Some(Self::FipcdohgobgOeigcgbjeol),
            "FIPCDOHGOBG_MLOANNGKFIG" => Some(Self::FipcdohgobgMloanngkfig),
            "FIPCDOHGOBG_JOJFJHDLLEH" => Some(Self::FipcdohgobgJojfjhdlleh),
            _ => None,
        }
    }
}
/// Obf: JHJBCMICCIO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueAreaStatus {
    JhjbcmiccioIpdfmninjhn = 0,
    JhjbcmiccioOeigcgbjeol = 1,
    JhjbcmiccioLjibogmmpbn = 2,
    JhjbcmiccioOhjfmjakepk = 3,
}
impl RogueAreaStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JhjbcmiccioIpdfmninjhn => "JHJBCMICCIO_IPDFMNINJHN",
            Self::JhjbcmiccioOeigcgbjeol => "JHJBCMICCIO_OEIGCGBJEOL",
            Self::JhjbcmiccioLjibogmmpbn => "JHJBCMICCIO_LJIBOGMMPBN",
            Self::JhjbcmiccioOhjfmjakepk => "JHJBCMICCIO_OHJFMJAKEPK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHJBCMICCIO_IPDFMNINJHN" => Some(Self::JhjbcmiccioIpdfmninjhn),
            "JHJBCMICCIO_OEIGCGBJEOL" => Some(Self::JhjbcmiccioOeigcgbjeol),
            "JHJBCMICCIO_LJIBOGMMPBN" => Some(Self::JhjbcmiccioLjibogmmpbn),
            "JHJBCMICCIO_OHJFMJAKEPK" => Some(Self::JhjbcmiccioOhjfmjakepk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Llelgccoojf {
    Gkjbaodjmjg = 0,
    Eljmglfncan = 1,
    Nafhjonnnke = 2,
    Mkiaknjlnjd = 3,
    Ialcgidjcde = 4,
    Kigdpcalgkf = 5,
    Aakkccbfeha = 6,
    Mdcmhohpcdn = 7,
    Jemdbnlnjmi = 8,
    Agbocepahkb = 9,
}
impl Llelgccoojf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "LLELGCCOOJF_GKJBAODJMJG",
            Self::Eljmglfncan => "LLELGCCOOJF_ELJMGLFNCAN",
            Self::Nafhjonnnke => "LLELGCCOOJF_NAFHJONNNKE",
            Self::Mkiaknjlnjd => "LLELGCCOOJF_MKIAKNJLNJD",
            Self::Ialcgidjcde => "LLELGCCOOJF_IALCGIDJCDE",
            Self::Kigdpcalgkf => "LLELGCCOOJF_KIGDPCALGKF",
            Self::Aakkccbfeha => "LLELGCCOOJF_AAKKCCBFEHA",
            Self::Mdcmhohpcdn => "LLELGCCOOJF_MDCMHOHPCDN",
            Self::Jemdbnlnjmi => "LLELGCCOOJF_JEMDBNLNJMI",
            Self::Agbocepahkb => "LLELGCCOOJF_AGBOCEPAHKB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LLELGCCOOJF_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "LLELGCCOOJF_ELJMGLFNCAN" => Some(Self::Eljmglfncan),
            "LLELGCCOOJF_NAFHJONNNKE" => Some(Self::Nafhjonnnke),
            "LLELGCCOOJF_MKIAKNJLNJD" => Some(Self::Mkiaknjlnjd),
            "LLELGCCOOJF_IALCGIDJCDE" => Some(Self::Ialcgidjcde),
            "LLELGCCOOJF_KIGDPCALGKF" => Some(Self::Kigdpcalgkf),
            "LLELGCCOOJF_AAKKCCBFEHA" => Some(Self::Aakkccbfeha),
            "LLELGCCOOJF_MDCMHOHPCDN" => Some(Self::Mdcmhohpcdn),
            "LLELGCCOOJF_JEMDBNLNJMI" => Some(Self::Jemdbnlnjmi),
            "LLELGCCOOJF_AGBOCEPAHKB" => Some(Self::Agbocepahkb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Paiccpocfji {
    Gkjbaodjmjg = 0,
    Eljmglfncan = 1,
    Ialcgidjcde = 2,
    Kigdpcalgkf = 3,
    Fbgdibkhipf = 4,
    Pnejfjnggob = 5,
    Bonlpdfjheb = 6,
    Epdlfdcjpak = 7,
    Gjoihibldcl = 8,
    Mdcmhohpcdn = 9,
    Aakkccbfeha = 10,
    Jemdbnlnjmi = 11,
    Agbocepahkb = 12,
}
impl Paiccpocfji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "PAICCPOCFJI_GKJBAODJMJG",
            Self::Eljmglfncan => "PAICCPOCFJI_ELJMGLFNCAN",
            Self::Ialcgidjcde => "PAICCPOCFJI_IALCGIDJCDE",
            Self::Kigdpcalgkf => "PAICCPOCFJI_KIGDPCALGKF",
            Self::Fbgdibkhipf => "PAICCPOCFJI_FBGDIBKHIPF",
            Self::Pnejfjnggob => "PAICCPOCFJI_PNEJFJNGGOB",
            Self::Bonlpdfjheb => "PAICCPOCFJI_BONLPDFJHEB",
            Self::Epdlfdcjpak => "PAICCPOCFJI_EPDLFDCJPAK",
            Self::Gjoihibldcl => "PAICCPOCFJI_GJOIHIBLDCL",
            Self::Mdcmhohpcdn => "PAICCPOCFJI_MDCMHOHPCDN",
            Self::Aakkccbfeha => "PAICCPOCFJI_AAKKCCBFEHA",
            Self::Jemdbnlnjmi => "PAICCPOCFJI_JEMDBNLNJMI",
            Self::Agbocepahkb => "PAICCPOCFJI_AGBOCEPAHKB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAICCPOCFJI_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "PAICCPOCFJI_ELJMGLFNCAN" => Some(Self::Eljmglfncan),
            "PAICCPOCFJI_IALCGIDJCDE" => Some(Self::Ialcgidjcde),
            "PAICCPOCFJI_KIGDPCALGKF" => Some(Self::Kigdpcalgkf),
            "PAICCPOCFJI_FBGDIBKHIPF" => Some(Self::Fbgdibkhipf),
            "PAICCPOCFJI_PNEJFJNGGOB" => Some(Self::Pnejfjnggob),
            "PAICCPOCFJI_BONLPDFJHEB" => Some(Self::Bonlpdfjheb),
            "PAICCPOCFJI_EPDLFDCJPAK" => Some(Self::Epdlfdcjpak),
            "PAICCPOCFJI_GJOIHIBLDCL" => Some(Self::Gjoihibldcl),
            "PAICCPOCFJI_MDCMHOHPCDN" => Some(Self::Mdcmhohpcdn),
            "PAICCPOCFJI_AAKKCCBFEHA" => Some(Self::Aakkccbfeha),
            "PAICCPOCFJI_JEMDBNLNJMI" => Some(Self::Jemdbnlnjmi),
            "PAICCPOCFJI_AGBOCEPAHKB" => Some(Self::Agbocepahkb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eknmedpkjij {
    Eammohibhej = 0,
    Ddghidckakh = 1,
}
impl Eknmedpkjij {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Eammohibhej => "EKNMEDPKJIJ_EAMMOHIBHEJ",
            Self::Ddghidckakh => "EKNMEDPKJIJ_DDGHIDCKAKH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EKNMEDPKJIJ_EAMMOHIBHEJ" => Some(Self::Eammohibhej),
            "EKNMEDPKJIJ_DDGHIDCKAKH" => Some(Self::Ddghidckakh),
            _ => None,
        }
    }
}
/// Obf: IPJJMLEIFGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueArcadeType {
    IpjjmleifghGkjbaodjmjg = 0,
    CmdRogueArcadeGetInfoScRsp = 7685,
    CmdRogueArcadeStartCsReq = 7700,
    CmdRogueArcadeLeaveCsReq = 7674,
    CmdRogueArcadeGetInfoCsReq = 7697,
    CmdRogueArcadeRestartCsReq = 7689,
    CmdRogueArcadeRestartScRsp = 7683,
    CmdRogueArcadeStartScRsp = 7699,
    CmdRogueArcadeLeaveScRsp = 7657,
}
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 {
            Self::IpjjmleifghGkjbaodjmjg => "IPJJMLEIFGH_GKJBAODJMJG",
            Self::CmdRogueArcadeGetInfoScRsp => "CmdRogueArcadeGetInfoScRsp",
            Self::CmdRogueArcadeStartCsReq => "CmdRogueArcadeStartCsReq",
            Self::CmdRogueArcadeLeaveCsReq => "CmdRogueArcadeLeaveCsReq",
            Self::CmdRogueArcadeGetInfoCsReq => "CmdRogueArcadeGetInfoCsReq",
            Self::CmdRogueArcadeRestartCsReq => "CmdRogueArcadeRestartCsReq",
            Self::CmdRogueArcadeRestartScRsp => "CmdRogueArcadeRestartScRsp",
            Self::CmdRogueArcadeStartScRsp => "CmdRogueArcadeStartScRsp",
            Self::CmdRogueArcadeLeaveScRsp => "CmdRogueArcadeLeaveScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IPJJMLEIFGH_GKJBAODJMJG" => Some(Self::IpjjmleifghGkjbaodjmjg),
            "CmdRogueArcadeGetInfoScRsp" => Some(Self::CmdRogueArcadeGetInfoScRsp),
            "CmdRogueArcadeStartCsReq" => Some(Self::CmdRogueArcadeStartCsReq),
            "CmdRogueArcadeLeaveCsReq" => Some(Self::CmdRogueArcadeLeaveCsReq),
            "CmdRogueArcadeGetInfoCsReq" => Some(Self::CmdRogueArcadeGetInfoCsReq),
            "CmdRogueArcadeRestartCsReq" => Some(Self::CmdRogueArcadeRestartCsReq),
            "CmdRogueArcadeRestartScRsp" => Some(Self::CmdRogueArcadeRestartScRsp),
            "CmdRogueArcadeStartScRsp" => Some(Self::CmdRogueArcadeStartScRsp),
            "CmdRogueArcadeLeaveScRsp" => Some(Self::CmdRogueArcadeLeaveScRsp),
            _ => None,
        }
    }
}
/// Obf: NBHCGFNPEAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueCommon {
    NbhcgfnpeadDgachpgdgcb = 0,
    CmdSelectRogueCommonDialogueOptionScRsp = 5672,
    CmdTakeEventHandbookRewardScRsp = 5670,
    CmdCommonRogueUpdateScNotify = 5697,
    CmdRogueDoGambleCsReq = 5610,
    CmdJmcmoniafcj = 5666,
    NbhcgfnpeadDnjionpcafk = 5680,
    CmdBmeoplagmbb = 5612,
    CmdDeciglcicjm = 5645,
    CmdEindkikfcfg = 5620,
    CmdFpoamekejna = 5605,
    CmdGetRogueHandbookDataCsReq = 5652,
    CmdGetRogueShopFormulaInfoScRsp = 5664,
    CmdRogueShopBeginBattleScRsp = 5627,
    CmdUpdateRogueAdventureRoomScoreCsReq = 5632,
    CmdSetRogueCollectionCsReq = 5604,
    CmdEedfdbdkgmg = 5668,
    CmdPrepareRogueAdventureRoomCsReq = 5628,
    CmdGetRogueShopBuffInfoScRsp = 5647,
    CmdGetRogueShopMiracleInfoScRsp = 5638,
    CmdTakeRogueMiracleHandbookRewardCsReq = 5651,
    CmdGetRogueCommonDialogueDataScRsp = 5691,
    CmdKojlgkndmop = 5657,
    CmdRogueGetGambleInfoCsReq = 5663,
    CmdGetRogueHandbookDataScRsp = 5682,
    CmdSetRogueExhibitionCsReq = 5690,
    CmdGetRogueShopMiracleInfoCsReq = 5675,
    CmdRogueGetGambleInfoScRsp = 5629,
    CmdRogueDoGambleScRsp = 5625,
    CmdCommonRogueQueryCsReq = 5606,
    CmdBuyRogueShopMiracleScRsp = 5626,
    CmdRogueWorkbenchGetInfoCsReq = 5687,
    CmdBuyRogueShopBuffScRsp = 5637,
    CmdSelectRogueCommonDialogueOptionCsReq = 5622,
    CmdRogueWorkbenchHandleFuncScRsp = 5635,
    CmdEflpkoojcnc = 5621,
    CmdFinishRogueCommonDialogueCsReq = 5660,
    CmdSyncRogueCommonDialogueDataScNotify = 5643,
    CmdGetRogueShopFormulaInfoCsReq = 5636,
    CmdRogueWorkbenchGetInfoScRsp = 5624,
    NbhcgfnpeadMhlgnbgjdkm = 5696,
    CmdSyncRogueCommonPendingActionScNotify = 5641,
    NbhcgfnpeadKjcjdmejain = 5677,
    CmdCommonRogueVirtualItemInfoScNotify = 5630,
    CmdSyncRogueCommonActionResultScNotify = 5601,
    CmdRogueWorkbenchReforgeBuffReq = 5603,
    CmdSyncRogueCommonDialogueOptionFinishScNotify = 5658,
    CmdBuyRogueShopFormulaScRsp = 5659,
    CmdTakeEventHandbookRewardCsReq = 5608,
    CmdBuyRogueShopMiracleCsReq = 5667,
    CmdGetRogueAdventureRoomInfoCsReq = 5679,
    NbhcgfnpeadLabggigmckm = 5676,
    CmdGgggmbcndnk = 5655,
    CmdSetRogueCollectionScRsp = 5673,
    CmdGetRogueCommonDialogueDataCsReq = 5615,
    CmdRogueNpcDisappearCsReq = 5669,
    CmdCommonRogueQueryScRsp = 5681,
    CmdHandleRogueCommonPendingActionScRsp = 5648,
    CmdTakeRogueMiracleHandbookRewardScRsp = 5656,
    CmdSelectRogueBonusReq = 5698,
    CmdStopRogueAdventureRoomCsReq = 5614,
    CmdSyncRogueHandbookDataUpdateScNotify = 5688,
    CmdSetRogueExhibitionScRsp = 5644,
    CmdRogueShopBeginBattleCsReq = 5623,
    CmdGetRogueShopBuffInfoCsReq = 5662,
}
impl CmdRogueCommon {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NbhcgfnpeadDgachpgdgcb => "NBHCGFNPEAD_DGACHPGDGCB",
            Self::CmdSelectRogueCommonDialogueOptionScRsp => {
                "CmdSelectRogueCommonDialogueOptionScRsp"
            }
            Self::CmdTakeEventHandbookRewardScRsp => "CmdTakeEventHandbookRewardScRsp",
            Self::CmdCommonRogueUpdateScNotify => "CmdCommonRogueUpdateScNotify",
            Self::CmdRogueDoGambleCsReq => "CmdRogueDoGambleCsReq",
            Self::CmdJmcmoniafcj => "CmdJMCMONIAFCJ",
            Self::NbhcgfnpeadDnjionpcafk => "NBHCGFNPEAD_DNJIONPCAFK",
            Self::CmdBmeoplagmbb => "CmdBMEOPLAGMBB",
            Self::CmdDeciglcicjm => "CmdDECIGLCICJM",
            Self::CmdEindkikfcfg => "CmdEINDKIKFCFG",
            Self::CmdFpoamekejna => "CmdFPOAMEKEJNA",
            Self::CmdGetRogueHandbookDataCsReq => "CmdGetRogueHandbookDataCsReq",
            Self::CmdGetRogueShopFormulaInfoScRsp => "CmdGetRogueShopFormulaInfoScRsp",
            Self::CmdRogueShopBeginBattleScRsp => "CmdRogueShopBeginBattleScRsp",
            Self::CmdUpdateRogueAdventureRoomScoreCsReq => {
                "CmdUpdateRogueAdventureRoomScoreCsReq"
            }
            Self::CmdSetRogueCollectionCsReq => "CmdSetRogueCollectionCsReq",
            Self::CmdEedfdbdkgmg => "CmdEEDFDBDKGMG",
            Self::CmdPrepareRogueAdventureRoomCsReq => {
                "CmdPrepareRogueAdventureRoomCsReq"
            }
            Self::CmdGetRogueShopBuffInfoScRsp => "CmdGetRogueShopBuffInfoScRsp",
            Self::CmdGetRogueShopMiracleInfoScRsp => "CmdGetRogueShopMiracleInfoScRsp",
            Self::CmdTakeRogueMiracleHandbookRewardCsReq => {
                "CmdTakeRogueMiracleHandbookRewardCsReq"
            }
            Self::CmdGetRogueCommonDialogueDataScRsp => {
                "CmdGetRogueCommonDialogueDataScRsp"
            }
            Self::CmdKojlgkndmop => "CmdKOJLGKNDMOP",
            Self::CmdRogueGetGambleInfoCsReq => "CmdRogueGetGambleInfoCsReq",
            Self::CmdGetRogueHandbookDataScRsp => "CmdGetRogueHandbookDataScRsp",
            Self::CmdSetRogueExhibitionCsReq => "CmdSetRogueExhibitionCsReq",
            Self::CmdGetRogueShopMiracleInfoCsReq => "CmdGetRogueShopMiracleInfoCsReq",
            Self::CmdRogueGetGambleInfoScRsp => "CmdRogueGetGambleInfoScRsp",
            Self::CmdRogueDoGambleScRsp => "CmdRogueDoGambleScRsp",
            Self::CmdCommonRogueQueryCsReq => "CmdCommonRogueQueryCsReq",
            Self::CmdBuyRogueShopMiracleScRsp => "CmdBuyRogueShopMiracleScRsp",
            Self::CmdRogueWorkbenchGetInfoCsReq => "CmdRogueWorkbenchGetInfoCsReq",
            Self::CmdBuyRogueShopBuffScRsp => "CmdBuyRogueShopBuffScRsp",
            Self::CmdSelectRogueCommonDialogueOptionCsReq => {
                "CmdSelectRogueCommonDialogueOptionCsReq"
            }
            Self::CmdRogueWorkbenchHandleFuncScRsp => "CmdRogueWorkbenchHandleFuncScRsp",
            Self::CmdEflpkoojcnc => "CmdEFLPKOOJCNC",
            Self::CmdFinishRogueCommonDialogueCsReq => {
                "CmdFinishRogueCommonDialogueCsReq"
            }
            Self::CmdSyncRogueCommonDialogueDataScNotify => {
                "CmdSyncRogueCommonDialogueDataScNotify"
            }
            Self::CmdGetRogueShopFormulaInfoCsReq => "CmdGetRogueShopFormulaInfoCsReq",
            Self::CmdRogueWorkbenchGetInfoScRsp => "CmdRogueWorkbenchGetInfoScRsp",
            Self::NbhcgfnpeadMhlgnbgjdkm => "NBHCGFNPEAD_MHLGNBGJDKM",
            Self::CmdSyncRogueCommonPendingActionScNotify => {
                "CmdSyncRogueCommonPendingActionScNotify"
            }
            Self::NbhcgfnpeadKjcjdmejain => "NBHCGFNPEAD_KJCJDMEJAIN",
            Self::CmdCommonRogueVirtualItemInfoScNotify => {
                "CmdCommonRogueVirtualItemInfoScNotify"
            }
            Self::CmdSyncRogueCommonActionResultScNotify => {
                "CmdSyncRogueCommonActionResultScNotify"
            }
            Self::CmdRogueWorkbenchReforgeBuffReq => "CmdRogueWorkbenchReforgeBuffReq",
            Self::CmdSyncRogueCommonDialogueOptionFinishScNotify => {
                "CmdSyncRogueCommonDialogueOptionFinishScNotify"
            }
            Self::CmdBuyRogueShopFormulaScRsp => "CmdBuyRogueShopFormulaScRsp",
            Self::CmdTakeEventHandbookRewardCsReq => "CmdTakeEventHandbookRewardCsReq",
            Self::CmdBuyRogueShopMiracleCsReq => "CmdBuyRogueShopMiracleCsReq",
            Self::CmdGetRogueAdventureRoomInfoCsReq => {
                "CmdGetRogueAdventureRoomInfoCsReq"
            }
            Self::NbhcgfnpeadLabggigmckm => "NBHCGFNPEAD_LABGGIGMCKM",
            Self::CmdGgggmbcndnk => "CmdGGGGMBCNDNK",
            Self::CmdSetRogueCollectionScRsp => "CmdSetRogueCollectionScRsp",
            Self::CmdGetRogueCommonDialogueDataCsReq => {
                "CmdGetRogueCommonDialogueDataCsReq"
            }
            Self::CmdRogueNpcDisappearCsReq => "CmdRogueNpcDisappearCsReq",
            Self::CmdCommonRogueQueryScRsp => "CmdCommonRogueQueryScRsp",
            Self::CmdHandleRogueCommonPendingActionScRsp => {
                "CmdHandleRogueCommonPendingActionScRsp"
            }
            Self::CmdTakeRogueMiracleHandbookRewardScRsp => {
                "CmdTakeRogueMiracleHandbookRewardScRsp"
            }
            Self::CmdSelectRogueBonusReq => "CmdSelectRogueBonusReq",
            Self::CmdStopRogueAdventureRoomCsReq => "CmdStopRogueAdventureRoomCsReq",
            Self::CmdSyncRogueHandbookDataUpdateScNotify => {
                "CmdSyncRogueHandbookDataUpdateScNotify"
            }
            Self::CmdSetRogueExhibitionScRsp => "CmdSetRogueExhibitionScRsp",
            Self::CmdRogueShopBeginBattleCsReq => "CmdRogueShopBeginBattleCsReq",
            Self::CmdGetRogueShopBuffInfoCsReq => "CmdGetRogueShopBuffInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NBHCGFNPEAD_DGACHPGDGCB" => Some(Self::NbhcgfnpeadDgachpgdgcb),
            "CmdSelectRogueCommonDialogueOptionScRsp" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionScRsp)
            }
            "CmdTakeEventHandbookRewardScRsp" => {
                Some(Self::CmdTakeEventHandbookRewardScRsp)
            }
            "CmdCommonRogueUpdateScNotify" => Some(Self::CmdCommonRogueUpdateScNotify),
            "CmdRogueDoGambleCsReq" => Some(Self::CmdRogueDoGambleCsReq),
            "CmdJMCMONIAFCJ" => Some(Self::CmdJmcmoniafcj),
            "NBHCGFNPEAD_DNJIONPCAFK" => Some(Self::NbhcgfnpeadDnjionpcafk),
            "CmdBMEOPLAGMBB" => Some(Self::CmdBmeoplagmbb),
            "CmdDECIGLCICJM" => Some(Self::CmdDeciglcicjm),
            "CmdEINDKIKFCFG" => Some(Self::CmdEindkikfcfg),
            "CmdFPOAMEKEJNA" => Some(Self::CmdFpoamekejna),
            "CmdGetRogueHandbookDataCsReq" => Some(Self::CmdGetRogueHandbookDataCsReq),
            "CmdGetRogueShopFormulaInfoScRsp" => {
                Some(Self::CmdGetRogueShopFormulaInfoScRsp)
            }
            "CmdRogueShopBeginBattleScRsp" => Some(Self::CmdRogueShopBeginBattleScRsp),
            "CmdUpdateRogueAdventureRoomScoreCsReq" => {
                Some(Self::CmdUpdateRogueAdventureRoomScoreCsReq)
            }
            "CmdSetRogueCollectionCsReq" => Some(Self::CmdSetRogueCollectionCsReq),
            "CmdEEDFDBDKGMG" => Some(Self::CmdEedfdbdkgmg),
            "CmdPrepareRogueAdventureRoomCsReq" => {
                Some(Self::CmdPrepareRogueAdventureRoomCsReq)
            }
            "CmdGetRogueShopBuffInfoScRsp" => Some(Self::CmdGetRogueShopBuffInfoScRsp),
            "CmdGetRogueShopMiracleInfoScRsp" => {
                Some(Self::CmdGetRogueShopMiracleInfoScRsp)
            }
            "CmdTakeRogueMiracleHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardCsReq)
            }
            "CmdGetRogueCommonDialogueDataScRsp" => {
                Some(Self::CmdGetRogueCommonDialogueDataScRsp)
            }
            "CmdKOJLGKNDMOP" => Some(Self::CmdKojlgkndmop),
            "CmdRogueGetGambleInfoCsReq" => Some(Self::CmdRogueGetGambleInfoCsReq),
            "CmdGetRogueHandbookDataScRsp" => Some(Self::CmdGetRogueHandbookDataScRsp),
            "CmdSetRogueExhibitionCsReq" => Some(Self::CmdSetRogueExhibitionCsReq),
            "CmdGetRogueShopMiracleInfoCsReq" => {
                Some(Self::CmdGetRogueShopMiracleInfoCsReq)
            }
            "CmdRogueGetGambleInfoScRsp" => Some(Self::CmdRogueGetGambleInfoScRsp),
            "CmdRogueDoGambleScRsp" => Some(Self::CmdRogueDoGambleScRsp),
            "CmdCommonRogueQueryCsReq" => Some(Self::CmdCommonRogueQueryCsReq),
            "CmdBuyRogueShopMiracleScRsp" => Some(Self::CmdBuyRogueShopMiracleScRsp),
            "CmdRogueWorkbenchGetInfoCsReq" => Some(Self::CmdRogueWorkbenchGetInfoCsReq),
            "CmdBuyRogueShopBuffScRsp" => Some(Self::CmdBuyRogueShopBuffScRsp),
            "CmdSelectRogueCommonDialogueOptionCsReq" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionCsReq)
            }
            "CmdRogueWorkbenchHandleFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchHandleFuncScRsp)
            }
            "CmdEFLPKOOJCNC" => Some(Self::CmdEflpkoojcnc),
            "CmdFinishRogueCommonDialogueCsReq" => {
                Some(Self::CmdFinishRogueCommonDialogueCsReq)
            }
            "CmdSyncRogueCommonDialogueDataScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueDataScNotify)
            }
            "CmdGetRogueShopFormulaInfoCsReq" => {
                Some(Self::CmdGetRogueShopFormulaInfoCsReq)
            }
            "CmdRogueWorkbenchGetInfoScRsp" => Some(Self::CmdRogueWorkbenchGetInfoScRsp),
            "NBHCGFNPEAD_MHLGNBGJDKM" => Some(Self::NbhcgfnpeadMhlgnbgjdkm),
            "CmdSyncRogueCommonPendingActionScNotify" => {
                Some(Self::CmdSyncRogueCommonPendingActionScNotify)
            }
            "NBHCGFNPEAD_KJCJDMEJAIN" => Some(Self::NbhcgfnpeadKjcjdmejain),
            "CmdCommonRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdCommonRogueVirtualItemInfoScNotify)
            }
            "CmdSyncRogueCommonActionResultScNotify" => {
                Some(Self::CmdSyncRogueCommonActionResultScNotify)
            }
            "CmdRogueWorkbenchReforgeBuffReq" => {
                Some(Self::CmdRogueWorkbenchReforgeBuffReq)
            }
            "CmdSyncRogueCommonDialogueOptionFinishScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueOptionFinishScNotify)
            }
            "CmdBuyRogueShopFormulaScRsp" => Some(Self::CmdBuyRogueShopFormulaScRsp),
            "CmdTakeEventHandbookRewardCsReq" => {
                Some(Self::CmdTakeEventHandbookRewardCsReq)
            }
            "CmdBuyRogueShopMiracleCsReq" => Some(Self::CmdBuyRogueShopMiracleCsReq),
            "CmdGetRogueAdventureRoomInfoCsReq" => {
                Some(Self::CmdGetRogueAdventureRoomInfoCsReq)
            }
            "NBHCGFNPEAD_LABGGIGMCKM" => Some(Self::NbhcgfnpeadLabggigmckm),
            "CmdGGGGMBCNDNK" => Some(Self::CmdGgggmbcndnk),
            "CmdSetRogueCollectionScRsp" => Some(Self::CmdSetRogueCollectionScRsp),
            "CmdGetRogueCommonDialogueDataCsReq" => {
                Some(Self::CmdGetRogueCommonDialogueDataCsReq)
            }
            "CmdRogueNpcDisappearCsReq" => Some(Self::CmdRogueNpcDisappearCsReq),
            "CmdCommonRogueQueryScRsp" => Some(Self::CmdCommonRogueQueryScRsp),
            "CmdHandleRogueCommonPendingActionScRsp" => {
                Some(Self::CmdHandleRogueCommonPendingActionScRsp)
            }
            "CmdTakeRogueMiracleHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardScRsp)
            }
            "CmdSelectRogueBonusReq" => Some(Self::CmdSelectRogueBonusReq),
            "CmdStopRogueAdventureRoomCsReq" => {
                Some(Self::CmdStopRogueAdventureRoomCsReq)
            }
            "CmdSyncRogueHandbookDataUpdateScNotify" => {
                Some(Self::CmdSyncRogueHandbookDataUpdateScNotify)
            }
            "CmdSetRogueExhibitionScRsp" => Some(Self::CmdSetRogueExhibitionScRsp),
            "CmdRogueShopBeginBattleCsReq" => Some(Self::CmdRogueShopBeginBattleCsReq),
            "CmdGetRogueShopBuffInfoCsReq" => Some(Self::CmdGetRogueShopBuffInfoCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Njopdfcemlg {
    Gkjbaodjmjg = 0,
    Hcdnmnjljjd = 1,
    Eoecbcghbie = 2,
    Cdajkeoaeci = 3,
}
impl Njopdfcemlg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "NJOPDFCEMLG_GKJBAODJMJG",
            Self::Hcdnmnjljjd => "NJOPDFCEMLG_HCDNMNJLJJD",
            Self::Eoecbcghbie => "NJOPDFCEMLG_EOECBCGHBIE",
            Self::Cdajkeoaeci => "NJOPDFCEMLG_CDAJKEOAECI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NJOPDFCEMLG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "NJOPDFCEMLG_HCDNMNJLJJD" => Some(Self::Hcdnmnjljjd),
            "NJOPDFCEMLG_EOECBCGHBIE" => Some(Self::Eoecbcghbie),
            "NJOPDFCEMLG_CDAJKEOAECI" => Some(Self::Cdajkeoaeci),
            _ => None,
        }
    }
}
/// Obf: JGMAJHNEHNE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueCommonBuffSelectSourceType {
    JgmajhnehneGkjbaodjmjg = 0,
    JgmajhnehneHkbjkkihjke = 1,
    JgmajhnehneJhgogkojfoc = 2,
    JgmajhnehneMlojmjgkckj = 3,
    JgmajhnehneJemdbnlnjmi = 4,
}
impl RogueCommonBuffSelectSourceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JgmajhnehneGkjbaodjmjg => "JGMAJHNEHNE_GKJBAODJMJG",
            Self::JgmajhnehneHkbjkkihjke => "JGMAJHNEHNE_HKBJKKIHJKE",
            Self::JgmajhnehneJhgogkojfoc => "JGMAJHNEHNE_JHGOGKOJFOC",
            Self::JgmajhnehneMlojmjgkckj => "JGMAJHNEHNE_MLOJMJGKCKJ",
            Self::JgmajhnehneJemdbnlnjmi => "JGMAJHNEHNE_JEMDBNLNJMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JGMAJHNEHNE_GKJBAODJMJG" => Some(Self::JgmajhnehneGkjbaodjmjg),
            "JGMAJHNEHNE_HKBJKKIHJKE" => Some(Self::JgmajhnehneHkbjkkihjke),
            "JGMAJHNEHNE_JHGOGKOJFOC" => Some(Self::JgmajhnehneJhgogkojfoc),
            "JGMAJHNEHNE_MLOJMJGKCKJ" => Some(Self::JgmajhnehneMlojmjgkckj),
            "JGMAJHNEHNE_JEMDBNLNJMI" => Some(Self::JgmajhnehneJemdbnlnjmi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jlnjfkmhfan {
    Mkiaknjlnjd = 0,
    Cpfckjoacnc = 1,
    Ffakbneioji = 2,
    Pkfijoiadeh = 3,
    Lpaalbkknln = 4,
    Mgaoeimdlmi = 5,
}
impl Jlnjfkmhfan {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mkiaknjlnjd => "JLNJFKMHFAN_MKIAKNJLNJD",
            Self::Cpfckjoacnc => "JLNJFKMHFAN_CPFCKJOACNC",
            Self::Ffakbneioji => "JLNJFKMHFAN_FFAKBNEIOJI",
            Self::Pkfijoiadeh => "JLNJFKMHFAN_PKFIJOIADEH",
            Self::Lpaalbkknln => "JLNJFKMHFAN_LPAALBKKNLN",
            Self::Mgaoeimdlmi => "JLNJFKMHFAN_MGAOEIMDLMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JLNJFKMHFAN_MKIAKNJLNJD" => Some(Self::Mkiaknjlnjd),
            "JLNJFKMHFAN_CPFCKJOACNC" => Some(Self::Cpfckjoacnc),
            "JLNJFKMHFAN_FFAKBNEIOJI" => Some(Self::Ffakbneioji),
            "JLNJFKMHFAN_PKFIJOIADEH" => Some(Self::Pkfijoiadeh),
            "JLNJFKMHFAN_LPAALBKKNLN" => Some(Self::Lpaalbkknln),
            "JLNJFKMHFAN_MGAOEIMDLMI" => Some(Self::Mgaoeimdlmi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jnmfmfopnmg {
    Gkjbaodjmjg = 0,
    Hkbjkkihjke = 1,
    Jhgogkojfoc = 2,
    Mlojmjgkckj = 3,
    Jemdbnlnjmi = 4,
}
impl Jnmfmfopnmg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "JNMFMFOPNMG_GKJBAODJMJG",
            Self::Hkbjkkihjke => "JNMFMFOPNMG_HKBJKKIHJKE",
            Self::Jhgogkojfoc => "JNMFMFOPNMG_JHGOGKOJFOC",
            Self::Mlojmjgkckj => "JNMFMFOPNMG_MLOJMJGKCKJ",
            Self::Jemdbnlnjmi => "JNMFMFOPNMG_JEMDBNLNJMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNMFMFOPNMG_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "JNMFMFOPNMG_HKBJKKIHJKE" => Some(Self::Hkbjkkihjke),
            "JNMFMFOPNMG_JHGOGKOJFOC" => Some(Self::Jhgogkojfoc),
            "JNMFMFOPNMG_MLOJMJGKCKJ" => Some(Self::Mlojmjgkckj),
            "JNMFMFOPNMG_JEMDBNLNJMI" => Some(Self::Jemdbnlnjmi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gcfpndhcajb {
    Gkjbaodjmjg = 0,
    Jpkkmadahin = 1,
    Jhpedhknfoi = 2,
}
impl Gcfpndhcajb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "GCFPNDHCAJB_GKJBAODJMJG",
            Self::Jpkkmadahin => "GCFPNDHCAJB_JPKKMADAHIN",
            Self::Jhpedhknfoi => "GCFPNDHCAJB_JHPEDHKNFOI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GCFPNDHCAJB_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "GCFPNDHCAJB_JPKKMADAHIN" => Some(Self::Jpkkmadahin),
            "GCFPNDHCAJB_JHPEDHKNFOI" => Some(Self::Jhpedhknfoi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cifmkobhagb {
    Gkjbaodjmjg = 0,
    Jpkkmadahin = 1,
    Jhpedhknfoi = 2,
    Lblmaeffjgh = 3,
}
impl Cifmkobhagb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "CIFMKOBHAGB_GKJBAODJMJG",
            Self::Jpkkmadahin => "CIFMKOBHAGB_JPKKMADAHIN",
            Self::Jhpedhknfoi => "CIFMKOBHAGB_JHPEDHKNFOI",
            Self::Lblmaeffjgh => "CIFMKOBHAGB_LBLMAEFFJGH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CIFMKOBHAGB_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "CIFMKOBHAGB_JPKKMADAHIN" => Some(Self::Jpkkmadahin),
            "CIFMKOBHAGB_JHPEDHKNFOI" => Some(Self::Jhpedhknfoi),
            "CIFMKOBHAGB_LBLMAEFFJGH" => Some(Self::Lblmaeffjgh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mbagekkmpab {
    Gkjbaodjmjg = 0,
    Jpkkmadahin = 1,
    Jhpedhknfoi = 2,
}
impl Mbagekkmpab {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "MBAGEKKMPAB_GKJBAODJMJG",
            Self::Jpkkmadahin => "MBAGEKKMPAB_JPKKMADAHIN",
            Self::Jhpedhknfoi => "MBAGEKKMPAB_JHPEDHKNFOI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MBAGEKKMPAB_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "MBAGEKKMPAB_JPKKMADAHIN" => Some(Self::Jpkkmadahin),
            "MBAGEKKMPAB_JHPEDHKNFOI" => Some(Self::Jhpedhknfoi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hkfmajhfcfd {
    Gkjbaodjmjg = 0,
    Ekmcbeafebh = 1,
    Elfdcpapmfe = 2,
}
impl Hkfmajhfcfd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "HKFMAJHFCFD_GKJBAODJMJG",
            Self::Ekmcbeafebh => "HKFMAJHFCFD_EKMCBEAFEBH",
            Self::Elfdcpapmfe => "HKFMAJHFCFD_ELFDCPAPMFE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HKFMAJHFCFD_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "HKFMAJHFCFD_EKMCBEAFEBH" => Some(Self::Ekmcbeafebh),
            "HKFMAJHFCFD_ELFDCPAPMFE" => Some(Self::Elfdcpapmfe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ebfpnimgkhk {
    Gkjbaodjmjg = 0,
    Eljmglfncan = 1,
    Nafhjonnnke = 2,
    Mkiaknjlnjd = 3,
    Ialcgidjcde = 4,
    Kigdpcalgkf = 5,
    Mdcmhohpcdn = 6,
    Kkogcneegba = 7,
    Jhgogkojfoc = 8,
    Mlojmjgkckj = 9,
    Aakkccbfeha = 10,
    Jemdbnlnjmi = 11,
    Kgpfakcbmke = 12,
    Nhjflocbfhc = 13,
    Amkjhckadgf = 14,
    Edddbgdjelf = 15,
}
impl Ebfpnimgkhk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "EBFPNIMGKHK_GKJBAODJMJG",
            Self::Eljmglfncan => "EBFPNIMGKHK_ELJMGLFNCAN",
            Self::Nafhjonnnke => "EBFPNIMGKHK_NAFHJONNNKE",
            Self::Mkiaknjlnjd => "EBFPNIMGKHK_MKIAKNJLNJD",
            Self::Ialcgidjcde => "EBFPNIMGKHK_IALCGIDJCDE",
            Self::Kigdpcalgkf => "EBFPNIMGKHK_KIGDPCALGKF",
            Self::Mdcmhohpcdn => "EBFPNIMGKHK_MDCMHOHPCDN",
            Self::Kkogcneegba => "EBFPNIMGKHK_KKOGCNEEGBA",
            Self::Jhgogkojfoc => "EBFPNIMGKHK_JHGOGKOJFOC",
            Self::Mlojmjgkckj => "EBFPNIMGKHK_MLOJMJGKCKJ",
            Self::Aakkccbfeha => "EBFPNIMGKHK_AAKKCCBFEHA",
            Self::Jemdbnlnjmi => "EBFPNIMGKHK_JEMDBNLNJMI",
            Self::Kgpfakcbmke => "EBFPNIMGKHK_KGPFAKCBMKE",
            Self::Nhjflocbfhc => "EBFPNIMGKHK_NHJFLOCBFHC",
            Self::Amkjhckadgf => "EBFPNIMGKHK_AMKJHCKADGF",
            Self::Edddbgdjelf => "EBFPNIMGKHK_EDDDBGDJELF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EBFPNIMGKHK_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "EBFPNIMGKHK_ELJMGLFNCAN" => Some(Self::Eljmglfncan),
            "EBFPNIMGKHK_NAFHJONNNKE" => Some(Self::Nafhjonnnke),
            "EBFPNIMGKHK_MKIAKNJLNJD" => Some(Self::Mkiaknjlnjd),
            "EBFPNIMGKHK_IALCGIDJCDE" => Some(Self::Ialcgidjcde),
            "EBFPNIMGKHK_KIGDPCALGKF" => Some(Self::Kigdpcalgkf),
            "EBFPNIMGKHK_MDCMHOHPCDN" => Some(Self::Mdcmhohpcdn),
            "EBFPNIMGKHK_KKOGCNEEGBA" => Some(Self::Kkogcneegba),
            "EBFPNIMGKHK_JHGOGKOJFOC" => Some(Self::Jhgogkojfoc),
            "EBFPNIMGKHK_MLOJMJGKCKJ" => Some(Self::Mlojmjgkckj),
            "EBFPNIMGKHK_AAKKCCBFEHA" => Some(Self::Aakkccbfeha),
            "EBFPNIMGKHK_JEMDBNLNJMI" => Some(Self::Jemdbnlnjmi),
            "EBFPNIMGKHK_KGPFAKCBMKE" => Some(Self::Kgpfakcbmke),
            "EBFPNIMGKHK_NHJFLOCBFHC" => Some(Self::Nhjflocbfhc),
            "EBFPNIMGKHK_AMKJHCKADGF" => Some(Self::Amkjhckadgf),
            "EBFPNIMGKHK_EDDDBGDJELF" => Some(Self::Edddbgdjelf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kmfnjmllgip {
    Pandcopomfh = 0,
    Admgkdfcomc = 1,
    Fgmmdpmpklk = 2,
}
impl Kmfnjmllgip {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pandcopomfh => "KMFNJMLLGIP_PANDCOPOMFH",
            Self::Admgkdfcomc => "KMFNJMLLGIP_ADMGKDFCOMC",
            Self::Fgmmdpmpklk => "KMFNJMLLGIP_FGMMDPMPKLK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KMFNJMLLGIP_PANDCOPOMFH" => Some(Self::Pandcopomfh),
            "KMFNJMLLGIP_ADMGKDFCOMC" => Some(Self::Admgkdfcomc),
            "KMFNJMLLGIP_FGMMDPMPKLK" => Some(Self::Fgmmdpmpklk),
            _ => None,
        }
    }
}
/// Obf: ICFJINILAGE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueTalentStatus {
    IcfjinilageIpdfmninjhn = 0,
    IcfjinilageOeigcgbjeol = 1,
    IcfjinilageKdjccjbjijm = 2,
}
impl RogueTalentStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IcfjinilageIpdfmninjhn => "ICFJINILAGE_IPDFMNINJHN",
            Self::IcfjinilageOeigcgbjeol => "ICFJINILAGE_OEIGCGBJEOL",
            Self::IcfjinilageKdjccjbjijm => "ICFJINILAGE_KDJCCJBJIJM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ICFJINILAGE_IPDFMNINJHN" => Some(Self::IcfjinilageIpdfmninjhn),
            "ICFJINILAGE_OEIGCGBJEOL" => Some(Self::IcfjinilageOeigcgbjeol),
            "ICFJINILAGE_KDJCCJBJIJM" => Some(Self::IcfjinilageKdjccjbjijm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mjhihoobloa {
    Lbhnnjaoeig = 0,
    Ddplanlfohf = 1,
    Egafdmpbhmh = 2,
}
impl Mjhihoobloa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lbhnnjaoeig => "MJHIHOOBLOA_LBHNNJAOEIG",
            Self::Ddplanlfohf => "MJHIHOOBLOA_DDPLANLFOHF",
            Self::Egafdmpbhmh => "MJHIHOOBLOA_EGAFDMPBHMH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJHIHOOBLOA_LBHNNJAOEIG" => Some(Self::Lbhnnjaoeig),
            "MJHIHOOBLOA_DDPLANLFOHF" => Some(Self::Ddplanlfohf),
            "MJHIHOOBLOA_EGAFDMPBHMH" => Some(Self::Egafdmpbhmh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Majegahngne {
    Ibjokincfcp = 0,
    Djokjehkpok = 1,
    Pgnkogdhoai = 2,
}
impl Majegahngne {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ibjokincfcp => "MAJEGAHNGNE_IBJOKINCFCP",
            Self::Djokjehkpok => "MAJEGAHNGNE_DJOKJEHKPOK",
            Self::Pgnkogdhoai => "MAJEGAHNGNE_PGNKOGDHOAI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAJEGAHNGNE_IBJOKINCFCP" => Some(Self::Ibjokincfcp),
            "MAJEGAHNGNE_DJOKJEHKPOK" => Some(Self::Djokjehkpok),
            "MAJEGAHNGNE_PGNKOGDHOAI" => Some(Self::Pgnkogdhoai),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Idlcdpeceji {
    Pglhookphij = 0,
    Plhpdolflgl = 1,
    Lchgopimdpd = 2,
}
impl Idlcdpeceji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pglhookphij => "IDLCDPECEJI_PGLHOOKPHIJ",
            Self::Plhpdolflgl => "IDLCDPECEJI_PLHPDOLFLGL",
            Self::Lchgopimdpd => "IDLCDPECEJI_LCHGOPIMDPD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDLCDPECEJI_PGLHOOKPHIJ" => Some(Self::Pglhookphij),
            "IDLCDPECEJI_PLHPDOLFLGL" => Some(Self::Plhpdolflgl),
            "IDLCDPECEJI_LCHGOPIMDPD" => Some(Self::Lchgopimdpd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mfkcfgbipok {
    Ggajfkdpali = 0,
    Mknckofhjnk = 1,
    Pbgledjjdmi = 2,
}
impl Mfkcfgbipok {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ggajfkdpali => "MFKCFGBIPOK_GGAJFKDPALI",
            Self::Mknckofhjnk => "MFKCFGBIPOK_MKNCKOFHJNK",
            Self::Pbgledjjdmi => "MFKCFGBIPOK_PBGLEDJJDMI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MFKCFGBIPOK_GGAJFKDPALI" => Some(Self::Ggajfkdpali),
            "MFKCFGBIPOK_MKNCKOFHJNK" => Some(Self::Mknckofhjnk),
            "MFKCFGBIPOK_PBGLEDJJDMI" => Some(Self::Pbgledjjdmi),
            _ => None,
        }
    }
}
/// Obf: JMIFNBCPLOM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueEndlessType {
    JmifnbcplomIjgbcbomogg = 0,
    CmdEnterRogueEndlessActivityStageScRsp = 6005,
    CmdGetRogueEndlessActivityDataCsReq = 6010,
    CmdTakeRogueEndlessActivityPointRewardCsReq = 6002,
    CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6003,
    CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6007,
    CmdGetRogueEndlessActivityDataScRsp = 6008,
    CmdEnterRogueEndlessActivityStageCsReq = 6004,
    CmdRogueEndlessActivityBattleEndScNotify = 6009,
    CmdTakeRogueEndlessActivityPointRewardScRsp = 6006,
}
impl CmdRogueEndlessType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JmifnbcplomIjgbcbomogg => "JMIFNBCPLOM_IJGBCBOMOGG",
            Self::CmdEnterRogueEndlessActivityStageScRsp => {
                "CmdEnterRogueEndlessActivityStageScRsp"
            }
            Self::CmdGetRogueEndlessActivityDataCsReq => {
                "CmdGetRogueEndlessActivityDataCsReq"
            }
            Self::CmdTakeRogueEndlessActivityPointRewardCsReq => {
                "CmdTakeRogueEndlessActivityPointRewardCsReq"
            }
            Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq => {
                "CmdTakeRogueEndlessActivityAllBonusRewardCsReq"
            }
            Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp => {
                "CmdTakeRogueEndlessActivityAllBonusRewardScRsp"
            }
            Self::CmdGetRogueEndlessActivityDataScRsp => {
                "CmdGetRogueEndlessActivityDataScRsp"
            }
            Self::CmdEnterRogueEndlessActivityStageCsReq => {
                "CmdEnterRogueEndlessActivityStageCsReq"
            }
            Self::CmdRogueEndlessActivityBattleEndScNotify => {
                "CmdRogueEndlessActivityBattleEndScNotify"
            }
            Self::CmdTakeRogueEndlessActivityPointRewardScRsp => {
                "CmdTakeRogueEndlessActivityPointRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JMIFNBCPLOM_IJGBCBOMOGG" => Some(Self::JmifnbcplomIjgbcbomogg),
            "CmdEnterRogueEndlessActivityStageScRsp" => {
                Some(Self::CmdEnterRogueEndlessActivityStageScRsp)
            }
            "CmdGetRogueEndlessActivityDataCsReq" => {
                Some(Self::CmdGetRogueEndlessActivityDataCsReq)
            }
            "CmdTakeRogueEndlessActivityPointRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardCsReq)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp)
            }
            "CmdGetRogueEndlessActivityDataScRsp" => {
                Some(Self::CmdGetRogueEndlessActivityDataScRsp)
            }
            "CmdEnterRogueEndlessActivityStageCsReq" => {
                Some(Self::CmdEnterRogueEndlessActivityStageCsReq)
            }
            "CmdRogueEndlessActivityBattleEndScNotify" => {
                Some(Self::CmdRogueEndlessActivityBattleEndScNotify)
            }
            "CmdTakeRogueEndlessActivityPointRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: HAFEAGPOLOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueMagicType {
    HafeagpoloeIhkhncgmbae = 0,
    CmdRogueMagicGetMiscRealTimeDataScRsp = 7751,
    CmdHkkmenoakhm = 7712,
    CmdRogueMagicSettleCsReq = 7747,
    HafeagpoloeKcfihifmgfm = 7711,
    CmdRogueMagicAutoDressInMagicUnitChangeScNotify = 7701,
    CmdRogueMagicStoryInfoUpdateScNotify = 7770,
    HafeagpoloeAcliooafbck = 7713,
    CmdRogueMagicSetAutoDressInMagicUnitCsReq = 7752,
    CmdRogueMagicScepterTakeOffUnitCsReq = 7750,
    CmdRogueMagicEnableTalentCsReq = 7742,
    CmdRogueMagicAreaUpdateScNotify = 7779,
    CmdRogueMagicScepterDressInUnitCsReq = 7714,
    CmdRogueMagicQueryScRsp = 7780,
    CmdRogueMagicAutoDressInUnitCsReq = 7756,
    CmdRogueMagicEnterRoomCsReq = 7726,
    CmdRogueMagicLevelInfoUpdateScNotify = 7766,
    CmdRogueMagicLeaveScRsp = 7762,
    CmdRogueMagicSetAutoDressInMagicUnitScRsp = 7782,
    CmdNnfedgckfje = 7799,
    CmdRogueMagicReviveAvatarCsReq = 7789,
    CmdRogueMagicQueryCsReq = 7796,
    CmdRogueMagicReviveCostUpdateScNotify = 7793,
    CmdRogueMagicEnterCsReq = 7755,
    CmdRogueMagicUnitComposeScRsp = 7785,
    CmdRogueMagicEnterLayerCsReq = 7737,
    CmdOngodldnacc = 7708,
    CmdRogueMagicSettleScRsp = 7720,
    CmdAaholjnebmi = 7786,
    CmdRogueMagicStartScRsp = 7728,
    CmdRogueMagicLeaveCsReq = 7738,
    CmdRogueMagicEnterRoomScRsp = 7705,
    CmdRogueMagicEnableTalentScRsp = 7716,
    CmdRogueMagicStartCsReq = 7757,
    CmdJajkopfcdcm = 7778,
    CmdRogueMagicBattleFailSettleInfoScNotify = 7734,
    CmdRogueMagicEnterScRsp = 7775,
    CmdRogueMagicUnitComposeCsReq = 7709,
    CmdRogueMagicEnterLayerScRsp = 7769,
    CmdRogueMagicGetMiscRealTimeDataCsReq = 7788,
    CmdRogueMagicReviveAvatarScRsp = 7776,
}
impl CmdRogueMagicType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HafeagpoloeIhkhncgmbae => "HAFEAGPOLOE_IHKHNCGMBAE",
            Self::CmdRogueMagicGetMiscRealTimeDataScRsp => {
                "CmdRogueMagicGetMiscRealTimeDataScRsp"
            }
            Self::CmdHkkmenoakhm => "CmdHKKMENOAKHM",
            Self::CmdRogueMagicSettleCsReq => "CmdRogueMagicSettleCsReq",
            Self::HafeagpoloeKcfihifmgfm => "HAFEAGPOLOE_KCFIHIFMGFM",
            Self::CmdRogueMagicAutoDressInMagicUnitChangeScNotify => {
                "CmdRogueMagicAutoDressInMagicUnitChangeScNotify"
            }
            Self::CmdRogueMagicStoryInfoUpdateScNotify => {
                "CmdRogueMagicStoryInfoUpdateScNotify"
            }
            Self::HafeagpoloeAcliooafbck => "HAFEAGPOLOE_ACLIOOAFBCK",
            Self::CmdRogueMagicSetAutoDressInMagicUnitCsReq => {
                "CmdRogueMagicSetAutoDressInMagicUnitCsReq"
            }
            Self::CmdRogueMagicScepterTakeOffUnitCsReq => {
                "CmdRogueMagicScepterTakeOffUnitCsReq"
            }
            Self::CmdRogueMagicEnableTalentCsReq => "CmdRogueMagicEnableTalentCsReq",
            Self::CmdRogueMagicAreaUpdateScNotify => "CmdRogueMagicAreaUpdateScNotify",
            Self::CmdRogueMagicScepterDressInUnitCsReq => {
                "CmdRogueMagicScepterDressInUnitCsReq"
            }
            Self::CmdRogueMagicQueryScRsp => "CmdRogueMagicQueryScRsp",
            Self::CmdRogueMagicAutoDressInUnitCsReq => {
                "CmdRogueMagicAutoDressInUnitCsReq"
            }
            Self::CmdRogueMagicEnterRoomCsReq => "CmdRogueMagicEnterRoomCsReq",
            Self::CmdRogueMagicLevelInfoUpdateScNotify => {
                "CmdRogueMagicLevelInfoUpdateScNotify"
            }
            Self::CmdRogueMagicLeaveScRsp => "CmdRogueMagicLeaveScRsp",
            Self::CmdRogueMagicSetAutoDressInMagicUnitScRsp => {
                "CmdRogueMagicSetAutoDressInMagicUnitScRsp"
            }
            Self::CmdNnfedgckfje => "CmdNNFEDGCKFJE",
            Self::CmdRogueMagicReviveAvatarCsReq => "CmdRogueMagicReviveAvatarCsReq",
            Self::CmdRogueMagicQueryCsReq => "CmdRogueMagicQueryCsReq",
            Self::CmdRogueMagicReviveCostUpdateScNotify => {
                "CmdRogueMagicReviveCostUpdateScNotify"
            }
            Self::CmdRogueMagicEnterCsReq => "CmdRogueMagicEnterCsReq",
            Self::CmdRogueMagicUnitComposeScRsp => "CmdRogueMagicUnitComposeScRsp",
            Self::CmdRogueMagicEnterLayerCsReq => "CmdRogueMagicEnterLayerCsReq",
            Self::CmdOngodldnacc => "CmdONGODLDNACC",
            Self::CmdRogueMagicSettleScRsp => "CmdRogueMagicSettleScRsp",
            Self::CmdAaholjnebmi => "CmdAAHOLJNEBMI",
            Self::CmdRogueMagicStartScRsp => "CmdRogueMagicStartScRsp",
            Self::CmdRogueMagicLeaveCsReq => "CmdRogueMagicLeaveCsReq",
            Self::CmdRogueMagicEnterRoomScRsp => "CmdRogueMagicEnterRoomScRsp",
            Self::CmdRogueMagicEnableTalentScRsp => "CmdRogueMagicEnableTalentScRsp",
            Self::CmdRogueMagicStartCsReq => "CmdRogueMagicStartCsReq",
            Self::CmdJajkopfcdcm => "CmdJAJKOPFCDCM",
            Self::CmdRogueMagicBattleFailSettleInfoScNotify => {
                "CmdRogueMagicBattleFailSettleInfoScNotify"
            }
            Self::CmdRogueMagicEnterScRsp => "CmdRogueMagicEnterScRsp",
            Self::CmdRogueMagicUnitComposeCsReq => "CmdRogueMagicUnitComposeCsReq",
            Self::CmdRogueMagicEnterLayerScRsp => "CmdRogueMagicEnterLayerScRsp",
            Self::CmdRogueMagicGetMiscRealTimeDataCsReq => {
                "CmdRogueMagicGetMiscRealTimeDataCsReq"
            }
            Self::CmdRogueMagicReviveAvatarScRsp => "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 {
            "HAFEAGPOLOE_IHKHNCGMBAE" => Some(Self::HafeagpoloeIhkhncgmbae),
            "CmdRogueMagicGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueMagicGetMiscRealTimeDataScRsp)
            }
            "CmdHKKMENOAKHM" => Some(Self::CmdHkkmenoakhm),
            "CmdRogueMagicSettleCsReq" => Some(Self::CmdRogueMagicSettleCsReq),
            "HAFEAGPOLOE_KCFIHIFMGFM" => Some(Self::HafeagpoloeKcfihifmgfm),
            "CmdRogueMagicAutoDressInMagicUnitChangeScNotify" => {
                Some(Self::CmdRogueMagicAutoDressInMagicUnitChangeScNotify)
            }
            "CmdRogueMagicStoryInfoUpdateScNotify" => {
                Some(Self::CmdRogueMagicStoryInfoUpdateScNotify)
            }
            "HAFEAGPOLOE_ACLIOOAFBCK" => Some(Self::HafeagpoloeAcliooafbck),
            "CmdRogueMagicSetAutoDressInMagicUnitCsReq" => {
                Some(Self::CmdRogueMagicSetAutoDressInMagicUnitCsReq)
            }
            "CmdRogueMagicScepterTakeOffUnitCsReq" => {
                Some(Self::CmdRogueMagicScepterTakeOffUnitCsReq)
            }
            "CmdRogueMagicEnableTalentCsReq" => {
                Some(Self::CmdRogueMagicEnableTalentCsReq)
            }
            "CmdRogueMagicAreaUpdateScNotify" => {
                Some(Self::CmdRogueMagicAreaUpdateScNotify)
            }
            "CmdRogueMagicScepterDressInUnitCsReq" => {
                Some(Self::CmdRogueMagicScepterDressInUnitCsReq)
            }
            "CmdRogueMagicQueryScRsp" => Some(Self::CmdRogueMagicQueryScRsp),
            "CmdRogueMagicAutoDressInUnitCsReq" => {
                Some(Self::CmdRogueMagicAutoDressInUnitCsReq)
            }
            "CmdRogueMagicEnterRoomCsReq" => Some(Self::CmdRogueMagicEnterRoomCsReq),
            "CmdRogueMagicLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueMagicLevelInfoUpdateScNotify)
            }
            "CmdRogueMagicLeaveScRsp" => Some(Self::CmdRogueMagicLeaveScRsp),
            "CmdRogueMagicSetAutoDressInMagicUnitScRsp" => {
                Some(Self::CmdRogueMagicSetAutoDressInMagicUnitScRsp)
            }
            "CmdNNFEDGCKFJE" => Some(Self::CmdNnfedgckfje),
            "CmdRogueMagicReviveAvatarCsReq" => {
                Some(Self::CmdRogueMagicReviveAvatarCsReq)
            }
            "CmdRogueMagicQueryCsReq" => Some(Self::CmdRogueMagicQueryCsReq),
            "CmdRogueMagicReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueMagicReviveCostUpdateScNotify)
            }
            "CmdRogueMagicEnterCsReq" => Some(Self::CmdRogueMagicEnterCsReq),
            "CmdRogueMagicUnitComposeScRsp" => Some(Self::CmdRogueMagicUnitComposeScRsp),
            "CmdRogueMagicEnterLayerCsReq" => Some(Self::CmdRogueMagicEnterLayerCsReq),
            "CmdONGODLDNACC" => Some(Self::CmdOngodldnacc),
            "CmdRogueMagicSettleScRsp" => Some(Self::CmdRogueMagicSettleScRsp),
            "CmdAAHOLJNEBMI" => Some(Self::CmdAaholjnebmi),
            "CmdRogueMagicStartScRsp" => Some(Self::CmdRogueMagicStartScRsp),
            "CmdRogueMagicLeaveCsReq" => Some(Self::CmdRogueMagicLeaveCsReq),
            "CmdRogueMagicEnterRoomScRsp" => Some(Self::CmdRogueMagicEnterRoomScRsp),
            "CmdRogueMagicEnableTalentScRsp" => {
                Some(Self::CmdRogueMagicEnableTalentScRsp)
            }
            "CmdRogueMagicStartCsReq" => Some(Self::CmdRogueMagicStartCsReq),
            "CmdJAJKOPFCDCM" => Some(Self::CmdJajkopfcdcm),
            "CmdRogueMagicBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueMagicBattleFailSettleInfoScNotify)
            }
            "CmdRogueMagicEnterScRsp" => Some(Self::CmdRogueMagicEnterScRsp),
            "CmdRogueMagicUnitComposeCsReq" => Some(Self::CmdRogueMagicUnitComposeCsReq),
            "CmdRogueMagicEnterLayerScRsp" => Some(Self::CmdRogueMagicEnterLayerScRsp),
            "CmdRogueMagicGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueMagicGetMiscRealTimeDataCsReq)
            }
            "CmdRogueMagicReviveAvatarScRsp" => {
                Some(Self::CmdRogueMagicReviveAvatarScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nigmhoebfgl {
    Gkjbaodjmjg = 0,
    Pleegecikfb = 1,
    Hbgghebicak = 2,
    Nehdioggfjp = 3,
}
impl Nigmhoebfgl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "NIGMHOEBFGL_GKJBAODJMJG",
            Self::Pleegecikfb => "NIGMHOEBFGL_PLEEGECIKFB",
            Self::Hbgghebicak => "NIGMHOEBFGL_HBGGHEBICAK",
            Self::Nehdioggfjp => "NIGMHOEBFGL_NEHDIOGGFJP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NIGMHOEBFGL_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "NIGMHOEBFGL_PLEEGECIKFB" => Some(Self::Pleegecikfb),
            "NIGMHOEBFGL_HBGGHEBICAK" => Some(Self::Hbgghebicak),
            "NIGMHOEBFGL_NEHDIOGGFJP" => Some(Self::Nehdioggfjp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eccmkkeglbe {
    Gkjbaodjmjg = 0,
    Pleegecikfb = 1,
    Jojfjhdlleh = 2,
}
impl Eccmkkeglbe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "ECCMKKEGLBE_GKJBAODJMJG",
            Self::Pleegecikfb => "ECCMKKEGLBE_PLEEGECIKFB",
            Self::Jojfjhdlleh => "ECCMKKEGLBE_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ECCMKKEGLBE_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "ECCMKKEGLBE_PLEEGECIKFB" => Some(Self::Pleegecikfb),
            "ECCMKKEGLBE_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbnncbjmebe {
    Gkjbaodjmjg = 0,
    Fnpcgkhlbcf = 1,
    Pleegecikfb = 2,
    Jojfjhdlleh = 3,
}
impl Cbnncbjmebe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "CBNNCBJMEBE_GKJBAODJMJG",
            Self::Fnpcgkhlbcf => "CBNNCBJMEBE_FNPCGKHLBCF",
            Self::Pleegecikfb => "CBNNCBJMEBE_PLEEGECIKFB",
            Self::Jojfjhdlleh => "CBNNCBJMEBE_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CBNNCBJMEBE_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "CBNNCBJMEBE_FNPCGKHLBCF" => Some(Self::Fnpcgkhlbcf),
            "CBNNCBJMEBE_PLEEGECIKFB" => Some(Self::Pleegecikfb),
            "CBNNCBJMEBE_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jnobimlefkh {
    Gkjbaodjmjg = 0,
    Efkbgnbhenk = 1,
    Jiifholpfpf = 2,
    Kbglnhfgplm = 3,
}
impl Jnobimlefkh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "JNOBIMLEFKH_GKJBAODJMJG",
            Self::Efkbgnbhenk => "JNOBIMLEFKH_EFKBGNBHENK",
            Self::Jiifholpfpf => "JNOBIMLEFKH_JIIFHOLPFPF",
            Self::Kbglnhfgplm => "JNOBIMLEFKH_KBGLNHFGPLM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNOBIMLEFKH_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "JNOBIMLEFKH_EFKBGNBHENK" => Some(Self::Efkbgnbhenk),
            "JNOBIMLEFKH_JIIFHOLPFPF" => Some(Self::Jiifholpfpf),
            "JNOBIMLEFKH_KBGLNHFGPLM" => Some(Self::Kbglnhfgplm),
            _ => None,
        }
    }
}
/// Obf: NKKODKJCIFJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueModifierType {
    NkkodkjcifjGkjbaodjmjg = 0,
    CmdRogueModifierAddNotify = 5355,
    CmdRogueModifierUpdateNotify = 5320,
    CmdRogueModifierSelectCellScRsp = 5338,
    CmdRogueModifierStageStartNotify = 5305,
    CmdRogueModifierDelNotify = 5326,
    CmdRogueModifierSelectCellCsReq = 5375,
}
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 {
            Self::NkkodkjcifjGkjbaodjmjg => "NKKODKJCIFJ_GKJBAODJMJG",
            Self::CmdRogueModifierAddNotify => "CmdRogueModifierAddNotify",
            Self::CmdRogueModifierUpdateNotify => "CmdRogueModifierUpdateNotify",
            Self::CmdRogueModifierSelectCellScRsp => "CmdRogueModifierSelectCellScRsp",
            Self::CmdRogueModifierStageStartNotify => "CmdRogueModifierStageStartNotify",
            Self::CmdRogueModifierDelNotify => "CmdRogueModifierDelNotify",
            Self::CmdRogueModifierSelectCellCsReq => "CmdRogueModifierSelectCellCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NKKODKJCIFJ_GKJBAODJMJG" => Some(Self::NkkodkjcifjGkjbaodjmjg),
            "CmdRogueModifierAddNotify" => Some(Self::CmdRogueModifierAddNotify),
            "CmdRogueModifierUpdateNotify" => Some(Self::CmdRogueModifierUpdateNotify),
            "CmdRogueModifierSelectCellScRsp" => {
                Some(Self::CmdRogueModifierSelectCellScRsp)
            }
            "CmdRogueModifierStageStartNotify" => {
                Some(Self::CmdRogueModifierStageStartNotify)
            }
            "CmdRogueModifierDelNotify" => Some(Self::CmdRogueModifierDelNotify),
            "CmdRogueModifierSelectCellCsReq" => {
                Some(Self::CmdRogueModifierSelectCellCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: EKJCKBGHEDP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueModifierSourceType {
    EkjckbghedpIcglbdpclco = 0,
    EkjckbghedpDenalmgohik = 1,
    EkjckbghedpKoaajjiblem = 2,
    EkjckbghedpNammhekpjal = 3,
    EkjckbghedpLjjmbfbkiap = 4,
    EkjckbghedpPhdacaglmgm = 5,
    EkjckbghedpGepemoamdlm = 6,
    EkjckbghedpFhpalocccmc = 7,
    EkjckbghedpNdmemkchhgk = 8,
    EkjckbghedpHkiagefefei = 9,
}
impl RogueModifierSourceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EkjckbghedpIcglbdpclco => "EKJCKBGHEDP_ICGLBDPCLCO",
            Self::EkjckbghedpDenalmgohik => "EKJCKBGHEDP_DENALMGOHIK",
            Self::EkjckbghedpKoaajjiblem => "EKJCKBGHEDP_KOAAJJIBLEM",
            Self::EkjckbghedpNammhekpjal => "EKJCKBGHEDP_NAMMHEKPJAL",
            Self::EkjckbghedpLjjmbfbkiap => "EKJCKBGHEDP_LJJMBFBKIAP",
            Self::EkjckbghedpPhdacaglmgm => "EKJCKBGHEDP_PHDACAGLMGM",
            Self::EkjckbghedpGepemoamdlm => "EKJCKBGHEDP_GEPEMOAMDLM",
            Self::EkjckbghedpFhpalocccmc => "EKJCKBGHEDP_FHPALOCCCMC",
            Self::EkjckbghedpNdmemkchhgk => "EKJCKBGHEDP_NDMEMKCHHGK",
            Self::EkjckbghedpHkiagefefei => "EKJCKBGHEDP_HKIAGEFEFEI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EKJCKBGHEDP_ICGLBDPCLCO" => Some(Self::EkjckbghedpIcglbdpclco),
            "EKJCKBGHEDP_DENALMGOHIK" => Some(Self::EkjckbghedpDenalmgohik),
            "EKJCKBGHEDP_KOAAJJIBLEM" => Some(Self::EkjckbghedpKoaajjiblem),
            "EKJCKBGHEDP_NAMMHEKPJAL" => Some(Self::EkjckbghedpNammhekpjal),
            "EKJCKBGHEDP_LJJMBFBKIAP" => Some(Self::EkjckbghedpLjjmbfbkiap),
            "EKJCKBGHEDP_PHDACAGLMGM" => Some(Self::EkjckbghedpPhdacaglmgm),
            "EKJCKBGHEDP_GEPEMOAMDLM" => Some(Self::EkjckbghedpGepemoamdlm),
            "EKJCKBGHEDP_FHPALOCCCMC" => Some(Self::EkjckbghedpFhpalocccmc),
            "EKJCKBGHEDP_NDMEMKCHHGK" => Some(Self::EkjckbghedpNdmemkchhgk),
            "EKJCKBGHEDP_HKIAGEFEFEI" => Some(Self::EkjckbghedpHkiagefefei),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cgnhibnpifg {
    Dmfmolegpen = 0,
    Hgmfhophlhp = 1,
}
impl Cgnhibnpifg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dmfmolegpen => "CGNHIBNPIFG_DMFMOLEGPEN",
            Self::Hgmfhophlhp => "CGNHIBNPIFG_HGMFHOPHLHP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CGNHIBNPIFG_DMFMOLEGPEN" => Some(Self::Dmfmolegpen),
            "CGNHIBNPIFG_HGMFHOPHLHP" => Some(Self::Hgmfhophlhp),
            _ => None,
        }
    }
}
/// Obf: CMPBCCJBCCC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueTournType {
    CmpbccjbcccGkjbaodjmjg = 0,
    CmdRogueTournConfirmSettleCsReq = 6065,
    CmdRogueTournDeleteArchiveCsReq = 6044,
    CmdRogueTournDeleteBuildRefScRsp = 6050,
    CmdRogueTournEnterLayerCsReq = 6089,
    CmdRogueTournResetPermanentTalentScRsp = 6086,
    CmdIphdedmpjid = 6034,
    CmdRogueTournAreaUpdateScNotify = 6023,
    CmdRogueTournGetPermanentTalentInfoCsReq = 6095,
    CmdRogueTournGetCurRogueCocoonInfoCsReq = 6016,
    CmdRogueTournGetAllArchiveCsReq = 6045,
    CmdRogueTournGetSeasonTalentInfoScRsp = 6082,
    CmdRogueTournQueryCsReq = 6038,
    CmdRogueTournRenameArchiveCsReq = 6087,
    CmdRogueTournReviveAvatarCsReq = 6076,
    CmdRogueTournLeaveScRsp = 6085,
    CmdRogueTournDeleteBuildRefCsReq = 6056,
    CmdRogueTournConfirmSettleScRsp = 6013,
    CmdRogueTournEnterRoomCsReq = 6026,
    CmdRogueTournBattleFailSettleInfoScNotify = 6090,
    CmdRogueTournLeaveRogueCocoonSceneCsReq = 6042,
    CmdRogueTournGetMiscRealTimeDataScRsp = 6078,
    CmdRogueTournTakeExpRewardCsReq = 6048,
    CmdRogueTournWeekChallengeUpdateScNotify = 6053,
    CmdRogueTournResetPermanentTalentCsReq = 6057,
    CmdRogueTournReviveCostUpdateScNotify = 6068,
    CmdRogueTournLeaveRogueCocoonSceneScRsp = 6031,
    CmdRogueTournEnterRogueCocoonSceneScRsp = 6011,
    CmdRogueTournEnterRoomScRsp = 6088,
    CmdRogueTournSaveBuildRefCsReq = 6028,
    CmdRogueTournTitanUpdateTitanBlessProgressScNotify = 6066,
    CmdRogueTournGetPermanentTalentInfoScRsp = 6021,
    CmdRogueTournUseSuperRewardKeyCsReq = 6063,
    CmdRogueTournGetMiscRealTimeDataCsReq = 6083,
    CmdRogueTournReviveAvatarScRsp = 6019,
    CmdRogueTournHandBookNotify = 6099,
    CmdRogueTournExpNotify = 6098,
    CmdRogueTournLeaveCsReq = 6047,
    CmdRogueTournSettleCsReq = 6036,
    CmdRogueTournEnableSeasonTalentScRsp = 6051,
    CmdRogueTournQueryScRsp = 6061,
    CmdRougeTournRenameBuildRefCsReq = 6100,
    CmdRogueTournLevelInfoUpdateScNotify = 6081,
    CmdRogueTournClearArchiveNameScNotify = 6022,
    CmdRogueTournEnterCsReq = 6024,
    CmdRogueTournGetAllBuildRefCsReq = 6032,
    CmdRogueTournEnterLayerScRsp = 6052,
    CmdRogueTournRenameArchiveScRsp = 6018,
    CmdRogueTournStartCsReq = 6093,
    CmdRogueTournEnablePermanentTalentScRsp = 6092,
    CmdRogueTournTakeExpRewardScRsp = 6096,
    CmdRogueTournEnablePermanentTalentCsReq = 6080,
    CmdRogueTournUseSuperRewardKeyScRsp = 6049,
    CmdRogueTournEnterRogueCocoonSceneCsReq = 6014,
    CmdRogueTournEnableSeasonTalentCsReq = 6012,
    CmdRogueTournGetAllBuildRefScRsp = 6067,
    CmdRogueTournStartScRsp = 6070,
    CmdRogueTournGetSettleInfoCsReq = 6025,
    CmdRogueTournGetSeasonTalentInfoCsReq = 6091,
    CmdRogueTournRenameBuildRefScRsp = 6071,
    CmdRogueTournGetArchiveRepositoryCsReq = 6079,
    CmdRogueTournGetArchiveRepositoryScRsp = 6062,
    CmdRogueTournEnterScRsp = 6030,
    CmdRogueTournGetSettleInfoScRsp = 6060,
    CmdRogueTournSaveBuildRefScRsp = 6054,
    CmdRogueTournReEnterRogueCocoonStageCsReq = 6040,
    CmdRogueTournDeleteArchiveScRsp = 6015,
    CmdRogueTournSettleScRsp = 6055,
    CmdRogueTournGetAllArchiveScRsp = 6058,
    CmdRogueTournReEnterRogueCocoonStageScRsp = 6072,
    CmdRogueTournGetCurRogueCocoonInfoScRsp = 6084,
}
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 {
            Self::CmpbccjbcccGkjbaodjmjg => "CMPBCCJBCCC_GKJBAODJMJG",
            Self::CmdRogueTournConfirmSettleCsReq => "CmdRogueTournConfirmSettleCsReq",
            Self::CmdRogueTournDeleteArchiveCsReq => "CmdRogueTournDeleteArchiveCsReq",
            Self::CmdRogueTournDeleteBuildRefScRsp => "CmdRogueTournDeleteBuildRefScRsp",
            Self::CmdRogueTournEnterLayerCsReq => "CmdRogueTournEnterLayerCsReq",
            Self::CmdRogueTournResetPermanentTalentScRsp => {
                "CmdRogueTournResetPermanentTalentScRsp"
            }
            Self::CmdIphdedmpjid => "CmdIPHDEDMPJID",
            Self::CmdRogueTournAreaUpdateScNotify => "CmdRogueTournAreaUpdateScNotify",
            Self::CmdRogueTournGetPermanentTalentInfoCsReq => {
                "CmdRogueTournGetPermanentTalentInfoCsReq"
            }
            Self::CmdRogueTournGetCurRogueCocoonInfoCsReq => {
                "CmdRogueTournGetCurRogueCocoonInfoCsReq"
            }
            Self::CmdRogueTournGetAllArchiveCsReq => "CmdRogueTournGetAllArchiveCsReq",
            Self::CmdRogueTournGetSeasonTalentInfoScRsp => {
                "CmdRogueTournGetSeasonTalentInfoScRsp"
            }
            Self::CmdRogueTournQueryCsReq => "CmdRogueTournQueryCsReq",
            Self::CmdRogueTournRenameArchiveCsReq => "CmdRogueTournRenameArchiveCsReq",
            Self::CmdRogueTournReviveAvatarCsReq => "CmdRogueTournReviveAvatarCsReq",
            Self::CmdRogueTournLeaveScRsp => "CmdRogueTournLeaveScRsp",
            Self::CmdRogueTournDeleteBuildRefCsReq => "CmdRogueTournDeleteBuildRefCsReq",
            Self::CmdRogueTournConfirmSettleScRsp => "CmdRogueTournConfirmSettleScRsp",
            Self::CmdRogueTournEnterRoomCsReq => "CmdRogueTournEnterRoomCsReq",
            Self::CmdRogueTournBattleFailSettleInfoScNotify => {
                "CmdRogueTournBattleFailSettleInfoScNotify"
            }
            Self::CmdRogueTournLeaveRogueCocoonSceneCsReq => {
                "CmdRogueTournLeaveRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournGetMiscRealTimeDataScRsp => {
                "CmdRogueTournGetMiscRealTimeDataScRsp"
            }
            Self::CmdRogueTournTakeExpRewardCsReq => "CmdRogueTournTakeExpRewardCsReq",
            Self::CmdRogueTournWeekChallengeUpdateScNotify => {
                "CmdRogueTournWeekChallengeUpdateScNotify"
            }
            Self::CmdRogueTournResetPermanentTalentCsReq => {
                "CmdRogueTournResetPermanentTalentCsReq"
            }
            Self::CmdRogueTournReviveCostUpdateScNotify => {
                "CmdRogueTournReviveCostUpdateScNotify"
            }
            Self::CmdRogueTournLeaveRogueCocoonSceneScRsp => {
                "CmdRogueTournLeaveRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournEnterRogueCocoonSceneScRsp => {
                "CmdRogueTournEnterRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournEnterRoomScRsp => "CmdRogueTournEnterRoomScRsp",
            Self::CmdRogueTournSaveBuildRefCsReq => "CmdRogueTournSaveBuildRefCsReq",
            Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify => {
                "CmdRogueTournTitanUpdateTitanBlessProgressScNotify"
            }
            Self::CmdRogueTournGetPermanentTalentInfoScRsp => {
                "CmdRogueTournGetPermanentTalentInfoScRsp"
            }
            Self::CmdRogueTournUseSuperRewardKeyCsReq => {
                "CmdRogueTournUseSuperRewardKeyCsReq"
            }
            Self::CmdRogueTournGetMiscRealTimeDataCsReq => {
                "CmdRogueTournGetMiscRealTimeDataCsReq"
            }
            Self::CmdRogueTournReviveAvatarScRsp => "CmdRogueTournReviveAvatarScRsp",
            Self::CmdRogueTournHandBookNotify => "CmdRogueTournHandBookNotify",
            Self::CmdRogueTournExpNotify => "CmdRogueTournExpNotify",
            Self::CmdRogueTournLeaveCsReq => "CmdRogueTournLeaveCsReq",
            Self::CmdRogueTournSettleCsReq => "CmdRogueTournSettleCsReq",
            Self::CmdRogueTournEnableSeasonTalentScRsp => {
                "CmdRogueTournEnableSeasonTalentScRsp"
            }
            Self::CmdRogueTournQueryScRsp => "CmdRogueTournQueryScRsp",
            Self::CmdRougeTournRenameBuildRefCsReq => "CmdRougeTournRenameBuildRefCsReq",
            Self::CmdRogueTournLevelInfoUpdateScNotify => {
                "CmdRogueTournLevelInfoUpdateScNotify"
            }
            Self::CmdRogueTournClearArchiveNameScNotify => {
                "CmdRogueTournClearArchiveNameScNotify"
            }
            Self::CmdRogueTournEnterCsReq => "CmdRogueTournEnterCsReq",
            Self::CmdRogueTournGetAllBuildRefCsReq => "CmdRogueTournGetAllBuildRefCsReq",
            Self::CmdRogueTournEnterLayerScRsp => "CmdRogueTournEnterLayerScRsp",
            Self::CmdRogueTournRenameArchiveScRsp => "CmdRogueTournRenameArchiveScRsp",
            Self::CmdRogueTournStartCsReq => "CmdRogueTournStartCsReq",
            Self::CmdRogueTournEnablePermanentTalentScRsp => {
                "CmdRogueTournEnablePermanentTalentScRsp"
            }
            Self::CmdRogueTournTakeExpRewardScRsp => "CmdRogueTournTakeExpRewardScRsp",
            Self::CmdRogueTournEnablePermanentTalentCsReq => {
                "CmdRogueTournEnablePermanentTalentCsReq"
            }
            Self::CmdRogueTournUseSuperRewardKeyScRsp => {
                "CmdRogueTournUseSuperRewardKeyScRsp"
            }
            Self::CmdRogueTournEnterRogueCocoonSceneCsReq => {
                "CmdRogueTournEnterRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournEnableSeasonTalentCsReq => {
                "CmdRogueTournEnableSeasonTalentCsReq"
            }
            Self::CmdRogueTournGetAllBuildRefScRsp => "CmdRogueTournGetAllBuildRefScRsp",
            Self::CmdRogueTournStartScRsp => "CmdRogueTournStartScRsp",
            Self::CmdRogueTournGetSettleInfoCsReq => "CmdRogueTournGetSettleInfoCsReq",
            Self::CmdRogueTournGetSeasonTalentInfoCsReq => {
                "CmdRogueTournGetSeasonTalentInfoCsReq"
            }
            Self::CmdRogueTournRenameBuildRefScRsp => "CmdRogueTournRenameBuildRefScRsp",
            Self::CmdRogueTournGetArchiveRepositoryCsReq => {
                "CmdRogueTournGetArchiveRepositoryCsReq"
            }
            Self::CmdRogueTournGetArchiveRepositoryScRsp => {
                "CmdRogueTournGetArchiveRepositoryScRsp"
            }
            Self::CmdRogueTournEnterScRsp => "CmdRogueTournEnterScRsp",
            Self::CmdRogueTournGetSettleInfoScRsp => "CmdRogueTournGetSettleInfoScRsp",
            Self::CmdRogueTournSaveBuildRefScRsp => "CmdRogueTournSaveBuildRefScRsp",
            Self::CmdRogueTournReEnterRogueCocoonStageCsReq => {
                "CmdRogueTournReEnterRogueCocoonStageCsReq"
            }
            Self::CmdRogueTournDeleteArchiveScRsp => "CmdRogueTournDeleteArchiveScRsp",
            Self::CmdRogueTournSettleScRsp => "CmdRogueTournSettleScRsp",
            Self::CmdRogueTournGetAllArchiveScRsp => "CmdRogueTournGetAllArchiveScRsp",
            Self::CmdRogueTournReEnterRogueCocoonStageScRsp => {
                "CmdRogueTournReEnterRogueCocoonStageScRsp"
            }
            Self::CmdRogueTournGetCurRogueCocoonInfoScRsp => {
                "CmdRogueTournGetCurRogueCocoonInfoScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CMPBCCJBCCC_GKJBAODJMJG" => Some(Self::CmpbccjbcccGkjbaodjmjg),
            "CmdRogueTournConfirmSettleCsReq" => {
                Some(Self::CmdRogueTournConfirmSettleCsReq)
            }
            "CmdRogueTournDeleteArchiveCsReq" => {
                Some(Self::CmdRogueTournDeleteArchiveCsReq)
            }
            "CmdRogueTournDeleteBuildRefScRsp" => {
                Some(Self::CmdRogueTournDeleteBuildRefScRsp)
            }
            "CmdRogueTournEnterLayerCsReq" => Some(Self::CmdRogueTournEnterLayerCsReq),
            "CmdRogueTournResetPermanentTalentScRsp" => {
                Some(Self::CmdRogueTournResetPermanentTalentScRsp)
            }
            "CmdIPHDEDMPJID" => Some(Self::CmdIphdedmpjid),
            "CmdRogueTournAreaUpdateScNotify" => {
                Some(Self::CmdRogueTournAreaUpdateScNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoCsReq)
            }
            "CmdRogueTournGetCurRogueCocoonInfoCsReq" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoCsReq)
            }
            "CmdRogueTournGetAllArchiveCsReq" => {
                Some(Self::CmdRogueTournGetAllArchiveCsReq)
            }
            "CmdRogueTournGetSeasonTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoScRsp)
            }
            "CmdRogueTournQueryCsReq" => Some(Self::CmdRogueTournQueryCsReq),
            "CmdRogueTournRenameArchiveCsReq" => {
                Some(Self::CmdRogueTournRenameArchiveCsReq)
            }
            "CmdRogueTournReviveAvatarCsReq" => {
                Some(Self::CmdRogueTournReviveAvatarCsReq)
            }
            "CmdRogueTournLeaveScRsp" => Some(Self::CmdRogueTournLeaveScRsp),
            "CmdRogueTournDeleteBuildRefCsReq" => {
                Some(Self::CmdRogueTournDeleteBuildRefCsReq)
            }
            "CmdRogueTournConfirmSettleScRsp" => {
                Some(Self::CmdRogueTournConfirmSettleScRsp)
            }
            "CmdRogueTournEnterRoomCsReq" => Some(Self::CmdRogueTournEnterRoomCsReq),
            "CmdRogueTournBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueTournBattleFailSettleInfoScNotify)
            }
            "CmdRogueTournLeaveRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneCsReq)
            }
            "CmdRogueTournGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataScRsp)
            }
            "CmdRogueTournTakeExpRewardCsReq" => {
                Some(Self::CmdRogueTournTakeExpRewardCsReq)
            }
            "CmdRogueTournWeekChallengeUpdateScNotify" => {
                Some(Self::CmdRogueTournWeekChallengeUpdateScNotify)
            }
            "CmdRogueTournResetPermanentTalentCsReq" => {
                Some(Self::CmdRogueTournResetPermanentTalentCsReq)
            }
            "CmdRogueTournReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueTournReviveCostUpdateScNotify)
            }
            "CmdRogueTournLeaveRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneScRsp)
            }
            "CmdRogueTournEnterRoomScRsp" => Some(Self::CmdRogueTournEnterRoomScRsp),
            "CmdRogueTournSaveBuildRefCsReq" => {
                Some(Self::CmdRogueTournSaveBuildRefCsReq)
            }
            "CmdRogueTournTitanUpdateTitanBlessProgressScNotify" => {
                Some(Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoScRsp)
            }
            "CmdRogueTournUseSuperRewardKeyCsReq" => {
                Some(Self::CmdRogueTournUseSuperRewardKeyCsReq)
            }
            "CmdRogueTournGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataCsReq)
            }
            "CmdRogueTournReviveAvatarScRsp" => {
                Some(Self::CmdRogueTournReviveAvatarScRsp)
            }
            "CmdRogueTournHandBookNotify" => Some(Self::CmdRogueTournHandBookNotify),
            "CmdRogueTournExpNotify" => Some(Self::CmdRogueTournExpNotify),
            "CmdRogueTournLeaveCsReq" => Some(Self::CmdRogueTournLeaveCsReq),
            "CmdRogueTournSettleCsReq" => Some(Self::CmdRogueTournSettleCsReq),
            "CmdRogueTournEnableSeasonTalentScRsp" => {
                Some(Self::CmdRogueTournEnableSeasonTalentScRsp)
            }
            "CmdRogueTournQueryScRsp" => Some(Self::CmdRogueTournQueryScRsp),
            "CmdRougeTournRenameBuildRefCsReq" => {
                Some(Self::CmdRougeTournRenameBuildRefCsReq)
            }
            "CmdRogueTournLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueTournLevelInfoUpdateScNotify)
            }
            "CmdRogueTournClearArchiveNameScNotify" => {
                Some(Self::CmdRogueTournClearArchiveNameScNotify)
            }
            "CmdRogueTournEnterCsReq" => Some(Self::CmdRogueTournEnterCsReq),
            "CmdRogueTournGetAllBuildRefCsReq" => {
                Some(Self::CmdRogueTournGetAllBuildRefCsReq)
            }
            "CmdRogueTournEnterLayerScRsp" => Some(Self::CmdRogueTournEnterLayerScRsp),
            "CmdRogueTournRenameArchiveScRsp" => {
                Some(Self::CmdRogueTournRenameArchiveScRsp)
            }
            "CmdRogueTournStartCsReq" => Some(Self::CmdRogueTournStartCsReq),
            "CmdRogueTournEnablePermanentTalentScRsp" => {
                Some(Self::CmdRogueTournEnablePermanentTalentScRsp)
            }
            "CmdRogueTournTakeExpRewardScRsp" => {
                Some(Self::CmdRogueTournTakeExpRewardScRsp)
            }
            "CmdRogueTournEnablePermanentTalentCsReq" => {
                Some(Self::CmdRogueTournEnablePermanentTalentCsReq)
            }
            "CmdRogueTournUseSuperRewardKeyScRsp" => {
                Some(Self::CmdRogueTournUseSuperRewardKeyScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneCsReq)
            }
            "CmdRogueTournEnableSeasonTalentCsReq" => {
                Some(Self::CmdRogueTournEnableSeasonTalentCsReq)
            }
            "CmdRogueTournGetAllBuildRefScRsp" => {
                Some(Self::CmdRogueTournGetAllBuildRefScRsp)
            }
            "CmdRogueTournStartScRsp" => Some(Self::CmdRogueTournStartScRsp),
            "CmdRogueTournGetSettleInfoCsReq" => {
                Some(Self::CmdRogueTournGetSettleInfoCsReq)
            }
            "CmdRogueTournGetSeasonTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoCsReq)
            }
            "CmdRogueTournRenameBuildRefScRsp" => {
                Some(Self::CmdRogueTournRenameBuildRefScRsp)
            }
            "CmdRogueTournGetArchiveRepositoryCsReq" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryCsReq)
            }
            "CmdRogueTournGetArchiveRepositoryScRsp" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryScRsp)
            }
            "CmdRogueTournEnterScRsp" => Some(Self::CmdRogueTournEnterScRsp),
            "CmdRogueTournGetSettleInfoScRsp" => {
                Some(Self::CmdRogueTournGetSettleInfoScRsp)
            }
            "CmdRogueTournSaveBuildRefScRsp" => {
                Some(Self::CmdRogueTournSaveBuildRefScRsp)
            }
            "CmdRogueTournReEnterRogueCocoonStageCsReq" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageCsReq)
            }
            "CmdRogueTournDeleteArchiveScRsp" => {
                Some(Self::CmdRogueTournDeleteArchiveScRsp)
            }
            "CmdRogueTournSettleScRsp" => Some(Self::CmdRogueTournSettleScRsp),
            "CmdRogueTournGetAllArchiveScRsp" => {
                Some(Self::CmdRogueTournGetAllArchiveScRsp)
            }
            "CmdRogueTournReEnterRogueCocoonStageScRsp" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageScRsp)
            }
            "CmdRogueTournGetCurRogueCocoonInfoScRsp" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: FMBGMFMPNMH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueTournLevelStatus {
    FmbgmfmpnmhGkjbaodjmjg = 0,
    FmbgmfmpnmhPleegecikfb = 1,
    FmbgmfmpnmhHbgghebicak = 2,
    FmbgmfmpnmhNehdioggfjp = 3,
}
impl RogueTournLevelStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FmbgmfmpnmhGkjbaodjmjg => "FMBGMFMPNMH_GKJBAODJMJG",
            Self::FmbgmfmpnmhPleegecikfb => "FMBGMFMPNMH_PLEEGECIKFB",
            Self::FmbgmfmpnmhHbgghebicak => "FMBGMFMPNMH_HBGGHEBICAK",
            Self::FmbgmfmpnmhNehdioggfjp => "FMBGMFMPNMH_NEHDIOGGFJP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FMBGMFMPNMH_GKJBAODJMJG" => Some(Self::FmbgmfmpnmhGkjbaodjmjg),
            "FMBGMFMPNMH_PLEEGECIKFB" => Some(Self::FmbgmfmpnmhPleegecikfb),
            "FMBGMFMPNMH_HBGGHEBICAK" => Some(Self::FmbgmfmpnmhHbgghebicak),
            "FMBGMFMPNMH_NEHDIOGGFJP" => Some(Self::FmbgmfmpnmhNehdioggfjp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Olbifkchgae {
    Gkjbaodjmjg = 0,
    Pleegecikfb = 1,
    Jojfjhdlleh = 2,
}
impl Olbifkchgae {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "OLBIFKCHGAE_GKJBAODJMJG",
            Self::Pleegecikfb => "OLBIFKCHGAE_PLEEGECIKFB",
            Self::Jojfjhdlleh => "OLBIFKCHGAE_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OLBIFKCHGAE_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "OLBIFKCHGAE_PLEEGECIKFB" => Some(Self::Pleegecikfb),
            "OLBIFKCHGAE_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aibafmnejnd {
    Gkjbaodjmjg = 0,
    Fnpcgkhlbcf = 1,
    Pleegecikfb = 2,
    Jojfjhdlleh = 3,
}
impl Aibafmnejnd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "AIBAFMNEJND_GKJBAODJMJG",
            Self::Fnpcgkhlbcf => "AIBAFMNEJND_FNPCGKHLBCF",
            Self::Pleegecikfb => "AIBAFMNEJND_PLEEGECIKFB",
            Self::Jojfjhdlleh => "AIBAFMNEJND_JOJFJHDLLEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AIBAFMNEJND_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "AIBAFMNEJND_FNPCGKHLBCF" => Some(Self::Fnpcgkhlbcf),
            "AIBAFMNEJND_PLEEGECIKFB" => Some(Self::Pleegecikfb),
            "AIBAFMNEJND_JOJFJHDLLEH" => Some(Self::Jojfjhdlleh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mpbgbdbdgci {
    Gkjbaodjmjg = 0,
    Efkbgnbhenk = 1,
    Jiifholpfpf = 2,
    Kbglnhfgplm = 3,
}
impl Mpbgbdbdgci {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "MPBGBDBDGCI_GKJBAODJMJG",
            Self::Efkbgnbhenk => "MPBGBDBDGCI_EFKBGNBHENK",
            Self::Jiifholpfpf => "MPBGBDBDGCI_JIIFHOLPFPF",
            Self::Kbglnhfgplm => "MPBGBDBDGCI_KBGLNHFGPLM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MPBGBDBDGCI_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "MPBGBDBDGCI_EFKBGNBHENK" => Some(Self::Efkbgnbhenk),
            "MPBGBDBDGCI_JIIFHOLPFPF" => Some(Self::Jiifholpfpf),
            "MPBGBDBDGCI_KBGLNHFGPLM" => Some(Self::Kbglnhfgplm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ffaljijgdni {
    Ifmnekkcfgn = 0,
    Gkldkaplhnd = 1,
    Afdmagilnan = 2,
    Iamlgidocco = 3,
    Ngklbcnfdoo = 4,
    Efkhaimheah = 5,
    Lmplccoogbp = 6,
}
impl Ffaljijgdni {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ifmnekkcfgn => "FFALJIJGDNI_IFMNEKKCFGN",
            Self::Gkldkaplhnd => "FFALJIJGDNI_GKLDKAPLHND",
            Self::Afdmagilnan => "FFALJIJGDNI_AFDMAGILNAN",
            Self::Iamlgidocco => "FFALJIJGDNI_IAMLGIDOCCO",
            Self::Ngklbcnfdoo => "FFALJIJGDNI_NGKLBCNFDOO",
            Self::Efkhaimheah => "FFALJIJGDNI_EFKHAIMHEAH",
            Self::Lmplccoogbp => "FFALJIJGDNI_LMPLCCOOGBP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FFALJIJGDNI_IFMNEKKCFGN" => Some(Self::Ifmnekkcfgn),
            "FFALJIJGDNI_GKLDKAPLHND" => Some(Self::Gkldkaplhnd),
            "FFALJIJGDNI_AFDMAGILNAN" => Some(Self::Afdmagilnan),
            "FFALJIJGDNI_IAMLGIDOCCO" => Some(Self::Iamlgidocco),
            "FFALJIJGDNI_NGKLBCNFDOO" => Some(Self::Ngklbcnfdoo),
            "FFALJIJGDNI_EFKHAIMHEAH" => Some(Self::Efkhaimheah),
            "FFALJIJGDNI_LMPLCCOOGBP" => Some(Self::Lmplccoogbp),
            _ => None,
        }
    }
}
/// Obf: AFIENJHNJAN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRollShopType {
    AfienjhnjanGkjbaodjmjg = 0,
    CmdGetRollShopInfoCsReq = 6910,
    CmdDoGachaInRollShopScRsp = 6901,
    CmdDoGachaInRollShopCsReq = 6906,
    CmdGetRollShopInfoScRsp = 6904,
    CmdTakeRollShopRewardCsReq = 6912,
    CmdTakeRollShopRewardScRsp = 6911,
}
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 {
            Self::AfienjhnjanGkjbaodjmjg => "AFIENJHNJAN_GKJBAODJMJG",
            Self::CmdGetRollShopInfoCsReq => "CmdGetRollShopInfoCsReq",
            Self::CmdDoGachaInRollShopScRsp => "CmdDoGachaInRollShopScRsp",
            Self::CmdDoGachaInRollShopCsReq => "CmdDoGachaInRollShopCsReq",
            Self::CmdGetRollShopInfoScRsp => "CmdGetRollShopInfoScRsp",
            Self::CmdTakeRollShopRewardCsReq => "CmdTakeRollShopRewardCsReq",
            Self::CmdTakeRollShopRewardScRsp => "CmdTakeRollShopRewardScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AFIENJHNJAN_GKJBAODJMJG" => Some(Self::AfienjhnjanGkjbaodjmjg),
            "CmdGetRollShopInfoCsReq" => Some(Self::CmdGetRollShopInfoCsReq),
            "CmdDoGachaInRollShopScRsp" => Some(Self::CmdDoGachaInRollShopScRsp),
            "CmdDoGachaInRollShopCsReq" => Some(Self::CmdDoGachaInRollShopCsReq),
            "CmdGetRollShopInfoScRsp" => Some(Self::CmdGetRollShopInfoScRsp),
            "CmdTakeRollShopRewardCsReq" => Some(Self::CmdTakeRollShopRewardCsReq),
            "CmdTakeRollShopRewardScRsp" => Some(Self::CmdTakeRollShopRewardScRsp),
            _ => None,
        }
    }
}
/// Obf: AHNEDJBIFAC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSceneType {
    AhnedjbifacGkjbaodjmjg = 0,
    CmdFhikcphfogf = 1467,
    CmdRefreshTriggerByClientScRsp = 1449,
    CmdRefreshTriggerEntityListReq = 1417,
    CmdUnlockTeleportNotify = 1419,
    CmdSavePointsInfoNotify = 1442,
    CmdUpdateFloorSavedValueNotify = 1446,
    CmdDmeafdeihng = 1469,
    CmdNhpgocodmjm = 1401,
    CmdCounterRecoverCsReq = 1439,
    CmdSceneCastSkillCostMpCsReq = 1479,
    CmdSceneEntityTeleportCsReq = 1443,
    CmdNfnbmphfmdd = 1499,
    CmdDeleteSummonUnitCsReq = 1464,
    CmdEnteredSceneChangeScNotify = 1494,
    CmdOpmehlphpfg = 1496,
    CmdObealfnbnap = 1456,
    CmdGetCurSceneInfoCsReq = 1447,
    CmdHhfhaodaamd = 1407,
    CmdJoamgbaiaik = 1465,
    CmdSceneCastSkillCostMpScRsp = 1445,
    CmdSetGroupCustomSaveDataScRsp = 1491,
    CmdEnterSceneByServerScNotify = 1424,
    CmdOcjkfmhlfkg = 1500,
    CmdEnterSceneScRsp = 1487,
    CmdSceneCastSkillCsReq = 1438,
    CmdGetUnlockTeleportScRsp = 1444,
    CmdSceneEntityTeleportScRsp = 1458,
    CmdGetEnteredSceneScRsp = 1433,
    CmdPimkffckfhm = 1488,
    CmdSceneCheckpoingRefreshScRsp = 1493,
    CmdSceneStageBattleCsReq = 1480,
    CmdInteractPropScRsp = 1475,
    CmdSyncEntityBuffChangeList = 1466,
    CmdJneichneelc = 1412,
    CmdPimocddjhcn = 1451,
    CmdStartCocoonStageCsReq = 1416,
    AhnedjbifacJglnkagpoic = 1411,
    CmdEnterSceneCsReq = 1474,
    CmdUpdateGroupPropertyCsReq = 1454,
    CmdNhfdglocjal = 1461,
    CmdSceneCastSkillMpUpdateScNotify = 1483,
    CmdGetSceneMapInfoScRsp = 1404,
    CmdRefreshTriggerByClientScNotify = 1436,
    CmdUnkUnk = 1459,
    CmdSceneEntityMoveScRsp = 1428,
    CmdEjhfmgfcfkm = 1497,
    CmdReEnterLastElementStageScRsp = 1468,
    CmdGetCurSceneInfoScRsp = 1420,
    CmdIoopiblmphc = 1405,
    CmdGetUnlockTeleportCsReq = 1490,
    CmdSceneCheckpointRefreshMonsterReq = 1434,
    CmdEnterSectionCsReq = 1450,
    AhnedjbifacHigijihohmn = 1482,
    CmdGetSceneMapInfoCsReq = 1435,
    CmdGetEnteredSceneCsReq = 1425,
    CmdSceneGroupRefreshScNotify = 1453,
    CmdInteractPropCsReq = 1455,
    CmdOpenChestScNotify = 1471,
    CmdMlekpgoafpn = 1486,
    CmdSceneCastSkillScRsp = 1462,
    CmdKegjekckbog = 1409,
    CmdOoklmgfgklk = 1478,
    CmdMigppbalhpc = 1473,
    CmdTrainWorldIdChangeScNotify = 1423,
    CmdBgokidmfkla = 1429,
    CmdActiveFarmElementCsReq = 1441,
    AhnedjbifacEmlpfmejeie = 1476,
    CmdSceneEntityMoveCsReq = 1457,
    CmdDeactivateFarmElementCsReq = 1470,
    CmdGroupStateChangeCsReq = 1463,
    CmdActiveFarmElementScRsp = 1432,
    CmdSetTrainWorldIdCsReq = 1427,
    CmdStartCocoonStageRsp = 1452,
    AhnedjbifacGnmfaepdeeb = 1415,
    CmdEdechcahpge = 1489,
    CmdSceneReviveAfterRebattleCsReq = 1414,
    CmdSetTrainWorldIdScRsp = 1431,
    CmdScenePlaneEventScNotify = 1403,
    CmdReEnterLastElementStageCsReq = 1460,
    CmdChangeTimeRewindInfoReq = 1426,
    CmdKlnlpecpafk = 1410,
    CmdCounterDownCsReq = 1440,
    CmdFfagpehiocm = 1413,
    CmdSceneEntityMoveScNotify = 1437,
    CmdSceneEnterStageScRsp = 1477,
}
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 {
            Self::AhnedjbifacGkjbaodjmjg => "AHNEDJBIFAC_GKJBAODJMJG",
            Self::CmdFhikcphfogf => "CmdFHIKCPHFOGF",
            Self::CmdRefreshTriggerByClientScRsp => "CmdRefreshTriggerByClientScRsp",
            Self::CmdRefreshTriggerEntityListReq => "CmdRefreshTriggerEntityListReq",
            Self::CmdUnlockTeleportNotify => "CmdUnlockTeleportNotify",
            Self::CmdSavePointsInfoNotify => "CmdSavePointsInfoNotify",
            Self::CmdUpdateFloorSavedValueNotify => "CmdUpdateFloorSavedValueNotify",
            Self::CmdDmeafdeihng => "CmdDMEAFDEIHNG",
            Self::CmdNhpgocodmjm => "CmdNHPGOCODMJM",
            Self::CmdCounterRecoverCsReq => "CmdCounterRecoverCsReq",
            Self::CmdSceneCastSkillCostMpCsReq => "CmdSceneCastSkillCostMpCsReq",
            Self::CmdSceneEntityTeleportCsReq => "CmdSceneEntityTeleportCsReq",
            Self::CmdNfnbmphfmdd => "CmdNFNBMPHFMDD",
            Self::CmdDeleteSummonUnitCsReq => "CmdDeleteSummonUnitCsReq",
            Self::CmdEnteredSceneChangeScNotify => "CmdEnteredSceneChangeScNotify",
            Self::CmdOpmehlphpfg => "CmdOPMEHLPHPFG",
            Self::CmdObealfnbnap => "CmdOBEALFNBNAP",
            Self::CmdGetCurSceneInfoCsReq => "CmdGetCurSceneInfoCsReq",
            Self::CmdHhfhaodaamd => "CmdHHFHAODAAMD",
            Self::CmdJoamgbaiaik => "CmdJOAMGBAIAIK",
            Self::CmdSceneCastSkillCostMpScRsp => "CmdSceneCastSkillCostMpScRsp",
            Self::CmdSetGroupCustomSaveDataScRsp => "CmdSetGroupCustomSaveDataScRsp",
            Self::CmdEnterSceneByServerScNotify => "CmdEnterSceneByServerScNotify",
            Self::CmdOcjkfmhlfkg => "CmdOCJKFMHLFKG",
            Self::CmdEnterSceneScRsp => "CmdEnterSceneScRsp",
            Self::CmdSceneCastSkillCsReq => "CmdSceneCastSkillCsReq",
            Self::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
            Self::CmdSceneEntityTeleportScRsp => "CmdSceneEntityTeleportScRsp",
            Self::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
            Self::CmdPimkffckfhm => "CmdPIMKFFCKFHM",
            Self::CmdSceneCheckpoingRefreshScRsp => "CmdSceneCheckpoingRefreshScRsp",
            Self::CmdSceneStageBattleCsReq => "CmdSceneStageBattleCsReq",
            Self::CmdInteractPropScRsp => "CmdInteractPropScRsp",
            Self::CmdSyncEntityBuffChangeList => "CmdSyncEntityBuffChangeList",
            Self::CmdJneichneelc => "CmdJNEICHNEELC",
            Self::CmdPimocddjhcn => "CmdPIMOCDDJHCN",
            Self::CmdStartCocoonStageCsReq => "CmdStartCocoonStageCsReq",
            Self::AhnedjbifacJglnkagpoic => "AHNEDJBIFAC_JGLNKAGPOIC",
            Self::CmdEnterSceneCsReq => "CmdEnterSceneCsReq",
            Self::CmdUpdateGroupPropertyCsReq => "CmdUpdateGroupPropertyCsReq",
            Self::CmdNhfdglocjal => "CmdNHFDGLOCJAL",
            Self::CmdSceneCastSkillMpUpdateScNotify => {
                "CmdSceneCastSkillMpUpdateScNotify"
            }
            Self::CmdGetSceneMapInfoScRsp => "CmdGetSceneMapInfoScRsp",
            Self::CmdRefreshTriggerByClientScNotify => {
                "CmdRefreshTriggerByClientScNotify"
            }
            Self::CmdUnkUnk => "CmdUnkUnk",
            Self::CmdSceneEntityMoveScRsp => "CmdSceneEntityMoveScRsp",
            Self::CmdEjhfmgfcfkm => "CmdEJHFMGFCFKM",
            Self::CmdReEnterLastElementStageScRsp => "CmdReEnterLastElementStageScRsp",
            Self::CmdGetCurSceneInfoScRsp => "CmdGetCurSceneInfoScRsp",
            Self::CmdIoopiblmphc => "CmdIOOPIBLMPHC",
            Self::CmdGetUnlockTeleportCsReq => "CmdGetUnlockTeleportCsReq",
            Self::CmdSceneCheckpointRefreshMonsterReq => {
                "CmdSceneCheckpointRefreshMonsterReq"
            }
            Self::CmdEnterSectionCsReq => "CmdEnterSectionCsReq",
            Self::AhnedjbifacHigijihohmn => "AHNEDJBIFAC_HIGIJIHOHMN",
            Self::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
            Self::CmdGetEnteredSceneCsReq => "CmdGetEnteredSceneCsReq",
            Self::CmdSceneGroupRefreshScNotify => "CmdSceneGroupRefreshScNotify",
            Self::CmdInteractPropCsReq => "CmdInteractPropCsReq",
            Self::CmdOpenChestScNotify => "CmdOpenChestScNotify",
            Self::CmdMlekpgoafpn => "CmdMLEKPGOAFPN",
            Self::CmdSceneCastSkillScRsp => "CmdSceneCastSkillScRsp",
            Self::CmdKegjekckbog => "CmdKEGJEKCKBOG",
            Self::CmdOoklmgfgklk => "CmdOOKLMGFGKLK",
            Self::CmdMigppbalhpc => "CmdMIGPPBALHPC",
            Self::CmdTrainWorldIdChangeScNotify => "CmdTrainWorldIdChangeScNotify",
            Self::CmdBgokidmfkla => "CmdBGOKIDMFKLA",
            Self::CmdActiveFarmElementCsReq => "CmdActiveFarmElementCsReq",
            Self::AhnedjbifacEmlpfmejeie => "AHNEDJBIFAC_EMLPFMEJEIE",
            Self::CmdSceneEntityMoveCsReq => "CmdSceneEntityMoveCsReq",
            Self::CmdDeactivateFarmElementCsReq => "CmdDeactivateFarmElementCsReq",
            Self::CmdGroupStateChangeCsReq => "CmdGroupStateChangeCsReq",
            Self::CmdActiveFarmElementScRsp => "CmdActiveFarmElementScRsp",
            Self::CmdSetTrainWorldIdCsReq => "CmdSetTrainWorldIdCsReq",
            Self::CmdStartCocoonStageRsp => "CmdStartCocoonStageRsp",
            Self::AhnedjbifacGnmfaepdeeb => "AHNEDJBIFAC_GNMFAEPDEEB",
            Self::CmdEdechcahpge => "CmdEDECHCAHPGE",
            Self::CmdSceneReviveAfterRebattleCsReq => "CmdSceneReviveAfterRebattleCsReq",
            Self::CmdSetTrainWorldIdScRsp => "CmdSetTrainWorldIdScRsp",
            Self::CmdScenePlaneEventScNotify => "CmdScenePlaneEventScNotify",
            Self::CmdReEnterLastElementStageCsReq => "CmdReEnterLastElementStageCsReq",
            Self::CmdChangeTimeRewindInfoReq => "CmdChangeTimeRewindInfoReq",
            Self::CmdKlnlpecpafk => "CmdKLNLPECPAFK",
            Self::CmdCounterDownCsReq => "CmdCounterDownCsReq",
            Self::CmdFfagpehiocm => "CmdFFAGPEHIOCM",
            Self::CmdSceneEntityMoveScNotify => "CmdSceneEntityMoveScNotify",
            Self::CmdSceneEnterStageScRsp => "CmdSceneEnterStageScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AHNEDJBIFAC_GKJBAODJMJG" => Some(Self::AhnedjbifacGkjbaodjmjg),
            "CmdFHIKCPHFOGF" => Some(Self::CmdFhikcphfogf),
            "CmdRefreshTriggerByClientScRsp" => {
                Some(Self::CmdRefreshTriggerByClientScRsp)
            }
            "CmdRefreshTriggerEntityListReq" => {
                Some(Self::CmdRefreshTriggerEntityListReq)
            }
            "CmdUnlockTeleportNotify" => Some(Self::CmdUnlockTeleportNotify),
            "CmdSavePointsInfoNotify" => Some(Self::CmdSavePointsInfoNotify),
            "CmdUpdateFloorSavedValueNotify" => {
                Some(Self::CmdUpdateFloorSavedValueNotify)
            }
            "CmdDMEAFDEIHNG" => Some(Self::CmdDmeafdeihng),
            "CmdNHPGOCODMJM" => Some(Self::CmdNhpgocodmjm),
            "CmdCounterRecoverCsReq" => Some(Self::CmdCounterRecoverCsReq),
            "CmdSceneCastSkillCostMpCsReq" => Some(Self::CmdSceneCastSkillCostMpCsReq),
            "CmdSceneEntityTeleportCsReq" => Some(Self::CmdSceneEntityTeleportCsReq),
            "CmdNFNBMPHFMDD" => Some(Self::CmdNfnbmphfmdd),
            "CmdDeleteSummonUnitCsReq" => Some(Self::CmdDeleteSummonUnitCsReq),
            "CmdEnteredSceneChangeScNotify" => Some(Self::CmdEnteredSceneChangeScNotify),
            "CmdOPMEHLPHPFG" => Some(Self::CmdOpmehlphpfg),
            "CmdOBEALFNBNAP" => Some(Self::CmdObealfnbnap),
            "CmdGetCurSceneInfoCsReq" => Some(Self::CmdGetCurSceneInfoCsReq),
            "CmdHHFHAODAAMD" => Some(Self::CmdHhfhaodaamd),
            "CmdJOAMGBAIAIK" => Some(Self::CmdJoamgbaiaik),
            "CmdSceneCastSkillCostMpScRsp" => Some(Self::CmdSceneCastSkillCostMpScRsp),
            "CmdSetGroupCustomSaveDataScRsp" => {
                Some(Self::CmdSetGroupCustomSaveDataScRsp)
            }
            "CmdEnterSceneByServerScNotify" => Some(Self::CmdEnterSceneByServerScNotify),
            "CmdOCJKFMHLFKG" => Some(Self::CmdOcjkfmhlfkg),
            "CmdEnterSceneScRsp" => Some(Self::CmdEnterSceneScRsp),
            "CmdSceneCastSkillCsReq" => Some(Self::CmdSceneCastSkillCsReq),
            "CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
            "CmdSceneEntityTeleportScRsp" => Some(Self::CmdSceneEntityTeleportScRsp),
            "CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
            "CmdPIMKFFCKFHM" => Some(Self::CmdPimkffckfhm),
            "CmdSceneCheckpoingRefreshScRsp" => {
                Some(Self::CmdSceneCheckpoingRefreshScRsp)
            }
            "CmdSceneStageBattleCsReq" => Some(Self::CmdSceneStageBattleCsReq),
            "CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
            "CmdSyncEntityBuffChangeList" => Some(Self::CmdSyncEntityBuffChangeList),
            "CmdJNEICHNEELC" => Some(Self::CmdJneichneelc),
            "CmdPIMOCDDJHCN" => Some(Self::CmdPimocddjhcn),
            "CmdStartCocoonStageCsReq" => Some(Self::CmdStartCocoonStageCsReq),
            "AHNEDJBIFAC_JGLNKAGPOIC" => Some(Self::AhnedjbifacJglnkagpoic),
            "CmdEnterSceneCsReq" => Some(Self::CmdEnterSceneCsReq),
            "CmdUpdateGroupPropertyCsReq" => Some(Self::CmdUpdateGroupPropertyCsReq),
            "CmdNHFDGLOCJAL" => Some(Self::CmdNhfdglocjal),
            "CmdSceneCastSkillMpUpdateScNotify" => {
                Some(Self::CmdSceneCastSkillMpUpdateScNotify)
            }
            "CmdGetSceneMapInfoScRsp" => Some(Self::CmdGetSceneMapInfoScRsp),
            "CmdRefreshTriggerByClientScNotify" => {
                Some(Self::CmdRefreshTriggerByClientScNotify)
            }
            "CmdUnkUnk" => Some(Self::CmdUnkUnk),
            "CmdSceneEntityMoveScRsp" => Some(Self::CmdSceneEntityMoveScRsp),
            "CmdEJHFMGFCFKM" => Some(Self::CmdEjhfmgfcfkm),
            "CmdReEnterLastElementStageScRsp" => {
                Some(Self::CmdReEnterLastElementStageScRsp)
            }
            "CmdGetCurSceneInfoScRsp" => Some(Self::CmdGetCurSceneInfoScRsp),
            "CmdIOOPIBLMPHC" => Some(Self::CmdIoopiblmphc),
            "CmdGetUnlockTeleportCsReq" => Some(Self::CmdGetUnlockTeleportCsReq),
            "CmdSceneCheckpointRefreshMonsterReq" => {
                Some(Self::CmdSceneCheckpointRefreshMonsterReq)
            }
            "CmdEnterSectionCsReq" => Some(Self::CmdEnterSectionCsReq),
            "AHNEDJBIFAC_HIGIJIHOHMN" => Some(Self::AhnedjbifacHigijihohmn),
            "CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
            "CmdGetEnteredSceneCsReq" => Some(Self::CmdGetEnteredSceneCsReq),
            "CmdSceneGroupRefreshScNotify" => Some(Self::CmdSceneGroupRefreshScNotify),
            "CmdInteractPropCsReq" => Some(Self::CmdInteractPropCsReq),
            "CmdOpenChestScNotify" => Some(Self::CmdOpenChestScNotify),
            "CmdMLEKPGOAFPN" => Some(Self::CmdMlekpgoafpn),
            "CmdSceneCastSkillScRsp" => Some(Self::CmdSceneCastSkillScRsp),
            "CmdKEGJEKCKBOG" => Some(Self::CmdKegjekckbog),
            "CmdOOKLMGFGKLK" => Some(Self::CmdOoklmgfgklk),
            "CmdMIGPPBALHPC" => Some(Self::CmdMigppbalhpc),
            "CmdTrainWorldIdChangeScNotify" => Some(Self::CmdTrainWorldIdChangeScNotify),
            "CmdBGOKIDMFKLA" => Some(Self::CmdBgokidmfkla),
            "CmdActiveFarmElementCsReq" => Some(Self::CmdActiveFarmElementCsReq),
            "AHNEDJBIFAC_EMLPFMEJEIE" => Some(Self::AhnedjbifacEmlpfmejeie),
            "CmdSceneEntityMoveCsReq" => Some(Self::CmdSceneEntityMoveCsReq),
            "CmdDeactivateFarmElementCsReq" => Some(Self::CmdDeactivateFarmElementCsReq),
            "CmdGroupStateChangeCsReq" => Some(Self::CmdGroupStateChangeCsReq),
            "CmdActiveFarmElementScRsp" => Some(Self::CmdActiveFarmElementScRsp),
            "CmdSetTrainWorldIdCsReq" => Some(Self::CmdSetTrainWorldIdCsReq),
            "CmdStartCocoonStageRsp" => Some(Self::CmdStartCocoonStageRsp),
            "AHNEDJBIFAC_GNMFAEPDEEB" => Some(Self::AhnedjbifacGnmfaepdeeb),
            "CmdEDECHCAHPGE" => Some(Self::CmdEdechcahpge),
            "CmdSceneReviveAfterRebattleCsReq" => {
                Some(Self::CmdSceneReviveAfterRebattleCsReq)
            }
            "CmdSetTrainWorldIdScRsp" => Some(Self::CmdSetTrainWorldIdScRsp),
            "CmdScenePlaneEventScNotify" => Some(Self::CmdScenePlaneEventScNotify),
            "CmdReEnterLastElementStageCsReq" => {
                Some(Self::CmdReEnterLastElementStageCsReq)
            }
            "CmdChangeTimeRewindInfoReq" => Some(Self::CmdChangeTimeRewindInfoReq),
            "CmdKLNLPECPAFK" => Some(Self::CmdKlnlpecpafk),
            "CmdCounterDownCsReq" => Some(Self::CmdCounterDownCsReq),
            "CmdFFAGPEHIOCM" => Some(Self::CmdFfagpehiocm),
            "CmdSceneEntityMoveScNotify" => Some(Self::CmdSceneEntityMoveScNotify),
            "CmdSceneEnterStageScRsp" => Some(Self::CmdSceneEnterStageScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SkillExtraTag {
    SceneCastSkillNone = 0,
    SceneCastSkillProjectileHit = 1,
    SceneCastSkillProjectileLifetimeFinish = 2,
}
impl SkillExtraTag {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SceneCastSkillNone => "SCENE_CAST_SKILL_NONE",
            Self::SceneCastSkillProjectileHit => "SCENE_CAST_SKILL_PROJECTILE_HIT",
            Self::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 {
            Self::None => "MONSTER_BATTLE_TYPE_NONE",
            Self::TriggerBattle => "MONSTER_BATTLE_TYPE_TRIGGER_BATTLE",
            Self::DirectDieSimulateBattle => {
                "MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE"
            }
            Self::DirectDieSkipBattle => "MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE",
            Self::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 SceneEntityBuffChangeType {
    Default = 0,
    AddMazebuff = 1,
    AddAdvModifier = 2,
}
impl SceneEntityBuffChangeType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Default => "SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT",
            Self::AddMazebuff => "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF",
            Self::AddAdvModifier => "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::Default),
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF" => Some(Self::AddMazebuff),
            "SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER" => {
                Some(Self::AddAdvModifier)
            }
            _ => 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 {
            Self::None => "ENTER_SCENE_REASON_NONE",
            Self::ChallengeTimeout => "ENTER_SCENE_REASON_CHALLENGE_TIMEOUT",
            Self::RogueTimeout => "ENTER_SCENE_REASON_ROGUE_TIMEOUT",
            Self::ChangeStoryline => "ENTER_SCENE_REASON_CHANGE_STORYLINE",
            Self::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 ChestType {
    MapInfoChestTypeNone = 0,
    MapInfoChestTypeNormal = 101,
    MapInfoChestTypeChallenge = 102,
    MapInfoChestTypePuzzle = 104,
}
impl ChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::MapInfoChestTypeNone => "MAP_INFO_CHEST_TYPE_NONE",
            Self::MapInfoChestTypeNormal => "MAP_INFO_CHEST_TYPE_NORMAL",
            Self::MapInfoChestTypeChallenge => "MAP_INFO_CHEST_TYPE_CHALLENGE",
            Self::MapInfoChestTypePuzzle => "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::MapInfoChestTypeNone),
            "MAP_INFO_CHEST_TYPE_NORMAL" => Some(Self::MapInfoChestTypeNormal),
            "MAP_INFO_CHEST_TYPE_CHALLENGE" => Some(Self::MapInfoChestTypeChallenge),
            "MAP_INFO_CHEST_TYPE_PUZZLE" => Some(Self::MapInfoChestTypePuzzle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GameplayCounterUpdateReason {
    None = 0,
    Activate = 1,
    Deactivate = 2,
    Change = 3,
}
impl GameplayCounterUpdateReason {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "GAMEPLAY_COUNTER_UPDATE_REASON_NONE",
            Self::Activate => "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE",
            Self::Deactivate => "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE",
            Self::Change => "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::None),
            "GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE" => Some(Self::Activate),
            "GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE" => Some(Self::Deactivate),
            "GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE" => Some(Self::Change),
            _ => 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,
    Afibfmafncc = 3,
}
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 {
            Self::None => "SCENE_GROUP_REFRESH_TYPE_NONE",
            Self::Loaded => "SCENE_GROUP_REFRESH_TYPE_LOADED",
            Self::Unload => "SCENE_GROUP_REFRESH_TYPE_UNLOAD",
            Self::Afibfmafncc => "SceneGroupRefreshType_AFIBFMAFNCC",
        }
    }
    /// 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),
            "SceneGroupRefreshType_AFIBFMAFNCC" => Some(Self::Afibfmafncc),
            _ => None,
        }
    }
}
/// Obf: FJMDHEOIDJD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdServerPrefsType {
    FjmdheoidjdGkjbaodjmjg = 0,
    CmdUpdateServerPrefsCsReq = 6138,
    FjmdheoidjdGghgpcajmee = 6155,
    CmdNaaifbpjpdf = 6128,
    CmdEnmmdflfocb = 6175,
    CmdGetAllServerPrefsDataCsReq = 6157,
    CmdMdhpnbbljgc = 6162,
}
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 {
            Self::FjmdheoidjdGkjbaodjmjg => "FJMDHEOIDJD_GKJBAODJMJG",
            Self::CmdUpdateServerPrefsCsReq => "CmdUpdateServerPrefsCsReq",
            Self::FjmdheoidjdGghgpcajmee => "FJMDHEOIDJD_GGHGPCAJMEE",
            Self::CmdNaaifbpjpdf => "CmdNAAIFBPJPDF",
            Self::CmdEnmmdflfocb => "CmdENMMDFLFOCB",
            Self::CmdGetAllServerPrefsDataCsReq => "CmdGetAllServerPrefsDataCsReq",
            Self::CmdMdhpnbbljgc => "CmdMDHPNBBLJGC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FJMDHEOIDJD_GKJBAODJMJG" => Some(Self::FjmdheoidjdGkjbaodjmjg),
            "CmdUpdateServerPrefsCsReq" => Some(Self::CmdUpdateServerPrefsCsReq),
            "FJMDHEOIDJD_GGHGPCAJMEE" => Some(Self::FjmdheoidjdGghgpcajmee),
            "CmdNAAIFBPJPDF" => Some(Self::CmdNaaifbpjpdf),
            "CmdENMMDFLFOCB" => Some(Self::CmdEnmmdflfocb),
            "CmdGetAllServerPrefsDataCsReq" => Some(Self::CmdGetAllServerPrefsDataCsReq),
            "CmdMDHPNBBLJGC" => Some(Self::CmdMdhpnbbljgc),
            _ => None,
        }
    }
}
/// Obf: JEMHLKEJBLH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdShopType {
    JemhlkejblhGkjbaodjmjg = 0,
    CmdTakeCityShopRewardCsReq = 1538,
    CmdGetShopListCsReq = 1557,
    CmdBuyGoodsScRsp = 1575,
    CmdCityShopInfoScNotify = 1547,
    CmdGetShopListScRsp = 1528,
    CmdBuyGoodsCsReq = 1555,
    CmdFbjkfclcoin = 1562,
}
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 {
            Self::JemhlkejblhGkjbaodjmjg => "JEMHLKEJBLH_GKJBAODJMJG",
            Self::CmdTakeCityShopRewardCsReq => "CmdTakeCityShopRewardCsReq",
            Self::CmdGetShopListCsReq => "CmdGetShopListCsReq",
            Self::CmdBuyGoodsScRsp => "CmdBuyGoodsScRsp",
            Self::CmdCityShopInfoScNotify => "CmdCityShopInfoScNotify",
            Self::CmdGetShopListScRsp => "CmdGetShopListScRsp",
            Self::CmdBuyGoodsCsReq => "CmdBuyGoodsCsReq",
            Self::CmdFbjkfclcoin => "CmdFBJKFCLCOIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JEMHLKEJBLH_GKJBAODJMJG" => Some(Self::JemhlkejblhGkjbaodjmjg),
            "CmdTakeCityShopRewardCsReq" => Some(Self::CmdTakeCityShopRewardCsReq),
            "CmdGetShopListCsReq" => Some(Self::CmdGetShopListCsReq),
            "CmdBuyGoodsScRsp" => Some(Self::CmdBuyGoodsScRsp),
            "CmdCityShopInfoScNotify" => Some(Self::CmdCityShopInfoScNotify),
            "CmdGetShopListScRsp" => Some(Self::CmdGetShopListScRsp),
            "CmdBuyGoodsCsReq" => Some(Self::CmdBuyGoodsCsReq),
            "CmdFBJKFCLCOIN" => Some(Self::CmdFbjkfclcoin),
            _ => None,
        }
    }
}
/// Obf: KDONINBMFFN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSpaceZooType {
    KdoninbmffnGkjbaodjmjg = 0,
    CmdSpaceZooMutateScRsp = 6762,
    CmdSpaceZooExchangeItemCsReq = 6769,
    CmdSpaceZooMutateCsReq = 6738,
    CmdSpaceZooOpCatteryCsReq = 6747,
    CmdSpaceZooDeleteCatScRsp = 6705,
    CmdSpaceZooDataCsReq = 6757,
    CmdSpaceZooTakeScRsp = 6745,
    CmdSpaceZooTakeCsReq = 6779,
    CmdSpaceZooDataScRsp = 6728,
    CmdSpaceZooBornCsReq = 6755,
    CmdSpaceZooBornScRsp = 6775,
    CmdSpaceZooDeleteCatCsReq = 6726,
    CmdLlbmojpbafn = 6766,
    CmdSpaceZooCatUpdateNotify = 6737,
    CmdSpaceZooOpCatteryScRsp = 6720,
}
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 {
            Self::KdoninbmffnGkjbaodjmjg => "KDONINBMFFN_GKJBAODJMJG",
            Self::CmdSpaceZooMutateScRsp => "CmdSpaceZooMutateScRsp",
            Self::CmdSpaceZooExchangeItemCsReq => "CmdSpaceZooExchangeItemCsReq",
            Self::CmdSpaceZooMutateCsReq => "CmdSpaceZooMutateCsReq",
            Self::CmdSpaceZooOpCatteryCsReq => "CmdSpaceZooOpCatteryCsReq",
            Self::CmdSpaceZooDeleteCatScRsp => "CmdSpaceZooDeleteCatScRsp",
            Self::CmdSpaceZooDataCsReq => "CmdSpaceZooDataCsReq",
            Self::CmdSpaceZooTakeScRsp => "CmdSpaceZooTakeScRsp",
            Self::CmdSpaceZooTakeCsReq => "CmdSpaceZooTakeCsReq",
            Self::CmdSpaceZooDataScRsp => "CmdSpaceZooDataScRsp",
            Self::CmdSpaceZooBornCsReq => "CmdSpaceZooBornCsReq",
            Self::CmdSpaceZooBornScRsp => "CmdSpaceZooBornScRsp",
            Self::CmdSpaceZooDeleteCatCsReq => "CmdSpaceZooDeleteCatCsReq",
            Self::CmdLlbmojpbafn => "CmdLLBMOJPBAFN",
            Self::CmdSpaceZooCatUpdateNotify => "CmdSpaceZooCatUpdateNotify",
            Self::CmdSpaceZooOpCatteryScRsp => "CmdSpaceZooOpCatteryScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KDONINBMFFN_GKJBAODJMJG" => Some(Self::KdoninbmffnGkjbaodjmjg),
            "CmdSpaceZooMutateScRsp" => Some(Self::CmdSpaceZooMutateScRsp),
            "CmdSpaceZooExchangeItemCsReq" => Some(Self::CmdSpaceZooExchangeItemCsReq),
            "CmdSpaceZooMutateCsReq" => Some(Self::CmdSpaceZooMutateCsReq),
            "CmdSpaceZooOpCatteryCsReq" => Some(Self::CmdSpaceZooOpCatteryCsReq),
            "CmdSpaceZooDeleteCatScRsp" => Some(Self::CmdSpaceZooDeleteCatScRsp),
            "CmdSpaceZooDataCsReq" => Some(Self::CmdSpaceZooDataCsReq),
            "CmdSpaceZooTakeScRsp" => Some(Self::CmdSpaceZooTakeScRsp),
            "CmdSpaceZooTakeCsReq" => Some(Self::CmdSpaceZooTakeCsReq),
            "CmdSpaceZooDataScRsp" => Some(Self::CmdSpaceZooDataScRsp),
            "CmdSpaceZooBornCsReq" => Some(Self::CmdSpaceZooBornCsReq),
            "CmdSpaceZooBornScRsp" => Some(Self::CmdSpaceZooBornScRsp),
            "CmdSpaceZooDeleteCatCsReq" => Some(Self::CmdSpaceZooDeleteCatCsReq),
            "CmdLLBMOJPBAFN" => Some(Self::CmdLlbmojpbafn),
            "CmdSpaceZooCatUpdateNotify" => Some(Self::CmdSpaceZooCatUpdateNotify),
            "CmdSpaceZooOpCatteryScRsp" => Some(Self::CmdSpaceZooOpCatteryScRsp),
            _ => None,
        }
    }
}
/// Obf: LLOABNDAMBI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStarFightType {
    LloabndambiGkjbaodjmjg = 0,
    CmdStartStarFightLevelCsReq = 7164,
    CmdStarFightDataChangeNotify = 7169,
    CmdStartStarFightLevelScRsp = 7165,
    CmdGetStarFightDataCsReq = 7170,
    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 {
            Self::LloabndambiGkjbaodjmjg => "LLOABNDAMBI_GKJBAODJMJG",
            Self::CmdStartStarFightLevelCsReq => "CmdStartStarFightLevelCsReq",
            Self::CmdStarFightDataChangeNotify => "CmdStarFightDataChangeNotify",
            Self::CmdStartStarFightLevelScRsp => "CmdStartStarFightLevelScRsp",
            Self::CmdGetStarFightDataCsReq => "CmdGetStarFightDataCsReq",
            Self::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 {
            "LLOABNDAMBI_GKJBAODJMJG" => Some(Self::LloabndambiGkjbaodjmjg),
            "CmdStartStarFightLevelCsReq" => Some(Self::CmdStartStarFightLevelCsReq),
            "CmdStarFightDataChangeNotify" => Some(Self::CmdStarFightDataChangeNotify),
            "CmdStartStarFightLevelScRsp" => Some(Self::CmdStartStarFightLevelScRsp),
            "CmdGetStarFightDataCsReq" => Some(Self::CmdGetStarFightDataCsReq),
            "CmdGetStarFightDataScRsp" => Some(Self::CmdGetStarFightDataScRsp),
            _ => None,
        }
    }
}
/// Obf: LGJGOKPJOGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStoryLineType {
    LgjgokpjogpGkjbaodjmjg = 0,
    CmdStoryLineTrialAvatarChangeScNotify = 6247,
    CmdGetStoryLineInfoCsReq = 6257,
    CmdChangeStoryLineFinishScNotify = 6262,
    CmdMmkodhbloid = 6228,
    CmdStoryLineInfoScNotify = 6255,
}
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 {
            Self::LgjgokpjogpGkjbaodjmjg => "LGJGOKPJOGP_GKJBAODJMJG",
            Self::CmdStoryLineTrialAvatarChangeScNotify => {
                "CmdStoryLineTrialAvatarChangeScNotify"
            }
            Self::CmdGetStoryLineInfoCsReq => "CmdGetStoryLineInfoCsReq",
            Self::CmdChangeStoryLineFinishScNotify => "CmdChangeStoryLineFinishScNotify",
            Self::CmdMmkodhbloid => "CmdMMKODHBLOID",
            Self::CmdStoryLineInfoScNotify => "CmdStoryLineInfoScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LGJGOKPJOGP_GKJBAODJMJG" => Some(Self::LgjgokpjogpGkjbaodjmjg),
            "CmdStoryLineTrialAvatarChangeScNotify" => {
                Some(Self::CmdStoryLineTrialAvatarChangeScNotify)
            }
            "CmdGetStoryLineInfoCsReq" => Some(Self::CmdGetStoryLineInfoCsReq),
            "CmdChangeStoryLineFinishScNotify" => {
                Some(Self::CmdChangeStoryLineFinishScNotify)
            }
            "CmdMMKODHBLOID" => Some(Self::CmdMmkodhbloid),
            "CmdStoryLineInfoScNotify" => Some(Self::CmdStoryLineInfoScNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChangeStoryLineAction {
    None = 0,
    FinishAction = 1,
    Client = 2,
    CustomOp = 3,
    Raid = 4,
    Hkfkafpajco = 5,
}
impl ChangeStoryLineAction {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "ChangeStoryLineAction_None",
            Self::FinishAction => "ChangeStoryLineAction_FinishAction",
            Self::Client => "ChangeStoryLineAction_Client",
            Self::CustomOp => "ChangeStoryLineAction_CustomOP",
            Self::Raid => "ChangeStoryLineAction_Raid",
            Self::Hkfkafpajco => "ChangeStoryLineAction_HKFKAFPAJCO",
        }
    }
    /// 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::None),
            "ChangeStoryLineAction_FinishAction" => Some(Self::FinishAction),
            "ChangeStoryLineAction_Client" => Some(Self::Client),
            "ChangeStoryLineAction_CustomOP" => Some(Self::CustomOp),
            "ChangeStoryLineAction_Raid" => Some(Self::Raid),
            "ChangeStoryLineAction_HKFKAFPAJCO" => Some(Self::Hkfkafpajco),
            _ => None,
        }
    }
}
/// Obf: KFNBMCECCDO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStrongChallengeActivityType {
    KfnbmceccdoGkjbaodjmjg = 0,
    CmdJaiiebgfhkm = 6657,
    CmdEnterStrongChallengeActivityStageScRsp = 6675,
    CmdEjfabjgcacc = 6638,
    CmdOlkhafkmbnd = 6628,
    CmdEnterActivityStrongChallengeCsReq = 6655,
}
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 {
            Self::KfnbmceccdoGkjbaodjmjg => "KFNBMCECCDO_GKJBAODJMJG",
            Self::CmdJaiiebgfhkm => "CmdJAIIEBGFHKM",
            Self::CmdEnterStrongChallengeActivityStageScRsp => {
                "CmdEnterStrongChallengeActivityStageScRsp"
            }
            Self::CmdEjfabjgcacc => "CmdEJFABJGCACC",
            Self::CmdOlkhafkmbnd => "CmdOLKHAFKMBND",
            Self::CmdEnterActivityStrongChallengeCsReq => {
                "CmdEnterActivityStrongChallengeCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KFNBMCECCDO_GKJBAODJMJG" => Some(Self::KfnbmceccdoGkjbaodjmjg),
            "CmdJAIIEBGFHKM" => Some(Self::CmdJaiiebgfhkm),
            "CmdEnterStrongChallengeActivityStageScRsp" => {
                Some(Self::CmdEnterStrongChallengeActivityStageScRsp)
            }
            "CmdEJFABJGCACC" => Some(Self::CmdEjfabjgcacc),
            "CmdOLKHAFKMBND" => Some(Self::CmdOlkhafkmbnd),
            "CmdEnterActivityStrongChallengeCsReq" => {
                Some(Self::CmdEnterActivityStrongChallengeCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: DFOLKOIOFCC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSummonActivityType {
    DfolkoiofccGkjbaodjmjg = 0,
    CmdEnterSummonActivityStageScRsp = 7565,
    CmdGetSummonActivityDataScRsp = 7568,
    CmdSummonActivityBattleEndScNotify = 7569,
    CmdEnterSummonActivityStageCsReq = 7564,
    CmdGetSummonActivityDataCsReq = 7570,
}
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 {
            Self::DfolkoiofccGkjbaodjmjg => "DFOLKOIOFCC_GKJBAODJMJG",
            Self::CmdEnterSummonActivityStageScRsp => "CmdEnterSummonActivityStageScRsp",
            Self::CmdGetSummonActivityDataScRsp => "CmdGetSummonActivityDataScRsp",
            Self::CmdSummonActivityBattleEndScNotify => {
                "CmdSummonActivityBattleEndScNotify"
            }
            Self::CmdEnterSummonActivityStageCsReq => "CmdEnterSummonActivityStageCsReq",
            Self::CmdGetSummonActivityDataCsReq => "CmdGetSummonActivityDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DFOLKOIOFCC_GKJBAODJMJG" => Some(Self::DfolkoiofccGkjbaodjmjg),
            "CmdEnterSummonActivityStageScRsp" => {
                Some(Self::CmdEnterSummonActivityStageScRsp)
            }
            "CmdGetSummonActivityDataScRsp" => Some(Self::CmdGetSummonActivityDataScRsp),
            "CmdSummonActivityBattleEndScNotify" => {
                Some(Self::CmdSummonActivityBattleEndScNotify)
            }
            "CmdEnterSummonActivityStageCsReq" => {
                Some(Self::CmdEnterSummonActivityStageCsReq)
            }
            "CmdGetSummonActivityDataCsReq" => Some(Self::CmdGetSummonActivityDataCsReq),
            _ => None,
        }
    }
}
/// Obf: OPBEFKCKHKI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwitchHandType {
    OpbefkckhkiGkjbaodjmjg = 0,
    CmdSwitchHandDataCsReq = 8110,
    CmdGetSwitchHandResetGameScRsp = 8119,
    CmdGetSwitchHandUpdateScRsp = 8115,
    CmdGetSwitchHandDataScRsp = 8104,
    CmdSwitchHandStartScRsp = 8101,
    CmdSwitchHandResetGameCsReq = 8117,
    CmdSwitchHandUpdateCsReq = 8120,
    CmdSwitchHandCoinUpdateCsReq = 8116,
    CmdMffocliecjj = 8118,
    CmdSwitchHandFinishCsReq = 8112,
    CmdGetSwitchHandResetHandPosScRsp = 8109,
    CmdSwitchHandStartCsReq = 8106,
    CmdSwitchHandFinishScRsp = 8111,
    CmdSwitchHandResetTransformCsReq = 8113,
}
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 {
            Self::OpbefkckhkiGkjbaodjmjg => "OPBEFKCKHKI_GKJBAODJMJG",
            Self::CmdSwitchHandDataCsReq => "CmdSwitchHandDataCsReq",
            Self::CmdGetSwitchHandResetGameScRsp => "CmdGetSwitchHandResetGameScRsp",
            Self::CmdGetSwitchHandUpdateScRsp => "CmdGetSwitchHandUpdateScRsp",
            Self::CmdGetSwitchHandDataScRsp => "CmdGetSwitchHandDataScRsp",
            Self::CmdSwitchHandStartScRsp => "CmdSwitchHandStartScRsp",
            Self::CmdSwitchHandResetGameCsReq => "CmdSwitchHandResetGameCsReq",
            Self::CmdSwitchHandUpdateCsReq => "CmdSwitchHandUpdateCsReq",
            Self::CmdSwitchHandCoinUpdateCsReq => "CmdSwitchHandCoinUpdateCsReq",
            Self::CmdMffocliecjj => "CmdMFFOCLIECJJ",
            Self::CmdSwitchHandFinishCsReq => "CmdSwitchHandFinishCsReq",
            Self::CmdGetSwitchHandResetHandPosScRsp => {
                "CmdGetSwitchHandResetHandPosScRsp"
            }
            Self::CmdSwitchHandStartCsReq => "CmdSwitchHandStartCsReq",
            Self::CmdSwitchHandFinishScRsp => "CmdSwitchHandFinishScRsp",
            Self::CmdSwitchHandResetTransformCsReq => "CmdSwitchHandResetTransformCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OPBEFKCKHKI_GKJBAODJMJG" => Some(Self::OpbefkckhkiGkjbaodjmjg),
            "CmdSwitchHandDataCsReq" => Some(Self::CmdSwitchHandDataCsReq),
            "CmdGetSwitchHandResetGameScRsp" => {
                Some(Self::CmdGetSwitchHandResetGameScRsp)
            }
            "CmdGetSwitchHandUpdateScRsp" => Some(Self::CmdGetSwitchHandUpdateScRsp),
            "CmdGetSwitchHandDataScRsp" => Some(Self::CmdGetSwitchHandDataScRsp),
            "CmdSwitchHandStartScRsp" => Some(Self::CmdSwitchHandStartScRsp),
            "CmdSwitchHandResetGameCsReq" => Some(Self::CmdSwitchHandResetGameCsReq),
            "CmdSwitchHandUpdateCsReq" => Some(Self::CmdSwitchHandUpdateCsReq),
            "CmdSwitchHandCoinUpdateCsReq" => Some(Self::CmdSwitchHandCoinUpdateCsReq),
            "CmdMFFOCLIECJJ" => Some(Self::CmdMffocliecjj),
            "CmdSwitchHandFinishCsReq" => Some(Self::CmdSwitchHandFinishCsReq),
            "CmdGetSwitchHandResetHandPosScRsp" => {
                Some(Self::CmdGetSwitchHandResetHandPosScRsp)
            }
            "CmdSwitchHandStartCsReq" => Some(Self::CmdSwitchHandStartCsReq),
            "CmdSwitchHandFinishScRsp" => Some(Self::CmdSwitchHandFinishScRsp),
            "CmdSwitchHandResetTransformCsReq" => {
                Some(Self::CmdSwitchHandResetTransformCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pkdfglepcdl {
    Gkjbaodjmjg = 0,
    Cnekkfgjppb = 1,
    Lfgdidhdjcp = 2,
}
impl Pkdfglepcdl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "PKDFGLEPCDL_GKJBAODJMJG",
            Self::Cnekkfgjppb => "PKDFGLEPCDL_CNEKKFGJPPB",
            Self::Lfgdidhdjcp => "PKDFGLEPCDL_LFGDIDHDJCP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PKDFGLEPCDL_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "PKDFGLEPCDL_CNEKKFGJPPB" => Some(Self::Cnekkfgjppb),
            "PKDFGLEPCDL_LFGDIDHDJCP" => Some(Self::Lfgdidhdjcp),
            _ => None,
        }
    }
}
/// Obf: MBONCPAOOMA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwordTrainingType {
    MboncpaoomaGkjbaodjmjg = 0,
    CmdSwordTrainingStoryBattleScRsp = 7482,
    CmdSwordTrainingSetSkillTraceCsReq = 7466,
    CmdSwordTrainingStoryBattleCsReq = 7468,
    CmdSwordTrainingGiveUpGameScRsp = 7487,
    CmdSwordTrainingLearnSkillScRsp = 7451,
    CmdSwordTrainingResumeGameScRsp = 7480,
    CmdSwordTrainingGiveUpGameCsReq = 7490,
    CmdGetSwordTrainingDataScRsp = 7474,
    CmdGetSwordTrainingDataCsReq = 7499,
    CmdSwordTrainingExamResultConfirmCsReq = 7467,
    CmdSwordTrainingLearnSkillCsReq = 7469,
    CmdSwordTrainingTurnActionScRsp = 7489,
    CmdSwordTrainingDailyPhaseConfirmScRsp = 7497,
    CmdEnterSwordTrainingExamCsReq = 7479,
    CmdSwordTrainingStartGameCsReq = 7470,
    CmdSwordTrainingDialogueSelectOptionCsReq = 7485,
    CmdSwordTrainingTurnActionCsReq = 7457,
    CmdEnterSwordTrainingExamScRsp = 7472,
    CmdSwordTrainingRestoreGameScRsp = 7455,
    CmdSwordTrainingStoryConfirmCsReq = 7461,
    CmdSwordTrainingSelectEndingCsReq = 7476,
    CmdSwordTrainingGameSyncChangeScNotify = 7500,
    CmdSwordTrainingSelectEndingScRsp = 7473,
    CmdSwordTrainingStoryConfirmScRsp = 7471,
    CmdSwordTrainingUnlockSyncScNotify = 7496,
    CmdSwordTrainingMarkEndingViewedScRsp = 7477,
    CmdSwordTrainingDailyPhaseConfirmCsReq = 7483,
    CmdSwordTrainingStartGameScRsp = 7488,
    CmdSwordTrainingActionTurnSettleScNotify = 7463,
    CmdSwordTrainingRestoreGameCsReq = 7465,
    CmdSwordTrainingDialogueSelectOptionScRsp = 7458,
    CmdSwordTrainingExamResultConfirmScRsp = 7494,
    CmdSwordTrainingMarkEndingViewedCsReq = 7460,
    CmdSwordTrainingResumeGameCsReq = 7484,
    CmdSwordTrainingSetSkillTraceScRsp = 7492,
    CmdSwordTrainingGameSettleScNotify = 7452,
}
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 {
            Self::MboncpaoomaGkjbaodjmjg => "MBONCPAOOMA_GKJBAODJMJG",
            Self::CmdSwordTrainingStoryBattleScRsp => "CmdSwordTrainingStoryBattleScRsp",
            Self::CmdSwordTrainingSetSkillTraceCsReq => {
                "CmdSwordTrainingSetSkillTraceCsReq"
            }
            Self::CmdSwordTrainingStoryBattleCsReq => "CmdSwordTrainingStoryBattleCsReq",
            Self::CmdSwordTrainingGiveUpGameScRsp => "CmdSwordTrainingGiveUpGameScRsp",
            Self::CmdSwordTrainingLearnSkillScRsp => "CmdSwordTrainingLearnSkillScRsp",
            Self::CmdSwordTrainingResumeGameScRsp => "CmdSwordTrainingResumeGameScRsp",
            Self::CmdSwordTrainingGiveUpGameCsReq => "CmdSwordTrainingGiveUpGameCsReq",
            Self::CmdGetSwordTrainingDataScRsp => "CmdGetSwordTrainingDataScRsp",
            Self::CmdGetSwordTrainingDataCsReq => "CmdGetSwordTrainingDataCsReq",
            Self::CmdSwordTrainingExamResultConfirmCsReq => {
                "CmdSwordTrainingExamResultConfirmCsReq"
            }
            Self::CmdSwordTrainingLearnSkillCsReq => "CmdSwordTrainingLearnSkillCsReq",
            Self::CmdSwordTrainingTurnActionScRsp => "CmdSwordTrainingTurnActionScRsp",
            Self::CmdSwordTrainingDailyPhaseConfirmScRsp => {
                "CmdSwordTrainingDailyPhaseConfirmScRsp"
            }
            Self::CmdEnterSwordTrainingExamCsReq => "CmdEnterSwordTrainingExamCsReq",
            Self::CmdSwordTrainingStartGameCsReq => "CmdSwordTrainingStartGameCsReq",
            Self::CmdSwordTrainingDialogueSelectOptionCsReq => {
                "CmdSwordTrainingDialogueSelectOptionCsReq"
            }
            Self::CmdSwordTrainingTurnActionCsReq => "CmdSwordTrainingTurnActionCsReq",
            Self::CmdEnterSwordTrainingExamScRsp => "CmdEnterSwordTrainingExamScRsp",
            Self::CmdSwordTrainingRestoreGameScRsp => "CmdSwordTrainingRestoreGameScRsp",
            Self::CmdSwordTrainingStoryConfirmCsReq => {
                "CmdSwordTrainingStoryConfirmCsReq"
            }
            Self::CmdSwordTrainingSelectEndingCsReq => {
                "CmdSwordTrainingSelectEndingCsReq"
            }
            Self::CmdSwordTrainingGameSyncChangeScNotify => {
                "CmdSwordTrainingGameSyncChangeScNotify"
            }
            Self::CmdSwordTrainingSelectEndingScRsp => {
                "CmdSwordTrainingSelectEndingScRsp"
            }
            Self::CmdSwordTrainingStoryConfirmScRsp => {
                "CmdSwordTrainingStoryConfirmScRsp"
            }
            Self::CmdSwordTrainingUnlockSyncScNotify => {
                "CmdSwordTrainingUnlockSyncScNotify"
            }
            Self::CmdSwordTrainingMarkEndingViewedScRsp => {
                "CmdSwordTrainingMarkEndingViewedScRsp"
            }
            Self::CmdSwordTrainingDailyPhaseConfirmCsReq => {
                "CmdSwordTrainingDailyPhaseConfirmCsReq"
            }
            Self::CmdSwordTrainingStartGameScRsp => "CmdSwordTrainingStartGameScRsp",
            Self::CmdSwordTrainingActionTurnSettleScNotify => {
                "CmdSwordTrainingActionTurnSettleScNotify"
            }
            Self::CmdSwordTrainingRestoreGameCsReq => "CmdSwordTrainingRestoreGameCsReq",
            Self::CmdSwordTrainingDialogueSelectOptionScRsp => {
                "CmdSwordTrainingDialogueSelectOptionScRsp"
            }
            Self::CmdSwordTrainingExamResultConfirmScRsp => {
                "CmdSwordTrainingExamResultConfirmScRsp"
            }
            Self::CmdSwordTrainingMarkEndingViewedCsReq => {
                "CmdSwordTrainingMarkEndingViewedCsReq"
            }
            Self::CmdSwordTrainingResumeGameCsReq => "CmdSwordTrainingResumeGameCsReq",
            Self::CmdSwordTrainingSetSkillTraceScRsp => {
                "CmdSwordTrainingSetSkillTraceScRsp"
            }
            Self::CmdSwordTrainingGameSettleScNotify => {
                "CmdSwordTrainingGameSettleScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MBONCPAOOMA_GKJBAODJMJG" => Some(Self::MboncpaoomaGkjbaodjmjg),
            "CmdSwordTrainingStoryBattleScRsp" => {
                Some(Self::CmdSwordTrainingStoryBattleScRsp)
            }
            "CmdSwordTrainingSetSkillTraceCsReq" => {
                Some(Self::CmdSwordTrainingSetSkillTraceCsReq)
            }
            "CmdSwordTrainingStoryBattleCsReq" => {
                Some(Self::CmdSwordTrainingStoryBattleCsReq)
            }
            "CmdSwordTrainingGiveUpGameScRsp" => {
                Some(Self::CmdSwordTrainingGiveUpGameScRsp)
            }
            "CmdSwordTrainingLearnSkillScRsp" => {
                Some(Self::CmdSwordTrainingLearnSkillScRsp)
            }
            "CmdSwordTrainingResumeGameScRsp" => {
                Some(Self::CmdSwordTrainingResumeGameScRsp)
            }
            "CmdSwordTrainingGiveUpGameCsReq" => {
                Some(Self::CmdSwordTrainingGiveUpGameCsReq)
            }
            "CmdGetSwordTrainingDataScRsp" => Some(Self::CmdGetSwordTrainingDataScRsp),
            "CmdGetSwordTrainingDataCsReq" => Some(Self::CmdGetSwordTrainingDataCsReq),
            "CmdSwordTrainingExamResultConfirmCsReq" => {
                Some(Self::CmdSwordTrainingExamResultConfirmCsReq)
            }
            "CmdSwordTrainingLearnSkillCsReq" => {
                Some(Self::CmdSwordTrainingLearnSkillCsReq)
            }
            "CmdSwordTrainingTurnActionScRsp" => {
                Some(Self::CmdSwordTrainingTurnActionScRsp)
            }
            "CmdSwordTrainingDailyPhaseConfirmScRsp" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmScRsp)
            }
            "CmdEnterSwordTrainingExamCsReq" => {
                Some(Self::CmdEnterSwordTrainingExamCsReq)
            }
            "CmdSwordTrainingStartGameCsReq" => {
                Some(Self::CmdSwordTrainingStartGameCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionCsReq" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionCsReq)
            }
            "CmdSwordTrainingTurnActionCsReq" => {
                Some(Self::CmdSwordTrainingTurnActionCsReq)
            }
            "CmdEnterSwordTrainingExamScRsp" => {
                Some(Self::CmdEnterSwordTrainingExamScRsp)
            }
            "CmdSwordTrainingRestoreGameScRsp" => {
                Some(Self::CmdSwordTrainingRestoreGameScRsp)
            }
            "CmdSwordTrainingStoryConfirmCsReq" => {
                Some(Self::CmdSwordTrainingStoryConfirmCsReq)
            }
            "CmdSwordTrainingSelectEndingCsReq" => {
                Some(Self::CmdSwordTrainingSelectEndingCsReq)
            }
            "CmdSwordTrainingGameSyncChangeScNotify" => {
                Some(Self::CmdSwordTrainingGameSyncChangeScNotify)
            }
            "CmdSwordTrainingSelectEndingScRsp" => {
                Some(Self::CmdSwordTrainingSelectEndingScRsp)
            }
            "CmdSwordTrainingStoryConfirmScRsp" => {
                Some(Self::CmdSwordTrainingStoryConfirmScRsp)
            }
            "CmdSwordTrainingUnlockSyncScNotify" => {
                Some(Self::CmdSwordTrainingUnlockSyncScNotify)
            }
            "CmdSwordTrainingMarkEndingViewedScRsp" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedScRsp)
            }
            "CmdSwordTrainingDailyPhaseConfirmCsReq" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmCsReq)
            }
            "CmdSwordTrainingStartGameScRsp" => {
                Some(Self::CmdSwordTrainingStartGameScRsp)
            }
            "CmdSwordTrainingActionTurnSettleScNotify" => {
                Some(Self::CmdSwordTrainingActionTurnSettleScNotify)
            }
            "CmdSwordTrainingRestoreGameCsReq" => {
                Some(Self::CmdSwordTrainingRestoreGameCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionScRsp" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionScRsp)
            }
            "CmdSwordTrainingExamResultConfirmScRsp" => {
                Some(Self::CmdSwordTrainingExamResultConfirmScRsp)
            }
            "CmdSwordTrainingMarkEndingViewedCsReq" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedCsReq)
            }
            "CmdSwordTrainingResumeGameCsReq" => {
                Some(Self::CmdSwordTrainingResumeGameCsReq)
            }
            "CmdSwordTrainingSetSkillTraceScRsp" => {
                Some(Self::CmdSwordTrainingSetSkillTraceScRsp)
            }
            "CmdSwordTrainingGameSettleScNotify" => {
                Some(Self::CmdSwordTrainingGameSettleScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Khknmggahdc {
    Gkjbaodjmjg = 0,
    Kjopbbgkgkm = 1,
    Cpeigegloio = 2,
    Action = 3,
    Klgcofjdffc = 4,
    Plhafcbmcnm = 5,
    Odmgbbagjdf = 6,
    Ialcgidjcde = 7,
}
impl Khknmggahdc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "KHKNMGGAHDC_GKJBAODJMJG",
            Self::Kjopbbgkgkm => "KHKNMGGAHDC_KJOPBBGKGKM",
            Self::Cpeigegloio => "KHKNMGGAHDC_CPEIGEGLOIO",
            Self::Action => "KHKNMGGAHDC_action",
            Self::Klgcofjdffc => "KHKNMGGAHDC_KLGCOFJDFFC",
            Self::Plhafcbmcnm => "KHKNMGGAHDC_PLHAFCBMCNM",
            Self::Odmgbbagjdf => "KHKNMGGAHDC_ODMGBBAGJDF",
            Self::Ialcgidjcde => "KHKNMGGAHDC_IALCGIDJCDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KHKNMGGAHDC_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "KHKNMGGAHDC_KJOPBBGKGKM" => Some(Self::Kjopbbgkgkm),
            "KHKNMGGAHDC_CPEIGEGLOIO" => Some(Self::Cpeigegloio),
            "KHKNMGGAHDC_action" => Some(Self::Action),
            "KHKNMGGAHDC_KLGCOFJDFFC" => Some(Self::Klgcofjdffc),
            "KHKNMGGAHDC_PLHAFCBMCNM" => Some(Self::Plhafcbmcnm),
            "KHKNMGGAHDC_ODMGBBAGJDF" => Some(Self::Odmgbbagjdf),
            "KHKNMGGAHDC_IALCGIDJCDE" => Some(Self::Ialcgidjcde),
            _ => None,
        }
    }
}
/// Obf: EJFGNINOLEO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SwordTrainingDailyPhaseType {
    EjfgninoleoGkjbaodjmjg = 0,
    EjfgninoleoPincliagpmn = 1,
    EjfgninoleoCgoibmiiipc = 2,
    EjfgninoleoCpdjfgpjoae = 3,
    EjfgninoleoBogijgkkjgd = 4,
}
impl SwordTrainingDailyPhaseType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EjfgninoleoGkjbaodjmjg => "EJFGNINOLEO_GKJBAODJMJG",
            Self::EjfgninoleoPincliagpmn => "EJFGNINOLEO_PINCLIAGPMN",
            Self::EjfgninoleoCgoibmiiipc => "EJFGNINOLEO_CGOIBMIIIPC",
            Self::EjfgninoleoCpdjfgpjoae => "EJFGNINOLEO_CPDJFGPJOAE",
            Self::EjfgninoleoBogijgkkjgd => "EJFGNINOLEO_BOGIJGKKJGD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJFGNINOLEO_GKJBAODJMJG" => Some(Self::EjfgninoleoGkjbaodjmjg),
            "EJFGNINOLEO_PINCLIAGPMN" => Some(Self::EjfgninoleoPincliagpmn),
            "EJFGNINOLEO_CGOIBMIIIPC" => Some(Self::EjfgninoleoCgoibmiiipc),
            "EJFGNINOLEO_CPDJFGPJOAE" => Some(Self::EjfgninoleoCpdjfgpjoae),
            "EJFGNINOLEO_BOGIJGKKJGD" => Some(Self::EjfgninoleoBogijgkkjgd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dakmofildgo {
    Gkjbaodjmjg = 0,
    Kifiamdbgkg = 1,
    Onimcibagfh = 2,
    Mmnleempbdp = 3,
    Hokfkihdiae = 4,
    Gicjngejkmd = 5,
}
impl Dakmofildgo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "DAKMOFILDGO_GKJBAODJMJG",
            Self::Kifiamdbgkg => "DAKMOFILDGO_KIFIAMDBGKG",
            Self::Onimcibagfh => "DAKMOFILDGO_ONIMCIBAGFH",
            Self::Mmnleempbdp => "DAKMOFILDGO_MMNLEEMPBDP",
            Self::Hokfkihdiae => "DAKMOFILDGO_HOKFKIHDIAE",
            Self::Gicjngejkmd => "DAKMOFILDGO_GICJNGEJKMD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DAKMOFILDGO_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "DAKMOFILDGO_KIFIAMDBGKG" => Some(Self::Kifiamdbgkg),
            "DAKMOFILDGO_ONIMCIBAGFH" => Some(Self::Onimcibagfh),
            "DAKMOFILDGO_MMNLEEMPBDP" => Some(Self::Mmnleempbdp),
            "DAKMOFILDGO_HOKFKIHDIAE" => Some(Self::Hokfkihdiae),
            "DAKMOFILDGO_GICJNGEJKMD" => Some(Self::Gicjngejkmd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fgnklkdeehe {
    Ighodbncaid = 0,
    Jddfkjekocf = 1,
    Iclppilpoph = 2,
    Ghppibpkfof = 3,
    Klekpbolnpo = 4,
    Inogaihdogh = 5,
}
impl Fgnklkdeehe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ighodbncaid => "FGNKLKDEEHE_IGHODBNCAID",
            Self::Jddfkjekocf => "FGNKLKDEEHE_JDDFKJEKOCF",
            Self::Iclppilpoph => "FGNKLKDEEHE_ICLPPILPOPH",
            Self::Ghppibpkfof => "FGNKLKDEEHE_GHPPIBPKFOF",
            Self::Klekpbolnpo => "FGNKLKDEEHE_KLEKPBOLNPO",
            Self::Inogaihdogh => "FGNKLKDEEHE_INOGAIHDOGH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FGNKLKDEEHE_IGHODBNCAID" => Some(Self::Ighodbncaid),
            "FGNKLKDEEHE_JDDFKJEKOCF" => Some(Self::Jddfkjekocf),
            "FGNKLKDEEHE_ICLPPILPOPH" => Some(Self::Iclppilpoph),
            "FGNKLKDEEHE_GHPPIBPKFOF" => Some(Self::Ghppibpkfof),
            "FGNKLKDEEHE_KLEKPBOLNPO" => Some(Self::Klekpbolnpo),
            "FGNKLKDEEHE_INOGAIHDOGH" => Some(Self::Inogaihdogh),
            _ => None,
        }
    }
}
/// Obf: JGCHKAHHDED
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerSyncType {
    JgchkahhdedPklhaooanpl = 0,
    CmdPlayerSyncScNotify = 657,
}
impl CmdPlayerSyncType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JgchkahhdedPklhaooanpl => "JGCHKAHHDED_PKLHAOOANPL",
            Self::CmdPlayerSyncScNotify => "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 {
            "JGCHKAHHDED_PKLHAOOANPL" => Some(Self::JgchkahhdedPklhaooanpl),
            "CmdPlayerSyncScNotify" => Some(Self::CmdPlayerSyncScNotify),
            _ => None,
        }
    }
}
/// Obf: JHCAKEEGKOJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTalkEventType {
    JhcakeegkojDajpngogoig = 0,
    CmdGetNpcTakenRewardScRsp = 2128,
    CmdGetFirstTalkNpcScRsp = 2162,
    CmdHkagobdlmgb = 2105,
    CmdGetFirstTalkNpcCsReq = 2138,
    CmdTakeTalkRewardScRsp = 2175,
    CmdDkffpmeonno = 2126,
    CmdGetFirstTalkByPerformanceNpcScRsp = 2169,
    CmdGetTalkEventRewardCsReq = 2155,
    CmdGetFirstTalkByPerformanceNpcCsReq = 2137,
    CmdFinishFirstTalkByPerformanceNpcCsReq = 2166,
    CmdGetReceivedTalkEventsCsReq = 2157,
    CmdFinishFirstTalkByPerformanceNpcScRsp = 2179,
    CmdFinishFirstTalkNpcScRsp = 2120,
    CmdFinishFirstTalkNpcCsReq = 2147,
}
impl CmdTalkEventType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JhcakeegkojDajpngogoig => "JHCAKEEGKOJ_DAJPNGOGOIG",
            Self::CmdGetNpcTakenRewardScRsp => "CmdGetNpcTakenRewardScRsp",
            Self::CmdGetFirstTalkNpcScRsp => "CmdGetFirstTalkNpcScRsp",
            Self::CmdHkagobdlmgb => "CmdHKAGOBDLMGB",
            Self::CmdGetFirstTalkNpcCsReq => "CmdGetFirstTalkNpcCsReq",
            Self::CmdTakeTalkRewardScRsp => "CmdTakeTalkRewardScRsp",
            Self::CmdDkffpmeonno => "CmdDKFFPMEONNO",
            Self::CmdGetFirstTalkByPerformanceNpcScRsp => {
                "CmdGetFirstTalkByPerformanceNpcScRsp"
            }
            Self::CmdGetTalkEventRewardCsReq => "CmdGetTalkEventRewardCsReq",
            Self::CmdGetFirstTalkByPerformanceNpcCsReq => {
                "CmdGetFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdFinishFirstTalkByPerformanceNpcCsReq => {
                "CmdFinishFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdGetReceivedTalkEventsCsReq => "CmdGetReceivedTalkEventsCsReq",
            Self::CmdFinishFirstTalkByPerformanceNpcScRsp => {
                "CmdFinishFirstTalkByPerformanceNpcScRsp"
            }
            Self::CmdFinishFirstTalkNpcScRsp => "CmdFinishFirstTalkNpcScRsp",
            Self::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 {
            "JHCAKEEGKOJ_DAJPNGOGOIG" => Some(Self::JhcakeegkojDajpngogoig),
            "CmdGetNpcTakenRewardScRsp" => Some(Self::CmdGetNpcTakenRewardScRsp),
            "CmdGetFirstTalkNpcScRsp" => Some(Self::CmdGetFirstTalkNpcScRsp),
            "CmdHKAGOBDLMGB" => Some(Self::CmdHkagobdlmgb),
            "CmdGetFirstTalkNpcCsReq" => Some(Self::CmdGetFirstTalkNpcCsReq),
            "CmdTakeTalkRewardScRsp" => Some(Self::CmdTakeTalkRewardScRsp),
            "CmdDKFFPMEONNO" => Some(Self::CmdDkffpmeonno),
            "CmdGetFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetTalkEventRewardCsReq" => Some(Self::CmdGetTalkEventRewardCsReq),
            "CmdGetFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcCsReq)
            }
            "CmdFinishFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcCsReq)
            }
            "CmdGetReceivedTalkEventsCsReq" => Some(Self::CmdGetReceivedTalkEventsCsReq),
            "CmdFinishFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcScRsp)
            }
            "CmdFinishFirstTalkNpcScRsp" => Some(Self::CmdFinishFirstTalkNpcScRsp),
            "CmdFinishFirstTalkNpcCsReq" => Some(Self::CmdFinishFirstTalkNpcCsReq),
            _ => None,
        }
    }
}
/// Obf: EECIIPGIMAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTarotBookType {
    EeciipgimahGkjbaodjmjg = 0,
    CmdTarotBookUnlockInteractionCsReq = 8149,
    CmdTarotBookModifyEnergyScNotify = 8156,
    CmdTarotBookGetDataScRsp = 8144,
    CmdTarotBookUnlockStoryScRsp = 8151,
    CmdTarotBookOpenPackCsReq = 8146,
    CmdTarotBookFinishInteractionScRsp = 8153,
    CmdTarotBookOpenPackScRsp = 8141,
    CmdTarotBookUnlockInteractionScRsp = 8157,
    CmdTarotBookFinishInteractionCsReq = 8158,
    CmdTarotBookFinishStoryCsReq = 8160,
    CmdTarotBookMultiOpenPackAndUnlockStoryCsReq = 8143,
    CmdTarotBookMultiOpenPackAndUnlockStoryScRsp = 8147,
    CmdTarotBookSyncDataScNotify = 8159,
    CmdTarotBookFinishStoryScRsp = 8155,
    CmdTarotBookUnlockStoryCsReq = 8152,
    CmdTarotBookGetDataCsReq = 8150,
}
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 {
            Self::EeciipgimahGkjbaodjmjg => "EECIIPGIMAH_GKJBAODJMJG",
            Self::CmdTarotBookUnlockInteractionCsReq => {
                "CmdTarotBookUnlockInteractionCsReq"
            }
            Self::CmdTarotBookModifyEnergyScNotify => "CmdTarotBookModifyEnergyScNotify",
            Self::CmdTarotBookGetDataScRsp => "CmdTarotBookGetDataScRsp",
            Self::CmdTarotBookUnlockStoryScRsp => "CmdTarotBookUnlockStoryScRsp",
            Self::CmdTarotBookOpenPackCsReq => "CmdTarotBookOpenPackCsReq",
            Self::CmdTarotBookFinishInteractionScRsp => {
                "CmdTarotBookFinishInteractionScRsp"
            }
            Self::CmdTarotBookOpenPackScRsp => "CmdTarotBookOpenPackScRsp",
            Self::CmdTarotBookUnlockInteractionScRsp => {
                "CmdTarotBookUnlockInteractionScRsp"
            }
            Self::CmdTarotBookFinishInteractionCsReq => {
                "CmdTarotBookFinishInteractionCsReq"
            }
            Self::CmdTarotBookFinishStoryCsReq => "CmdTarotBookFinishStoryCsReq",
            Self::CmdTarotBookMultiOpenPackAndUnlockStoryCsReq => {
                "CmdTarotBookMultiOpenPackAndUnlockStoryCsReq"
            }
            Self::CmdTarotBookMultiOpenPackAndUnlockStoryScRsp => {
                "CmdTarotBookMultiOpenPackAndUnlockStoryScRsp"
            }
            Self::CmdTarotBookSyncDataScNotify => "CmdTarotBookSyncDataScNotify",
            Self::CmdTarotBookFinishStoryScRsp => "CmdTarotBookFinishStoryScRsp",
            Self::CmdTarotBookUnlockStoryCsReq => "CmdTarotBookUnlockStoryCsReq",
            Self::CmdTarotBookGetDataCsReq => "CmdTarotBookGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EECIIPGIMAH_GKJBAODJMJG" => Some(Self::EeciipgimahGkjbaodjmjg),
            "CmdTarotBookUnlockInteractionCsReq" => {
                Some(Self::CmdTarotBookUnlockInteractionCsReq)
            }
            "CmdTarotBookModifyEnergyScNotify" => {
                Some(Self::CmdTarotBookModifyEnergyScNotify)
            }
            "CmdTarotBookGetDataScRsp" => Some(Self::CmdTarotBookGetDataScRsp),
            "CmdTarotBookUnlockStoryScRsp" => Some(Self::CmdTarotBookUnlockStoryScRsp),
            "CmdTarotBookOpenPackCsReq" => Some(Self::CmdTarotBookOpenPackCsReq),
            "CmdTarotBookFinishInteractionScRsp" => {
                Some(Self::CmdTarotBookFinishInteractionScRsp)
            }
            "CmdTarotBookOpenPackScRsp" => Some(Self::CmdTarotBookOpenPackScRsp),
            "CmdTarotBookUnlockInteractionScRsp" => {
                Some(Self::CmdTarotBookUnlockInteractionScRsp)
            }
            "CmdTarotBookFinishInteractionCsReq" => {
                Some(Self::CmdTarotBookFinishInteractionCsReq)
            }
            "CmdTarotBookFinishStoryCsReq" => Some(Self::CmdTarotBookFinishStoryCsReq),
            "CmdTarotBookMultiOpenPackAndUnlockStoryCsReq" => {
                Some(Self::CmdTarotBookMultiOpenPackAndUnlockStoryCsReq)
            }
            "CmdTarotBookMultiOpenPackAndUnlockStoryScRsp" => {
                Some(Self::CmdTarotBookMultiOpenPackAndUnlockStoryScRsp)
            }
            "CmdTarotBookSyncDataScNotify" => Some(Self::CmdTarotBookSyncDataScNotify),
            "CmdTarotBookFinishStoryScRsp" => Some(Self::CmdTarotBookFinishStoryScRsp),
            "CmdTarotBookUnlockStoryCsReq" => Some(Self::CmdTarotBookUnlockStoryCsReq),
            "CmdTarotBookGetDataCsReq" => Some(Self::CmdTarotBookGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: HBEKBGJIOAL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTelevisionActivityType {
    HbekbgjioalGkjbaodjmjg = 0,
    CmdEnterTelevisionActivityStageScRsp = 6972,
    CmdGetTelevisionActivityDataCsReq = 6970,
    CmdEnterTelevisionActivityStageCsReq = 6961,
    CmdGetTelevisionActivityDataScRsp = 6964,
    CmdTelevisionActivityBattleEndScNotify = 6971,
    CmdOlccnnjaoho = 6966,
}
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 {
            Self::HbekbgjioalGkjbaodjmjg => "HBEKBGJIOAL_GKJBAODJMJG",
            Self::CmdEnterTelevisionActivityStageScRsp => {
                "CmdEnterTelevisionActivityStageScRsp"
            }
            Self::CmdGetTelevisionActivityDataCsReq => {
                "CmdGetTelevisionActivityDataCsReq"
            }
            Self::CmdEnterTelevisionActivityStageCsReq => {
                "CmdEnterTelevisionActivityStageCsReq"
            }
            Self::CmdGetTelevisionActivityDataScRsp => {
                "CmdGetTelevisionActivityDataScRsp"
            }
            Self::CmdTelevisionActivityBattleEndScNotify => {
                "CmdTelevisionActivityBattleEndScNotify"
            }
            Self::CmdOlccnnjaoho => "CmdOLCCNNJAOHO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HBEKBGJIOAL_GKJBAODJMJG" => Some(Self::HbekbgjioalGkjbaodjmjg),
            "CmdEnterTelevisionActivityStageScRsp" => {
                Some(Self::CmdEnterTelevisionActivityStageScRsp)
            }
            "CmdGetTelevisionActivityDataCsReq" => {
                Some(Self::CmdGetTelevisionActivityDataCsReq)
            }
            "CmdEnterTelevisionActivityStageCsReq" => {
                Some(Self::CmdEnterTelevisionActivityStageCsReq)
            }
            "CmdGetTelevisionActivityDataScRsp" => {
                Some(Self::CmdGetTelevisionActivityDataScRsp)
            }
            "CmdTelevisionActivityBattleEndScNotify" => {
                Some(Self::CmdTelevisionActivityBattleEndScNotify)
            }
            "CmdOLCCNNJAOHO" => Some(Self::CmdOlccnnjaoho),
            _ => None,
        }
    }
}
/// Obf: CNPFAHFNJOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTextJoinType {
    CnpfahfnjoeGkjbaodjmjg = 0,
    CmdTextJoinQueryScRsp = 3875,
    CmdTextJoinBatchSaveCsReq = 3838,
    CmdBpneajgkclg = 3828,
    CnpfahfnjoeLaklianannb = 3857,
    CmdTextJoinQueryCsReq = 3855,
    CmdTextJoinBatchSaveScRsp = 3862,
}
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 {
            Self::CnpfahfnjoeGkjbaodjmjg => "CNPFAHFNJOE_GKJBAODJMJG",
            Self::CmdTextJoinQueryScRsp => "CmdTextJoinQueryScRsp",
            Self::CmdTextJoinBatchSaveCsReq => "CmdTextJoinBatchSaveCsReq",
            Self::CmdBpneajgkclg => "CmdBPNEAJGKCLG",
            Self::CnpfahfnjoeLaklianannb => "CNPFAHFNJOE_LAKLIANANNB",
            Self::CmdTextJoinQueryCsReq => "CmdTextJoinQueryCsReq",
            Self::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 {
            "CNPFAHFNJOE_GKJBAODJMJG" => Some(Self::CnpfahfnjoeGkjbaodjmjg),
            "CmdTextJoinQueryScRsp" => Some(Self::CmdTextJoinQueryScRsp),
            "CmdTextJoinBatchSaveCsReq" => Some(Self::CmdTextJoinBatchSaveCsReq),
            "CmdBPNEAJGKCLG" => Some(Self::CmdBpneajgkclg),
            "CNPFAHFNJOE_LAKLIANANNB" => Some(Self::CnpfahfnjoeLaklianannb),
            "CmdTextJoinQueryCsReq" => Some(Self::CmdTextJoinQueryCsReq),
            "CmdTextJoinBatchSaveScRsp" => Some(Self::CmdTextJoinBatchSaveScRsp),
            _ => None,
        }
    }
}
/// Obf: NBOLMLJIGMN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrackPhotoActivityType {
    NbolmljigmnGkjbaodjmjg = 0,
    CmdStartTrackPhotoStageCsReq = 7559,
    CmdSettleTrackPhotoStageCsReq = 7554,
    CmdSettleTrackPhotoStageScRsp = 7555,
    CmdGetTrackPhotoActivityDataScRsp = 7558,
    CmdStartTrackPhotoStageScRsp = 7552,
    CmdGetTrackPhotoActivityDataCsReq = 7560,
    CmdAiebciemjdn = 7553,
    CmdQuitTrackPhotoStageCsReq = 7556,
}
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 {
            Self::NbolmljigmnGkjbaodjmjg => "NBOLMLJIGMN_GKJBAODJMJG",
            Self::CmdStartTrackPhotoStageCsReq => "CmdStartTrackPhotoStageCsReq",
            Self::CmdSettleTrackPhotoStageCsReq => "CmdSettleTrackPhotoStageCsReq",
            Self::CmdSettleTrackPhotoStageScRsp => "CmdSettleTrackPhotoStageScRsp",
            Self::CmdGetTrackPhotoActivityDataScRsp => {
                "CmdGetTrackPhotoActivityDataScRsp"
            }
            Self::CmdStartTrackPhotoStageScRsp => "CmdStartTrackPhotoStageScRsp",
            Self::CmdGetTrackPhotoActivityDataCsReq => {
                "CmdGetTrackPhotoActivityDataCsReq"
            }
            Self::CmdAiebciemjdn => "CmdAIEBCIEMJDN",
            Self::CmdQuitTrackPhotoStageCsReq => "CmdQuitTrackPhotoStageCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NBOLMLJIGMN_GKJBAODJMJG" => Some(Self::NbolmljigmnGkjbaodjmjg),
            "CmdStartTrackPhotoStageCsReq" => Some(Self::CmdStartTrackPhotoStageCsReq),
            "CmdSettleTrackPhotoStageCsReq" => Some(Self::CmdSettleTrackPhotoStageCsReq),
            "CmdSettleTrackPhotoStageScRsp" => Some(Self::CmdSettleTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataScRsp" => {
                Some(Self::CmdGetTrackPhotoActivityDataScRsp)
            }
            "CmdStartTrackPhotoStageScRsp" => Some(Self::CmdStartTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataCsReq" => {
                Some(Self::CmdGetTrackPhotoActivityDataCsReq)
            }
            "CmdAIEBCIEMJDN" => Some(Self::CmdAiebciemjdn),
            "CmdQuitTrackPhotoStageCsReq" => Some(Self::CmdQuitTrackPhotoStageCsReq),
            _ => None,
        }
    }
}
/// Obf: CLBMGDANFHH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainPartyType {
    ClbmgdanfhhGkjbaodjmjg = 0,
    CmdPjeceeppnnb = 8093,
    CmdTrainPartyBuildStartStepScRsp = 8079,
    ClbmgdanfhhMcfdckmengi = 8078,
    CmdTrainPartyTakeBuildLevelAwardCsReq = 8013,
    CmdTrainPartyHandlePendingActionCsReq = 8037,
    CmdBfikmfpblpn = 8096,
    CmdTrainPartyGetDataCsReq = 8057,
    CmdTrainPartyGamePlayStartScRsp = 8086,
    CmdTrainPartyBuildingUpdateNotify = 8095,
    CmdTrainPartyMoveScNotify = 8038,
    CmdTrainPartySettleNotify = 8047,
    CmdTrainPartyUseCardScRsp = 8075,
    CmdTrainPartySkipUnlockSelfRoomScRsp = 8008,
    CmdEhhlnnjibhp = 8042,
    CmdTrainPartyBuildRoomScNotify = 8052,
    CmdHkapngoapap = 8076,
    CmdHphfgcfjbio = 8016,
    CmdTrainPartySyncUpdateScNotify = 8026,
    CmdTrainPartyBuildStartStepCsReq = 8066,
    CmdTrainPartyHandlePendingActionScRsp = 8069,
    CmdTrainPartyBuildDiyScRsp = 8083,
    CmdTrainPartyGamePlayStartCsReq = 8050,
    CmdTrainPartyUseCardCsReq = 8055,
    ClbmgdanfhhBjafgkkahjo = 8011,
    CmdTrainPartyTakeBuildLevelAwardScRsp = 8099,
    CmdTrainPartyGamePlaySettleNotify = 8009,
    CmdGbkhdliecaf = 8089,
    CmdTrainPartyGetDataScRsp = 8028,
    CmdTrainPartySkipUnlockSelfRoomCsReq = 8056,
    CmdTrainPartyBuildDiyCsReq = 8045,
}
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 {
            Self::ClbmgdanfhhGkjbaodjmjg => "CLBMGDANFHH_GKJBAODJMJG",
            Self::CmdPjeceeppnnb => "CmdPJECEEPPNNB",
            Self::CmdTrainPartyBuildStartStepScRsp => "CmdTrainPartyBuildStartStepScRsp",
            Self::ClbmgdanfhhMcfdckmengi => "CLBMGDANFHH_MCFDCKMENGI",
            Self::CmdTrainPartyTakeBuildLevelAwardCsReq => {
                "CmdTrainPartyTakeBuildLevelAwardCsReq"
            }
            Self::CmdTrainPartyHandlePendingActionCsReq => {
                "CmdTrainPartyHandlePendingActionCsReq"
            }
            Self::CmdBfikmfpblpn => "CmdBFIKMFPBLPN",
            Self::CmdTrainPartyGetDataCsReq => "CmdTrainPartyGetDataCsReq",
            Self::CmdTrainPartyGamePlayStartScRsp => "CmdTrainPartyGamePlayStartScRsp",
            Self::CmdTrainPartyBuildingUpdateNotify => {
                "CmdTrainPartyBuildingUpdateNotify"
            }
            Self::CmdTrainPartyMoveScNotify => "CmdTrainPartyMoveScNotify",
            Self::CmdTrainPartySettleNotify => "CmdTrainPartySettleNotify",
            Self::CmdTrainPartyUseCardScRsp => "CmdTrainPartyUseCardScRsp",
            Self::CmdTrainPartySkipUnlockSelfRoomScRsp => {
                "CmdTrainPartySkipUnlockSelfRoomScRsp"
            }
            Self::CmdEhhlnnjibhp => "CmdEHHLNNJIBHP",
            Self::CmdTrainPartyBuildRoomScNotify => "CmdTrainPartyBuildRoomScNotify",
            Self::CmdHkapngoapap => "CmdHKAPNGOAPAP",
            Self::CmdHphfgcfjbio => "CmdHPHFGCFJBIO",
            Self::CmdTrainPartySyncUpdateScNotify => "CmdTrainPartySyncUpdateScNotify",
            Self::CmdTrainPartyBuildStartStepCsReq => "CmdTrainPartyBuildStartStepCsReq",
            Self::CmdTrainPartyHandlePendingActionScRsp => {
                "CmdTrainPartyHandlePendingActionScRsp"
            }
            Self::CmdTrainPartyBuildDiyScRsp => "CmdTrainPartyBuildDiyScRsp",
            Self::CmdTrainPartyGamePlayStartCsReq => "CmdTrainPartyGamePlayStartCsReq",
            Self::CmdTrainPartyUseCardCsReq => "CmdTrainPartyUseCardCsReq",
            Self::ClbmgdanfhhBjafgkkahjo => "CLBMGDANFHH_BJAFGKKAHJO",
            Self::CmdTrainPartyTakeBuildLevelAwardScRsp => {
                "CmdTrainPartyTakeBuildLevelAwardScRsp"
            }
            Self::CmdTrainPartyGamePlaySettleNotify => {
                "CmdTrainPartyGamePlaySettleNotify"
            }
            Self::CmdGbkhdliecaf => "CmdGBKHDLIECAF",
            Self::CmdTrainPartyGetDataScRsp => "CmdTrainPartyGetDataScRsp",
            Self::CmdTrainPartySkipUnlockSelfRoomCsReq => {
                "CmdTrainPartySkipUnlockSelfRoomCsReq"
            }
            Self::CmdTrainPartyBuildDiyCsReq => "CmdTrainPartyBuildDiyCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLBMGDANFHH_GKJBAODJMJG" => Some(Self::ClbmgdanfhhGkjbaodjmjg),
            "CmdPJECEEPPNNB" => Some(Self::CmdPjeceeppnnb),
            "CmdTrainPartyBuildStartStepScRsp" => {
                Some(Self::CmdTrainPartyBuildStartStepScRsp)
            }
            "CLBMGDANFHH_MCFDCKMENGI" => Some(Self::ClbmgdanfhhMcfdckmengi),
            "CmdTrainPartyTakeBuildLevelAwardCsReq" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardCsReq)
            }
            "CmdTrainPartyHandlePendingActionCsReq" => {
                Some(Self::CmdTrainPartyHandlePendingActionCsReq)
            }
            "CmdBFIKMFPBLPN" => Some(Self::CmdBfikmfpblpn),
            "CmdTrainPartyGetDataCsReq" => Some(Self::CmdTrainPartyGetDataCsReq),
            "CmdTrainPartyGamePlayStartScRsp" => {
                Some(Self::CmdTrainPartyGamePlayStartScRsp)
            }
            "CmdTrainPartyBuildingUpdateNotify" => {
                Some(Self::CmdTrainPartyBuildingUpdateNotify)
            }
            "CmdTrainPartyMoveScNotify" => Some(Self::CmdTrainPartyMoveScNotify),
            "CmdTrainPartySettleNotify" => Some(Self::CmdTrainPartySettleNotify),
            "CmdTrainPartyUseCardScRsp" => Some(Self::CmdTrainPartyUseCardScRsp),
            "CmdTrainPartySkipUnlockSelfRoomScRsp" => {
                Some(Self::CmdTrainPartySkipUnlockSelfRoomScRsp)
            }
            "CmdEHHLNNJIBHP" => Some(Self::CmdEhhlnnjibhp),
            "CmdTrainPartyBuildRoomScNotify" => {
                Some(Self::CmdTrainPartyBuildRoomScNotify)
            }
            "CmdHKAPNGOAPAP" => Some(Self::CmdHkapngoapap),
            "CmdHPHFGCFJBIO" => Some(Self::CmdHphfgcfjbio),
            "CmdTrainPartySyncUpdateScNotify" => {
                Some(Self::CmdTrainPartySyncUpdateScNotify)
            }
            "CmdTrainPartyBuildStartStepCsReq" => {
                Some(Self::CmdTrainPartyBuildStartStepCsReq)
            }
            "CmdTrainPartyHandlePendingActionScRsp" => {
                Some(Self::CmdTrainPartyHandlePendingActionScRsp)
            }
            "CmdTrainPartyBuildDiyScRsp" => Some(Self::CmdTrainPartyBuildDiyScRsp),
            "CmdTrainPartyGamePlayStartCsReq" => {
                Some(Self::CmdTrainPartyGamePlayStartCsReq)
            }
            "CmdTrainPartyUseCardCsReq" => Some(Self::CmdTrainPartyUseCardCsReq),
            "CLBMGDANFHH_BJAFGKKAHJO" => Some(Self::ClbmgdanfhhBjafgkkahjo),
            "CmdTrainPartyTakeBuildLevelAwardScRsp" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardScRsp)
            }
            "CmdTrainPartyGamePlaySettleNotify" => {
                Some(Self::CmdTrainPartyGamePlaySettleNotify)
            }
            "CmdGBKHDLIECAF" => Some(Self::CmdGbkhdliecaf),
            "CmdTrainPartyGetDataScRsp" => Some(Self::CmdTrainPartyGetDataScRsp),
            "CmdTrainPartySkipUnlockSelfRoomCsReq" => {
                Some(Self::CmdTrainPartySkipUnlockSelfRoomCsReq)
            }
            "CmdTrainPartyBuildDiyCsReq" => Some(Self::CmdTrainPartyBuildDiyCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Clbjjeemoap {
    Oicgiihjehc = 0,
    Akhbkjikipe = 1,
    Jengjiehnbj = 2,
    Nnoodhcgcjb = 3,
}
impl Clbjjeemoap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Oicgiihjehc => "CLBJJEEMOAP_OICGIIHJEHC",
            Self::Akhbkjikipe => "CLBJJEEMOAP_AKHBKJIKIPE",
            Self::Jengjiehnbj => "CLBJJEEMOAP_JENGJIEHNBJ",
            Self::Nnoodhcgcjb => "CLBJJEEMOAP_NNOODHCGCJB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLBJJEEMOAP_OICGIIHJEHC" => Some(Self::Oicgiihjehc),
            "CLBJJEEMOAP_AKHBKJIKIPE" => Some(Self::Akhbkjikipe),
            "CLBJJEEMOAP_JENGJIEHNBJ" => Some(Self::Jengjiehnbj),
            "CLBJJEEMOAP_NNOODHCGCJB" => Some(Self::Nnoodhcgcjb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hahfbnifidc {
    Jpemmckcclg = 0,
    Hgefdjpnkpc = 1,
    Oedjpfdeemg = 2,
    Njigogljpgh = 3,
    Nenpfhnkofd = 4,
    Felaajhofll = 5,
}
impl Hahfbnifidc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jpemmckcclg => "HAHFBNIFIDC_JPEMMCKCCLG",
            Self::Hgefdjpnkpc => "HAHFBNIFIDC_HGEFDJPNKPC",
            Self::Oedjpfdeemg => "HAHFBNIFIDC_OEDJPFDEEMG",
            Self::Njigogljpgh => "HAHFBNIFIDC_NJIGOGLJPGH",
            Self::Nenpfhnkofd => "HAHFBNIFIDC_NENPFHNKOFD",
            Self::Felaajhofll => "HAHFBNIFIDC_FELAAJHOFLL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HAHFBNIFIDC_JPEMMCKCCLG" => Some(Self::Jpemmckcclg),
            "HAHFBNIFIDC_HGEFDJPNKPC" => Some(Self::Hgefdjpnkpc),
            "HAHFBNIFIDC_OEDJPFDEEMG" => Some(Self::Oedjpfdeemg),
            "HAHFBNIFIDC_NJIGOGLJPGH" => Some(Self::Njigogljpgh),
            "HAHFBNIFIDC_NENPFHNKOFD" => Some(Self::Nenpfhnkofd),
            "HAHFBNIFIDC_FELAAJHOFLL" => Some(Self::Felaajhofll),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fbdcjfadabh {
    Jfcdebbnaib = 0,
    Icfpmgjbjnc = 1,
    Bdmnagilfei = 2,
    Jndgphfapeo = 3,
}
impl Fbdcjfadabh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jfcdebbnaib => "FBDCJFADABH_JFCDEBBNAIB",
            Self::Icfpmgjbjnc => "FBDCJFADABH_ICFPMGJBJNC",
            Self::Bdmnagilfei => "FBDCJFADABH_BDMNAGILFEI",
            Self::Jndgphfapeo => "FBDCJFADABH_JNDGPHFAPEO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FBDCJFADABH_JFCDEBBNAIB" => Some(Self::Jfcdebbnaib),
            "FBDCJFADABH_ICFPMGJBJNC" => Some(Self::Icfpmgjbjnc),
            "FBDCJFADABH_BDMNAGILFEI" => Some(Self::Bdmnagilfei),
            "FBDCJFADABH_JNDGPHFAPEO" => Some(Self::Jndgphfapeo),
            _ => None,
        }
    }
}
/// Obf: LOJAAKJKKMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyMtSkillBriefType {
    LojaakjkkmdOcgnancmnmd = 0,
    LojaakjkkmdBccalhlkkei = 1,
    LojaakjkkmdHafohokgijk = 2,
    LojaakjkkmdLikocodcejp = 3,
    LojaakjkkmdAankbahfbdh = 4,
}
impl TrainPartyMtSkillBriefType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LojaakjkkmdOcgnancmnmd => "LOJAAKJKKMD_OCGNANCMNMD",
            Self::LojaakjkkmdBccalhlkkei => "LOJAAKJKKMD_BCCALHLKKEI",
            Self::LojaakjkkmdHafohokgijk => "LOJAAKJKKMD_HAFOHOKGIJK",
            Self::LojaakjkkmdLikocodcejp => "LOJAAKJKKMD_LIKOCODCEJP",
            Self::LojaakjkkmdAankbahfbdh => "LOJAAKJKKMD_AANKBAHFBDH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LOJAAKJKKMD_OCGNANCMNMD" => Some(Self::LojaakjkkmdOcgnancmnmd),
            "LOJAAKJKKMD_BCCALHLKKEI" => Some(Self::LojaakjkkmdBccalhlkkei),
            "LOJAAKJKKMD_HAFOHOKGIJK" => Some(Self::LojaakjkkmdHafohokgijk),
            "LOJAAKJKKMD_LIKOCODCEJP" => Some(Self::LojaakjkkmdLikocodcejp),
            "LOJAAKJKKMD_AANKBAHFBDH" => Some(Self::LojaakjkkmdAankbahfbdh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Djlkoignioi {
    Cldiojbikfb = 0,
    Lokbfkbffje = 1,
    Aacpllekjmj = 2,
    Phllkkliiho = 3,
    Immalhchkkg = 4,
    Laeikafpgeo = 5,
    Ppkgghgaooe = 6,
    Apapgkfmenn = 7,
    Fmmpcmbklap = 8,
}
impl Djlkoignioi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cldiojbikfb => "DJLKOIGNIOI_CLDIOJBIKFB",
            Self::Lokbfkbffje => "DJLKOIGNIOI_LOKBFKBFFJE",
            Self::Aacpllekjmj => "DJLKOIGNIOI_AACPLLEKJMJ",
            Self::Phllkkliiho => "DJLKOIGNIOI_PHLLKKLIIHO",
            Self::Immalhchkkg => "DJLKOIGNIOI_IMMALHCHKKG",
            Self::Laeikafpgeo => "DJLKOIGNIOI_LAEIKAFPGEO",
            Self::Ppkgghgaooe => "DJLKOIGNIOI_PPKGGHGAOOE",
            Self::Apapgkfmenn => "DJLKOIGNIOI_APAPGKFMENN",
            Self::Fmmpcmbklap => "DJLKOIGNIOI_FMMPCMBKLAP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DJLKOIGNIOI_CLDIOJBIKFB" => Some(Self::Cldiojbikfb),
            "DJLKOIGNIOI_LOKBFKBFFJE" => Some(Self::Lokbfkbffje),
            "DJLKOIGNIOI_AACPLLEKJMJ" => Some(Self::Aacpllekjmj),
            "DJLKOIGNIOI_PHLLKKLIIHO" => Some(Self::Phllkkliiho),
            "DJLKOIGNIOI_IMMALHCHKKG" => Some(Self::Immalhchkkg),
            "DJLKOIGNIOI_LAEIKAFPGEO" => Some(Self::Laeikafpgeo),
            "DJLKOIGNIOI_PPKGGHGAOOE" => Some(Self::Ppkgghgaooe),
            "DJLKOIGNIOI_APAPGKFMENN" => Some(Self::Apapgkfmenn),
            "DJLKOIGNIOI_FMMPCMBKLAP" => Some(Self::Fmmpcmbklap),
            _ => None,
        }
    }
}
/// Obf: ALPKBEBCOIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainVisitorType {
    AlpkbebcoibGkjbaodjmjg = 0,
    CmdTakeTrainVisitorBehaviorRewardScRsp = 3705,
    CmdDndegofinop = 3775,
    CmdTakeTrainVisitorBehaviorRewardCsReq = 3726,
    CmdTrainRefreshTimeNotify = 3738,
    CmdTrainVisitorRewardSendNotify = 3762,
    CmdTrainVisitorBehaviorFinishCsReq = 3757,
    CmdGetTrainVisitorRegisterCsReq = 3747,
    CmdJcblkgicbca = 3769,
    CmdGetTrainVisitorRegisterScRsp = 3720,
    AlpkbebcoibAkcgafeciih = 3755,
    CmdTrainVisitorBehaviorFinishScRsp = 3728,
    CmdNewSupplementVisitorCsReq = 3737,
}
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 {
            Self::AlpkbebcoibGkjbaodjmjg => "ALPKBEBCOIB_GKJBAODJMJG",
            Self::CmdTakeTrainVisitorBehaviorRewardScRsp => {
                "CmdTakeTrainVisitorBehaviorRewardScRsp"
            }
            Self::CmdDndegofinop => "CmdDNDEGOFINOP",
            Self::CmdTakeTrainVisitorBehaviorRewardCsReq => {
                "CmdTakeTrainVisitorBehaviorRewardCsReq"
            }
            Self::CmdTrainRefreshTimeNotify => "CmdTrainRefreshTimeNotify",
            Self::CmdTrainVisitorRewardSendNotify => "CmdTrainVisitorRewardSendNotify",
            Self::CmdTrainVisitorBehaviorFinishCsReq => {
                "CmdTrainVisitorBehaviorFinishCsReq"
            }
            Self::CmdGetTrainVisitorRegisterCsReq => "CmdGetTrainVisitorRegisterCsReq",
            Self::CmdJcblkgicbca => "CmdJCBLKGICBCA",
            Self::CmdGetTrainVisitorRegisterScRsp => "CmdGetTrainVisitorRegisterScRsp",
            Self::AlpkbebcoibAkcgafeciih => "ALPKBEBCOIB_AKCGAFECIIH",
            Self::CmdTrainVisitorBehaviorFinishScRsp => {
                "CmdTrainVisitorBehaviorFinishScRsp"
            }
            Self::CmdNewSupplementVisitorCsReq => "CmdNewSupplementVisitorCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALPKBEBCOIB_GKJBAODJMJG" => Some(Self::AlpkbebcoibGkjbaodjmjg),
            "CmdTakeTrainVisitorBehaviorRewardScRsp" => {
                Some(Self::CmdTakeTrainVisitorBehaviorRewardScRsp)
            }
            "CmdDNDEGOFINOP" => Some(Self::CmdDndegofinop),
            "CmdTakeTrainVisitorBehaviorRewardCsReq" => {
                Some(Self::CmdTakeTrainVisitorBehaviorRewardCsReq)
            }
            "CmdTrainRefreshTimeNotify" => Some(Self::CmdTrainRefreshTimeNotify),
            "CmdTrainVisitorRewardSendNotify" => {
                Some(Self::CmdTrainVisitorRewardSendNotify)
            }
            "CmdTrainVisitorBehaviorFinishCsReq" => {
                Some(Self::CmdTrainVisitorBehaviorFinishCsReq)
            }
            "CmdGetTrainVisitorRegisterCsReq" => {
                Some(Self::CmdGetTrainVisitorRegisterCsReq)
            }
            "CmdJCBLKGICBCA" => Some(Self::CmdJcblkgicbca),
            "CmdGetTrainVisitorRegisterScRsp" => {
                Some(Self::CmdGetTrainVisitorRegisterScRsp)
            }
            "ALPKBEBCOIB_AKCGAFECIIH" => Some(Self::AlpkbebcoibAkcgafeciih),
            "CmdTrainVisitorBehaviorFinishScRsp" => {
                Some(Self::CmdTrainVisitorBehaviorFinishScRsp)
            }
            "CmdNewSupplementVisitorCsReq" => Some(Self::CmdNewSupplementVisitorCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bchhgmjgilj {
    Ikiiolmhnla = 0,
    Pcfanjipjee = 1,
    Nblcdjihain = 2,
}
impl Bchhgmjgilj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ikiiolmhnla => "BCHHGMJGILJ_IKIIOLMHNLA",
            Self::Pcfanjipjee => "BCHHGMJGILJ_PCFANJIPJEE",
            Self::Nblcdjihain => "BCHHGMJGILJ_NBLCDJIHAIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BCHHGMJGILJ_IKIIOLMHNLA" => Some(Self::Ikiiolmhnla),
            "BCHHGMJGILJ_PCFANJIPJEE" => Some(Self::Pcfanjipjee),
            "BCHHGMJGILJ_NBLCDJIHAIN" => Some(Self::Nblcdjihain),
            _ => None,
        }
    }
}
/// Obf: GFFFBJJLPOK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainVisitorStatus {
    GfffbjjlpokGkjbaodjmjg = 0,
    GfffbjjlpokMgafoiilmim = 1,
    GfffbjjlpokKlbljigmdpk = 2,
    GfffbjjlpokCogjhdjnnnj = 3,
    GfffbjjlpokFogcjlnchfk = 4,
}
impl TrainVisitorStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GfffbjjlpokGkjbaodjmjg => "GFFFBJJLPOK_GKJBAODJMJG",
            Self::GfffbjjlpokMgafoiilmim => "GFFFBJJLPOK_MGAFOIILMIM",
            Self::GfffbjjlpokKlbljigmdpk => "GFFFBJJLPOK_KLBLJIGMDPK",
            Self::GfffbjjlpokCogjhdjnnnj => "GFFFBJJLPOK_COGJHDJNNNJ",
            Self::GfffbjjlpokFogcjlnchfk => "GFFFBJJLPOK_FOGCJLNCHFK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GFFFBJJLPOK_GKJBAODJMJG" => Some(Self::GfffbjjlpokGkjbaodjmjg),
            "GFFFBJJLPOK_MGAFOIILMIM" => Some(Self::GfffbjjlpokMgafoiilmim),
            "GFFFBJJLPOK_KLBLJIGMDPK" => Some(Self::GfffbjjlpokKlbljigmdpk),
            "GFFFBJJLPOK_COGJHDJNNNJ" => Some(Self::GfffbjjlpokCogjhdjnnnj),
            "GFFFBJJLPOK_FOGCJLNCHFK" => Some(Self::GfffbjjlpokFogcjlnchfk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eabofaohoia {
    Gkjbaodjmjg = 0,
    Lojecphdkgf = 1,
    Icnpeleaeld = 2,
}
impl Eabofaohoia {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "EABOFAOHOIA_GKJBAODJMJG",
            Self::Lojecphdkgf => "EABOFAOHOIA_LOJECPHDKGF",
            Self::Icnpeleaeld => "EABOFAOHOIA_ICNPELEAELD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EABOFAOHOIA_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "EABOFAOHOIA_LOJECPHDKGF" => Some(Self::Lojecphdkgf),
            "EABOFAOHOIA_ICNPELEAELD" => Some(Self::Icnpeleaeld),
            _ => None,
        }
    }
}
/// Obf: AEMFGDIOOJK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTravelBrochureType {
    AemfgdioojkHnmepdfcpjc = 0,
    CmdTravelBrochurePageUnlockScNotify = 6455,
    AemfgdioojkAcbnagfefah = 6447,
    CmdCainlomklef = 6466,
    CmdIicnlkgfjjj = 6405,
    CmdMloeeohoiac = 6483,
    CmdTravelBrochureApplyPasterListCsReq = 6476,
    CmdTravelBrochurePageResetScRsp = 6489,
    CmdTravelBrochureApplyPasterListScRsp = 6496,
    CmdNccpblfcnfc = 6434,
    CmdTravelBrochureSetPageDescStatusCsReq = 6495,
    CmdTravelBrochurePageResetCsReq = 6493,
    CmdTravelBrochureUpdatePasterPosCsReq = 6437,
    CmdMffnblmkbid = 6420,
    CmdTravelBrochureGetDataCsReq = 6457,
    CmdTravelBrochureSelectMessageScRsp = 6462,
    CmdTravelBrochureSelectMessageCsReq = 6438,
    CmdOlnlakjgimi = 6469,
    CmdTravelBrochureGetDataScRsp = 6428,
    CmdTravelBrochureRemovePasterCsReq = 6426,
    CmdTravelBrochureSetCustomValueCsReq = 6445,
}
impl CmdTravelBrochureType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AemfgdioojkHnmepdfcpjc => "AEMFGDIOOJK_HNMEPDFCPJC",
            Self::CmdTravelBrochurePageUnlockScNotify => {
                "CmdTravelBrochurePageUnlockScNotify"
            }
            Self::AemfgdioojkAcbnagfefah => "AEMFGDIOOJK_ACBNAGFEFAH",
            Self::CmdCainlomklef => "CmdCAINLOMKLEF",
            Self::CmdIicnlkgfjjj => "CmdIICNLKGFJJJ",
            Self::CmdMloeeohoiac => "CmdMLOEEOHOIAC",
            Self::CmdTravelBrochureApplyPasterListCsReq => {
                "CmdTravelBrochureApplyPasterListCsReq"
            }
            Self::CmdTravelBrochurePageResetScRsp => "CmdTravelBrochurePageResetScRsp",
            Self::CmdTravelBrochureApplyPasterListScRsp => {
                "CmdTravelBrochureApplyPasterListScRsp"
            }
            Self::CmdNccpblfcnfc => "CmdNCCPBLFCNFC",
            Self::CmdTravelBrochureSetPageDescStatusCsReq => {
                "CmdTravelBrochureSetPageDescStatusCsReq"
            }
            Self::CmdTravelBrochurePageResetCsReq => "CmdTravelBrochurePageResetCsReq",
            Self::CmdTravelBrochureUpdatePasterPosCsReq => {
                "CmdTravelBrochureUpdatePasterPosCsReq"
            }
            Self::CmdMffnblmkbid => "CmdMFFNBLMKBID",
            Self::CmdTravelBrochureGetDataCsReq => "CmdTravelBrochureGetDataCsReq",
            Self::CmdTravelBrochureSelectMessageScRsp => {
                "CmdTravelBrochureSelectMessageScRsp"
            }
            Self::CmdTravelBrochureSelectMessageCsReq => {
                "CmdTravelBrochureSelectMessageCsReq"
            }
            Self::CmdOlnlakjgimi => "CmdOLNLAKJGIMI",
            Self::CmdTravelBrochureGetDataScRsp => "CmdTravelBrochureGetDataScRsp",
            Self::CmdTravelBrochureRemovePasterCsReq => {
                "CmdTravelBrochureRemovePasterCsReq"
            }
            Self::CmdTravelBrochureSetCustomValueCsReq => {
                "CmdTravelBrochureSetCustomValueCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AEMFGDIOOJK_HNMEPDFCPJC" => Some(Self::AemfgdioojkHnmepdfcpjc),
            "CmdTravelBrochurePageUnlockScNotify" => {
                Some(Self::CmdTravelBrochurePageUnlockScNotify)
            }
            "AEMFGDIOOJK_ACBNAGFEFAH" => Some(Self::AemfgdioojkAcbnagfefah),
            "CmdCAINLOMKLEF" => Some(Self::CmdCainlomklef),
            "CmdIICNLKGFJJJ" => Some(Self::CmdIicnlkgfjjj),
            "CmdMLOEEOHOIAC" => Some(Self::CmdMloeeohoiac),
            "CmdTravelBrochureApplyPasterListCsReq" => {
                Some(Self::CmdTravelBrochureApplyPasterListCsReq)
            }
            "CmdTravelBrochurePageResetScRsp" => {
                Some(Self::CmdTravelBrochurePageResetScRsp)
            }
            "CmdTravelBrochureApplyPasterListScRsp" => {
                Some(Self::CmdTravelBrochureApplyPasterListScRsp)
            }
            "CmdNCCPBLFCNFC" => Some(Self::CmdNccpblfcnfc),
            "CmdTravelBrochureSetPageDescStatusCsReq" => {
                Some(Self::CmdTravelBrochureSetPageDescStatusCsReq)
            }
            "CmdTravelBrochurePageResetCsReq" => {
                Some(Self::CmdTravelBrochurePageResetCsReq)
            }
            "CmdTravelBrochureUpdatePasterPosCsReq" => {
                Some(Self::CmdTravelBrochureUpdatePasterPosCsReq)
            }
            "CmdMFFNBLMKBID" => Some(Self::CmdMffnblmkbid),
            "CmdTravelBrochureGetDataCsReq" => Some(Self::CmdTravelBrochureGetDataCsReq),
            "CmdTravelBrochureSelectMessageScRsp" => {
                Some(Self::CmdTravelBrochureSelectMessageScRsp)
            }
            "CmdTravelBrochureSelectMessageCsReq" => {
                Some(Self::CmdTravelBrochureSelectMessageCsReq)
            }
            "CmdOLNLAKJGIMI" => Some(Self::CmdOlnlakjgimi),
            "CmdTravelBrochureGetDataScRsp" => Some(Self::CmdTravelBrochureGetDataScRsp),
            "CmdTravelBrochureRemovePasterCsReq" => {
                Some(Self::CmdTravelBrochureRemovePasterCsReq)
            }
            "CmdTravelBrochureSetCustomValueCsReq" => {
                Some(Self::CmdTravelBrochureSetCustomValueCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jmelcjbokdh {
    Hbonfheflff = 0,
    Igeejnfebee = 1,
    Feekbmnkidf = 2,
}
impl Jmelcjbokdh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hbonfheflff => "JMELCJBOKDH_HBONFHEFLFF",
            Self::Igeejnfebee => "JMELCJBOKDH_IGEEJNFEBEE",
            Self::Feekbmnkidf => "JMELCJBOKDH_FEEKBMNKIDF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JMELCJBOKDH_HBONFHEFLFF" => Some(Self::Hbonfheflff),
            "JMELCJBOKDH_IGEEJNFEBEE" => Some(Self::Igeejnfebee),
            "JMELCJBOKDH_FEEKBMNKIDF" => Some(Self::Feekbmnkidf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ehanpfgbimn {
    Hikgfneahcp = 0,
    Ejlopmaekdl = 1,
    Pijnkhmfbao = 2,
}
impl Ehanpfgbimn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hikgfneahcp => "EHANPFGBIMN_HIKGFNEAHCP",
            Self::Ejlopmaekdl => "EHANPFGBIMN_EJLOPMAEKDL",
            Self::Pijnkhmfbao => "EHANPFGBIMN_PIJNKHMFBAO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EHANPFGBIMN_HIKGFNEAHCP" => Some(Self::Hikgfneahcp),
            "EHANPFGBIMN_EJLOPMAEKDL" => Some(Self::Ejlopmaekdl),
            "EHANPFGBIMN_PIJNKHMFBAO" => Some(Self::Pijnkhmfbao),
            _ => None,
        }
    }
}
/// Obf: AKHGPJGBGHK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTreasureDungeonType {
    AkhgpjgbghkGkjbaodjmjg = 0,
    CmdUseTreasureDungeonItemCsReq = 4476,
    CmdEnterTreasureDungeonCsReq = 4466,
    CmdOpenTreasureDungeonGridCsReq = 4445,
    CmdOpenTreasureDungeonGridScRsp = 4483,
    CmdTreasureDungeonFinishScNotify = 4428,
    CmdFightTreasureDungeonMonsterCsReq = 4495,
    CmdUseTreasureDungeonItemScRsp = 4496,
    CmdGetTreasureDungeonActivityDataScRsp = 4469,
    CmdTreasureDungeonDataScNotify = 4457,
    CmdDmdllhdjake = 4477,
    CmdInteractTreasureDungeonGridScRsp = 4489,
    CmdEnterTreasureDungeonScRsp = 4479,
    CmdQuitTreasureDungeonCsReq = 4480,
    CmdInteractTreasureDungeonGridCsReq = 4493,
    CmdGetTreasureDungeonActivityDataCsReq = 4437,
    CmdFightTreasureDungeonMonsterScRsp = 4434,
}
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 {
            Self::AkhgpjgbghkGkjbaodjmjg => "AKHGPJGBGHK_GKJBAODJMJG",
            Self::CmdUseTreasureDungeonItemCsReq => "CmdUseTreasureDungeonItemCsReq",
            Self::CmdEnterTreasureDungeonCsReq => "CmdEnterTreasureDungeonCsReq",
            Self::CmdOpenTreasureDungeonGridCsReq => "CmdOpenTreasureDungeonGridCsReq",
            Self::CmdOpenTreasureDungeonGridScRsp => "CmdOpenTreasureDungeonGridScRsp",
            Self::CmdTreasureDungeonFinishScNotify => "CmdTreasureDungeonFinishScNotify",
            Self::CmdFightTreasureDungeonMonsterCsReq => {
                "CmdFightTreasureDungeonMonsterCsReq"
            }
            Self::CmdUseTreasureDungeonItemScRsp => "CmdUseTreasureDungeonItemScRsp",
            Self::CmdGetTreasureDungeonActivityDataScRsp => {
                "CmdGetTreasureDungeonActivityDataScRsp"
            }
            Self::CmdTreasureDungeonDataScNotify => "CmdTreasureDungeonDataScNotify",
            Self::CmdDmdllhdjake => "CmdDMDLLHDJAKE",
            Self::CmdInteractTreasureDungeonGridScRsp => {
                "CmdInteractTreasureDungeonGridScRsp"
            }
            Self::CmdEnterTreasureDungeonScRsp => "CmdEnterTreasureDungeonScRsp",
            Self::CmdQuitTreasureDungeonCsReq => "CmdQuitTreasureDungeonCsReq",
            Self::CmdInteractTreasureDungeonGridCsReq => {
                "CmdInteractTreasureDungeonGridCsReq"
            }
            Self::CmdGetTreasureDungeonActivityDataCsReq => {
                "CmdGetTreasureDungeonActivityDataCsReq"
            }
            Self::CmdFightTreasureDungeonMonsterScRsp => {
                "CmdFightTreasureDungeonMonsterScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AKHGPJGBGHK_GKJBAODJMJG" => Some(Self::AkhgpjgbghkGkjbaodjmjg),
            "CmdUseTreasureDungeonItemCsReq" => {
                Some(Self::CmdUseTreasureDungeonItemCsReq)
            }
            "CmdEnterTreasureDungeonCsReq" => Some(Self::CmdEnterTreasureDungeonCsReq),
            "CmdOpenTreasureDungeonGridCsReq" => {
                Some(Self::CmdOpenTreasureDungeonGridCsReq)
            }
            "CmdOpenTreasureDungeonGridScRsp" => {
                Some(Self::CmdOpenTreasureDungeonGridScRsp)
            }
            "CmdTreasureDungeonFinishScNotify" => {
                Some(Self::CmdTreasureDungeonFinishScNotify)
            }
            "CmdFightTreasureDungeonMonsterCsReq" => {
                Some(Self::CmdFightTreasureDungeonMonsterCsReq)
            }
            "CmdUseTreasureDungeonItemScRsp" => {
                Some(Self::CmdUseTreasureDungeonItemScRsp)
            }
            "CmdGetTreasureDungeonActivityDataScRsp" => {
                Some(Self::CmdGetTreasureDungeonActivityDataScRsp)
            }
            "CmdTreasureDungeonDataScNotify" => {
                Some(Self::CmdTreasureDungeonDataScNotify)
            }
            "CmdDMDLLHDJAKE" => Some(Self::CmdDmdllhdjake),
            "CmdInteractTreasureDungeonGridScRsp" => {
                Some(Self::CmdInteractTreasureDungeonGridScRsp)
            }
            "CmdEnterTreasureDungeonScRsp" => Some(Self::CmdEnterTreasureDungeonScRsp),
            "CmdQuitTreasureDungeonCsReq" => Some(Self::CmdQuitTreasureDungeonCsReq),
            "CmdInteractTreasureDungeonGridCsReq" => {
                Some(Self::CmdInteractTreasureDungeonGridCsReq)
            }
            "CmdGetTreasureDungeonActivityDataCsReq" => {
                Some(Self::CmdGetTreasureDungeonActivityDataCsReq)
            }
            "CmdFightTreasureDungeonMonsterScRsp" => {
                Some(Self::CmdFightTreasureDungeonMonsterScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: OGNGNEHEGJM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TreasureDungeonRecordType {
    OgngnehegjmFdimbpiecba = 0,
    OgngnehegjmNkacbhenhpc = 1,
    OgngnehegjmJonbjhnchba = 2,
    OgngnehegjmHppolmbniob = 3,
    OgngnehegjmNjpekjbecdn = 5,
    OgngnehegjmOlbhnhokpkk = 6,
    OgngnehegjmNcndikkmkdl = 9,
    OgngnehegjmAcnpeepdlfe = 10,
    OgngnehegjmJbbpaldiipp = 11,
    OgngnehegjmInckfbkpimi = 15,
    OgngnehegjmOjbhiggcbff = 16,
    OgngnehegjmNbibeggplne = 20,
    OgngnehegjmFhdeiaiojlg = 24,
    OgngnehegjmJpljempcjmn = 25,
    OgngnehegjmKbgoebjogbc = 27,
    OgngnehegjmJeogaiechek = 28,
    OgngnehegjmGlajkkhfhgg = 29,
    OgngnehegjmEaijbkeijli = 30,
    OgngnehegjmDodffpkeldh = 31,
    OgngnehegjmGdllhbcbena = 33,
    OgngnehegjmEahbjgeepdh = 34,
    OgngnehegjmHmhoonhmmah = 35,
    OgngnehegjmMkinghcbkhp = 36,
    OgngnehegjmJpddnljnjef = 37,
    OgngnehegjmAmdnbclbead = 40,
    OgngnehegjmBbdabhfeedo = 41,
    OgngnehegjmGooclflabmc = 42,
    OgngnehegjmOjpdegndflk = 43,
}
impl TreasureDungeonRecordType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OgngnehegjmFdimbpiecba => "OGNGNEHEGJM_FDIMBPIECBA",
            Self::OgngnehegjmNkacbhenhpc => "OGNGNEHEGJM_NKACBHENHPC",
            Self::OgngnehegjmJonbjhnchba => "OGNGNEHEGJM_JONBJHNCHBA",
            Self::OgngnehegjmHppolmbniob => "OGNGNEHEGJM_HPPOLMBNIOB",
            Self::OgngnehegjmNjpekjbecdn => "OGNGNEHEGJM_NJPEKJBECDN",
            Self::OgngnehegjmOlbhnhokpkk => "OGNGNEHEGJM_OLBHNHOKPKK",
            Self::OgngnehegjmNcndikkmkdl => "OGNGNEHEGJM_NCNDIKKMKDL",
            Self::OgngnehegjmAcnpeepdlfe => "OGNGNEHEGJM_ACNPEEPDLFE",
            Self::OgngnehegjmJbbpaldiipp => "OGNGNEHEGJM_JBBPALDIIPP",
            Self::OgngnehegjmInckfbkpimi => "OGNGNEHEGJM_INCKFBKPIMI",
            Self::OgngnehegjmOjbhiggcbff => "OGNGNEHEGJM_OJBHIGGCBFF",
            Self::OgngnehegjmNbibeggplne => "OGNGNEHEGJM_NBIBEGGPLNE",
            Self::OgngnehegjmFhdeiaiojlg => "OGNGNEHEGJM_FHDEIAIOJLG",
            Self::OgngnehegjmJpljempcjmn => "OGNGNEHEGJM_JPLJEMPCJMN",
            Self::OgngnehegjmKbgoebjogbc => "OGNGNEHEGJM_KBGOEBJOGBC",
            Self::OgngnehegjmJeogaiechek => "OGNGNEHEGJM_JEOGAIECHEK",
            Self::OgngnehegjmGlajkkhfhgg => "OGNGNEHEGJM_GLAJKKHFHGG",
            Self::OgngnehegjmEaijbkeijli => "OGNGNEHEGJM_EAIJBKEIJLI",
            Self::OgngnehegjmDodffpkeldh => "OGNGNEHEGJM_DODFFPKELDH",
            Self::OgngnehegjmGdllhbcbena => "OGNGNEHEGJM_GDLLHBCBENA",
            Self::OgngnehegjmEahbjgeepdh => "OGNGNEHEGJM_EAHBJGEEPDH",
            Self::OgngnehegjmHmhoonhmmah => "OGNGNEHEGJM_HMHOONHMMAH",
            Self::OgngnehegjmMkinghcbkhp => "OGNGNEHEGJM_MKINGHCBKHP",
            Self::OgngnehegjmJpddnljnjef => "OGNGNEHEGJM_JPDDNLJNJEF",
            Self::OgngnehegjmAmdnbclbead => "OGNGNEHEGJM_AMDNBCLBEAD",
            Self::OgngnehegjmBbdabhfeedo => "OGNGNEHEGJM_BBDABHFEEDO",
            Self::OgngnehegjmGooclflabmc => "OGNGNEHEGJM_GOOCLFLABMC",
            Self::OgngnehegjmOjpdegndflk => "OGNGNEHEGJM_OJPDEGNDFLK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OGNGNEHEGJM_FDIMBPIECBA" => Some(Self::OgngnehegjmFdimbpiecba),
            "OGNGNEHEGJM_NKACBHENHPC" => Some(Self::OgngnehegjmNkacbhenhpc),
            "OGNGNEHEGJM_JONBJHNCHBA" => Some(Self::OgngnehegjmJonbjhnchba),
            "OGNGNEHEGJM_HPPOLMBNIOB" => Some(Self::OgngnehegjmHppolmbniob),
            "OGNGNEHEGJM_NJPEKJBECDN" => Some(Self::OgngnehegjmNjpekjbecdn),
            "OGNGNEHEGJM_OLBHNHOKPKK" => Some(Self::OgngnehegjmOlbhnhokpkk),
            "OGNGNEHEGJM_NCNDIKKMKDL" => Some(Self::OgngnehegjmNcndikkmkdl),
            "OGNGNEHEGJM_ACNPEEPDLFE" => Some(Self::OgngnehegjmAcnpeepdlfe),
            "OGNGNEHEGJM_JBBPALDIIPP" => Some(Self::OgngnehegjmJbbpaldiipp),
            "OGNGNEHEGJM_INCKFBKPIMI" => Some(Self::OgngnehegjmInckfbkpimi),
            "OGNGNEHEGJM_OJBHIGGCBFF" => Some(Self::OgngnehegjmOjbhiggcbff),
            "OGNGNEHEGJM_NBIBEGGPLNE" => Some(Self::OgngnehegjmNbibeggplne),
            "OGNGNEHEGJM_FHDEIAIOJLG" => Some(Self::OgngnehegjmFhdeiaiojlg),
            "OGNGNEHEGJM_JPLJEMPCJMN" => Some(Self::OgngnehegjmJpljempcjmn),
            "OGNGNEHEGJM_KBGOEBJOGBC" => Some(Self::OgngnehegjmKbgoebjogbc),
            "OGNGNEHEGJM_JEOGAIECHEK" => Some(Self::OgngnehegjmJeogaiechek),
            "OGNGNEHEGJM_GLAJKKHFHGG" => Some(Self::OgngnehegjmGlajkkhfhgg),
            "OGNGNEHEGJM_EAIJBKEIJLI" => Some(Self::OgngnehegjmEaijbkeijli),
            "OGNGNEHEGJM_DODFFPKELDH" => Some(Self::OgngnehegjmDodffpkeldh),
            "OGNGNEHEGJM_GDLLHBCBENA" => Some(Self::OgngnehegjmGdllhbcbena),
            "OGNGNEHEGJM_EAHBJGEEPDH" => Some(Self::OgngnehegjmEahbjgeepdh),
            "OGNGNEHEGJM_HMHOONHMMAH" => Some(Self::OgngnehegjmHmhoonhmmah),
            "OGNGNEHEGJM_MKINGHCBKHP" => Some(Self::OgngnehegjmMkinghcbkhp),
            "OGNGNEHEGJM_JPDDNLJNJEF" => Some(Self::OgngnehegjmJpddnljnjef),
            "OGNGNEHEGJM_AMDNBCLBEAD" => Some(Self::OgngnehegjmAmdnbclbead),
            "OGNGNEHEGJM_BBDABHFEEDO" => Some(Self::OgngnehegjmBbdabhfeedo),
            "OGNGNEHEGJM_GOOCLFLABMC" => Some(Self::OgngnehegjmGooclflabmc),
            "OGNGNEHEGJM_OJPDEGNDFLK" => Some(Self::OgngnehegjmOjpdegndflk),
            _ => None,
        }
    }
}
/// Obf: LGIHEOCCFEK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTutorialType {
    LgiheoccfekGkjbaodjmjg = 0,
    CmdFinishTutorialGuideCsReq = 1637,
    CmdGetTutorialGuideScRsp = 1675,
    CmdUnlockTutorialCsReq = 1638,
    CmdGetTutorialCsReq = 1657,
    CmdUnlockTutorialGuideCsReq = 1647,
    CmdFinishTutorialCsReq = 1626,
    CmdUnlockTutorialGuideScRsp = 1620,
    CmdUnlockTutorialScRsp = 1662,
    CmdFinishTutorialScRsp = 1605,
    CmdFinishTutorialGuideScRsp = 1669,
    CmdGetTutorialGuideCsReq = 1655,
    CmdGetTutorialScRsp = 1628,
}
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 {
            Self::LgiheoccfekGkjbaodjmjg => "LGIHEOCCFEK_GKJBAODJMJG",
            Self::CmdFinishTutorialGuideCsReq => "CmdFinishTutorialGuideCsReq",
            Self::CmdGetTutorialGuideScRsp => "CmdGetTutorialGuideScRsp",
            Self::CmdUnlockTutorialCsReq => "CmdUnlockTutorialCsReq",
            Self::CmdGetTutorialCsReq => "CmdGetTutorialCsReq",
            Self::CmdUnlockTutorialGuideCsReq => "CmdUnlockTutorialGuideCsReq",
            Self::CmdFinishTutorialCsReq => "CmdFinishTutorialCsReq",
            Self::CmdUnlockTutorialGuideScRsp => "CmdUnlockTutorialGuideScRsp",
            Self::CmdUnlockTutorialScRsp => "CmdUnlockTutorialScRsp",
            Self::CmdFinishTutorialScRsp => "CmdFinishTutorialScRsp",
            Self::CmdFinishTutorialGuideScRsp => "CmdFinishTutorialGuideScRsp",
            Self::CmdGetTutorialGuideCsReq => "CmdGetTutorialGuideCsReq",
            Self::CmdGetTutorialScRsp => "CmdGetTutorialScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LGIHEOCCFEK_GKJBAODJMJG" => Some(Self::LgiheoccfekGkjbaodjmjg),
            "CmdFinishTutorialGuideCsReq" => Some(Self::CmdFinishTutorialGuideCsReq),
            "CmdGetTutorialGuideScRsp" => Some(Self::CmdGetTutorialGuideScRsp),
            "CmdUnlockTutorialCsReq" => Some(Self::CmdUnlockTutorialCsReq),
            "CmdGetTutorialCsReq" => Some(Self::CmdGetTutorialCsReq),
            "CmdUnlockTutorialGuideCsReq" => Some(Self::CmdUnlockTutorialGuideCsReq),
            "CmdFinishTutorialCsReq" => Some(Self::CmdFinishTutorialCsReq),
            "CmdUnlockTutorialGuideScRsp" => Some(Self::CmdUnlockTutorialGuideScRsp),
            "CmdUnlockTutorialScRsp" => Some(Self::CmdUnlockTutorialScRsp),
            "CmdFinishTutorialScRsp" => Some(Self::CmdFinishTutorialScRsp),
            "CmdFinishTutorialGuideScRsp" => Some(Self::CmdFinishTutorialGuideScRsp),
            "CmdGetTutorialGuideCsReq" => Some(Self::CmdGetTutorialGuideCsReq),
            "CmdGetTutorialScRsp" => Some(Self::CmdGetTutorialScRsp),
            _ => None,
        }
    }
}
/// Obf: IFPDFNHPJGM
#[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 {
            Self::TutorialNone => "TUTORIAL_NONE",
            Self::TutorialUnlock => "TUTORIAL_UNLOCK",
            Self::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: PDHCNFBOFFM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialFinishType {
    PdhcnfboffmGkjbaodjmjg = 0,
    PdhcnfboffmIcnpeleaeld = 1,
    PdhcnfboffmOhdcjkadlcb = 2,
}
impl TutorialFinishType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::PdhcnfboffmGkjbaodjmjg => "PDHCNFBOFFM_GKJBAODJMJG",
            Self::PdhcnfboffmIcnpeleaeld => "PDHCNFBOFFM_ICNPELEAELD",
            Self::PdhcnfboffmOhdcjkadlcb => "PDHCNFBOFFM_OHDCJKADLCB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PDHCNFBOFFM_GKJBAODJMJG" => Some(Self::PdhcnfboffmGkjbaodjmjg),
            "PDHCNFBOFFM_ICNPELEAELD" => Some(Self::PdhcnfboffmIcnpeleaeld),
            "PDHCNFBOFFM_OHDCJKADLCB" => Some(Self::PdhcnfboffmOhdcjkadlcb),
            _ => None,
        }
    }
}
/// Obf: KILIOMKNMCJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialGuideType {
    KiliomknmcjEbnoilkpaod = 0,
    KiliomknmcjCnoahimhnlc = 1,
}
impl TutorialGuideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KiliomknmcjEbnoilkpaod => "KILIOMKNMCJ_EBNOILKPAOD",
            Self::KiliomknmcjCnoahimhnlc => "KILIOMKNMCJ_CNOAHIMHNLC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KILIOMKNMCJ_EBNOILKPAOD" => Some(Self::KiliomknmcjEbnoilkpaod),
            "KILIOMKNMCJ_CNOAHIMHNLC" => Some(Self::KiliomknmcjCnoahimhnlc),
            _ => None,
        }
    }
}
/// Obf: CBOHKADGOLD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWaypointType {
    CbohkadgoldGkjbaodjmjg = 0,
    CbohkadgoldKjdlgejggdj = 455,
    CmdIdchmbihafl = 447,
    CmdBdnpoaikgmh = 426,
    CbohkadgoldDhmohomhgeh = 420,
    CbohkadgoldMpcnbflnioh = 457,
    CbohkadgoldEdlpfclpcjb = 438,
    CmdGhlkbdkajog = 475,
    CmdMombkhdgidc = 462,
    CmdLdnbjndcldm = 428,
}
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 {
            Self::CbohkadgoldGkjbaodjmjg => "CBOHKADGOLD_GKJBAODJMJG",
            Self::CbohkadgoldKjdlgejggdj => "CBOHKADGOLD_KJDLGEJGGDJ",
            Self::CmdIdchmbihafl => "CmdIDCHMBIHAFL",
            Self::CmdBdnpoaikgmh => "CmdBDNPOAIKGMH",
            Self::CbohkadgoldDhmohomhgeh => "CBOHKADGOLD_DHMOHOMHGEH",
            Self::CbohkadgoldMpcnbflnioh => "CBOHKADGOLD_MPCNBFLNIOH",
            Self::CbohkadgoldEdlpfclpcjb => "CBOHKADGOLD_EDLPFCLPCJB",
            Self::CmdGhlkbdkajog => "CmdGHLKBDKAJOG",
            Self::CmdMombkhdgidc => "CmdMOMBKHDGIDC",
            Self::CmdLdnbjndcldm => "CmdLDNBJNDCLDM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CBOHKADGOLD_GKJBAODJMJG" => Some(Self::CbohkadgoldGkjbaodjmjg),
            "CBOHKADGOLD_KJDLGEJGGDJ" => Some(Self::CbohkadgoldKjdlgejggdj),
            "CmdIDCHMBIHAFL" => Some(Self::CmdIdchmbihafl),
            "CmdBDNPOAIKGMH" => Some(Self::CmdBdnpoaikgmh),
            "CBOHKADGOLD_DHMOHOMHGEH" => Some(Self::CbohkadgoldDhmohomhgeh),
            "CBOHKADGOLD_MPCNBFLNIOH" => Some(Self::CbohkadgoldMpcnbflnioh),
            "CBOHKADGOLD_EDLPFCLPCJB" => Some(Self::CbohkadgoldEdlpfclpcjb),
            "CmdGHLKBDKAJOG" => Some(Self::CmdGhlkbdkajog),
            "CmdMOMBKHDGIDC" => Some(Self::CmdMombkhdgidc),
            "CmdLDNBJNDCLDM" => Some(Self::CmdLdnbjndcldm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dlinmbbcech {
    Gkjbaodjmjg = 0,
    Elmgcikafle = 1,
    Dmfmihgmcfl = 2,
}
impl Dlinmbbcech {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "DLINMBBCECH_GKJBAODJMJG",
            Self::Elmgcikafle => "DLINMBBCECH_ELMGCIKAFLE",
            Self::Dmfmihgmcfl => "DLINMBBCECH_DMFMIHGMCFL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DLINMBBCECH_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "DLINMBBCECH_ELMGCIKAFLE" => Some(Self::Elmgcikafle),
            "DLINMBBCECH_DMFMIHGMCFL" => Some(Self::Dmfmihgmcfl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lhpdjbeiico {
    Fmlahdeajef = 0,
    Cfpcdggjolf = 1,
    Iaofemljjbi = 2,
}
impl Lhpdjbeiico {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fmlahdeajef => "LHPDJBEIICO_FMLAHDEAJEF",
            Self::Cfpcdggjolf => "LHPDJBEIICO_CFPCDGGJOLF",
            Self::Iaofemljjbi => "LHPDJBEIICO_IAOFEMLJJBI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHPDJBEIICO_FMLAHDEAJEF" => Some(Self::Fmlahdeajef),
            "LHPDJBEIICO_CFPCDGGJOLF" => Some(Self::Cfpcdggjolf),
            "LHPDJBEIICO_IAOFEMLJJBI" => Some(Self::Iaofemljjbi),
            _ => None,
        }
    }
}
/// Obf: AAOKCIKFOHI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWolfBroType {
    AaokcikfohiGkjbaodjmjg = 0,
    CmdNcekdggjanl = 6501,
    CmdPkldclfkkda = 6543,
    CmdFobomaghpbh = 6550,
    CmdFkmbklbjghn = 6524,
    CmdOohalpclbhb = 6535,
    CmdBckaohmiego = 6538,
    CmdGeabpgcnkjj = 6529,
    CmdPlaonbbdhha = 6507,
    CmdIhkpdfmdane = 6531,
    CmdObgbpjeplpj = 6522,
    CmdFmaamhbffcj = 6506,
    CmdHndnpijddni = 6547,
    CmdPodcdndaijl = 6503,
    CmdEeibdjcjoah = 6520,
    CmdNeaddhedein = 6539,
    CmdMaooglokfof = 6508,
    CmdAcbjdpholio = 6533,
    CmdGpfphfjjand = 6519,
    CmdGmjgccnneha = 6549,
}
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 {
            Self::AaokcikfohiGkjbaodjmjg => "AAOKCIKFOHI_GKJBAODJMJG",
            Self::CmdNcekdggjanl => "CmdNCEKDGGJANL",
            Self::CmdPkldclfkkda => "CmdPKLDCLFKKDA",
            Self::CmdFobomaghpbh => "CmdFOBOMAGHPBH",
            Self::CmdFkmbklbjghn => "CmdFKMBKLBJGHN",
            Self::CmdOohalpclbhb => "CmdOOHALPCLBHB",
            Self::CmdBckaohmiego => "CmdBCKAOHMIEGO",
            Self::CmdGeabpgcnkjj => "CmdGEABPGCNKJJ",
            Self::CmdPlaonbbdhha => "CmdPLAONBBDHHA",
            Self::CmdIhkpdfmdane => "CmdIHKPDFMDANE",
            Self::CmdObgbpjeplpj => "CmdOBGBPJEPLPJ",
            Self::CmdFmaamhbffcj => "CmdFMAAMHBFFCJ",
            Self::CmdHndnpijddni => "CmdHNDNPIJDDNI",
            Self::CmdPodcdndaijl => "CmdPODCDNDAIJL",
            Self::CmdEeibdjcjoah => "CmdEEIBDJCJOAH",
            Self::CmdNeaddhedein => "CmdNEADDHEDEIN",
            Self::CmdMaooglokfof => "CmdMAOOGLOKFOF",
            Self::CmdAcbjdpholio => "CmdACBJDPHOLIO",
            Self::CmdGpfphfjjand => "CmdGPFPHFJJAND",
            Self::CmdGmjgccnneha => "CmdGMJGCCNNEHA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AAOKCIKFOHI_GKJBAODJMJG" => Some(Self::AaokcikfohiGkjbaodjmjg),
            "CmdNCEKDGGJANL" => Some(Self::CmdNcekdggjanl),
            "CmdPKLDCLFKKDA" => Some(Self::CmdPkldclfkkda),
            "CmdFOBOMAGHPBH" => Some(Self::CmdFobomaghpbh),
            "CmdFKMBKLBJGHN" => Some(Self::CmdFkmbklbjghn),
            "CmdOOHALPCLBHB" => Some(Self::CmdOohalpclbhb),
            "CmdBCKAOHMIEGO" => Some(Self::CmdBckaohmiego),
            "CmdGEABPGCNKJJ" => Some(Self::CmdGeabpgcnkjj),
            "CmdPLAONBBDHHA" => Some(Self::CmdPlaonbbdhha),
            "CmdIHKPDFMDANE" => Some(Self::CmdIhkpdfmdane),
            "CmdOBGBPJEPLPJ" => Some(Self::CmdObgbpjeplpj),
            "CmdFMAAMHBFFCJ" => Some(Self::CmdFmaamhbffcj),
            "CmdHNDNPIJDDNI" => Some(Self::CmdHndnpijddni),
            "CmdPODCDNDAIJL" => Some(Self::CmdPodcdndaijl),
            "CmdEEIBDJCJOAH" => Some(Self::CmdEeibdjcjoah),
            "CmdNEADDHEDEIN" => Some(Self::CmdNeaddhedein),
            "CmdMAOOGLOKFOF" => Some(Self::CmdMaooglokfof),
            "CmdACBJDPHOLIO" => Some(Self::CmdAcbjdpholio),
            "CmdGPFPHFJJAND" => Some(Self::CmdGpfphfjjand),
            "CmdGMJGCCNNEHA" => Some(Self::CmdGmjgccnneha),
            _ => None,
        }
    }
}
/// Obf: JCKMEAILKMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWorldUnlockType {
    JckmeailkmmGkjbaodjmjg = 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 {
            Self::JckmeailkmmGkjbaodjmjg => "JCKMEAILKMM_GKJBAODJMJG",
            Self::CmdWorldUnlockCsReq => "CmdWorldUnlockCsReq",
            Self::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 {
            "JCKMEAILKMM_GKJBAODJMJG" => Some(Self::JckmeailkmmGkjbaodjmjg),
            "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 Lbklodpagap {
    Gkjbaodjmjg = 0,
    Lnhopfeibfn = 1,
    Cljegmbedni = 2,
    Cjjgpbaemik = 3,
    Mmonbnceepo = 4,
    Gecnhciahga = 5,
    Gjfgpnonbij = 6,
    Fiapgkiempp = 7,
    Heddpldnafn = 8,
}
impl Lbklodpagap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gkjbaodjmjg => "LBKLODPAGAP_GKJBAODJMJG",
            Self::Lnhopfeibfn => "LBKLODPAGAP_LNHOPFEIBFN",
            Self::Cljegmbedni => "LBKLODPAGAP_CLJEGMBEDNI",
            Self::Cjjgpbaemik => "LBKLODPAGAP_CJJGPBAEMIK",
            Self::Mmonbnceepo => "LBKLODPAGAP_MMONBNCEEPO",
            Self::Gecnhciahga => "LBKLODPAGAP_GECNHCIAHGA",
            Self::Gjfgpnonbij => "LBKLODPAGAP_GJFGPNONBIJ",
            Self::Fiapgkiempp => "LBKLODPAGAP_FIAPGKIEMPP",
            Self::Heddpldnafn => "LBKLODPAGAP_HEDDPLDNAFN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBKLODPAGAP_GKJBAODJMJG" => Some(Self::Gkjbaodjmjg),
            "LBKLODPAGAP_LNHOPFEIBFN" => Some(Self::Lnhopfeibfn),
            "LBKLODPAGAP_CLJEGMBEDNI" => Some(Self::Cljegmbedni),
            "LBKLODPAGAP_CJJGPBAEMIK" => Some(Self::Cjjgpbaemik),
            "LBKLODPAGAP_MMONBNCEEPO" => Some(Self::Mmonbnceepo),
            "LBKLODPAGAP_GECNHCIAHGA" => Some(Self::Gecnhciahga),
            "LBKLODPAGAP_GJFGPNONBIJ" => Some(Self::Gjfgpnonbij),
            "LBKLODPAGAP_FIAPGKIEMPP" => Some(Self::Fiapgkiempp),
            "LBKLODPAGAP_HEDDPLDNAFN" => Some(Self::Heddpldnafn),
            _ => None,
        }
    }
}