// This file is @generated by prost-build.
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EmbeddedAttribute {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefSafetyRulesAttribute {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bkfdflnhkif {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub queue_position: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub icbfdmnneni: u32,
    #[prost(
        oneof = "bkfdflnhkif::Paflkjacedd",
        tags = "101, 102, 103, 104, 201, 202, 203, 251, 252, 253, 261, 262, 263, 264, 265, 266, 267, 268, 269"
    )]
    pub paflkjacedd: ::core::option::Option<bkfdflnhkif::Paflkjacedd>,
}
/// Nested message and enum types in `BKFDFLNHKIF`.
pub mod bkfdflnhkif {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Paflkjacedd {
        /// offset: 16
        #[prost(message, tag = "101")]
        MarbleGameBegin(super::Cjocejlpadk),
        /// offset: 16
        #[prost(message, tag = "102")]
        MarbleGameEnd(super::Kmgdccnngee),
        /// offset: 16
        #[prost(message, tag = "103")]
        MarbleGameRound(super::Lokpjgljiih),
        /// offset: 16
        #[prost(message, tag = "104")]
        MarbleGameTurn(super::Pimngbammam),
        /// offset: 16
        #[prost(message, tag = "201")]
        CakeRaceSectionBegin(super::Pjenkhdodka),
        /// offset: 16
        #[prost(message, tag = "202")]
        CakeRaceSectionEnd(super::Floicbdocnj),
        /// offset: 16
        #[prost(message, tag = "203")]
        CakeRaceRoomSectionSettle(super::Iipahehjjjl),
        /// offset: 16
        #[prost(message, tag = "251")]
        DiceCombatBegin(super::Jpahfffciik),
        /// offset: 16
        #[prost(message, tag = "252")]
        DiceCombatTurnEnd(super::Ninlefepgcc),
        /// offset: 16
        #[prost(message, tag = "253")]
        DiceCombatEnd(super::Kkokoajbhfn),
        /// offset: 16
        #[prost(message, tag = "261")]
        DiceCombatV2Begin(super::Lljjgilgneo),
        /// offset: 16
        #[prost(message, tag = "262")]
        DiceCombatV2End(super::Hpoljgdgoei),
        /// offset: 16
        #[prost(message, tag = "263")]
        DiceCombatV2TurnEnd(super::Iembkiaenoa),
        /// offset: 16
        #[prost(message, tag = "264")]
        DiceCombatV2TacticsPointChange(super::Pnggkffjilg),
        /// offset: 16
        #[prost(message, tag = "265")]
        DiceCombatV2TacticsCardChange(super::Knmghljkbda),
        /// offset: 16
        #[prost(message, tag = "266")]
        DiceCombatV2DiceChangeRequest(super::Inhmdfdbgcl),
        /// offset: 16
        #[prost(message, tag = "267")]
        DiceCombatV2DiceChange(super::Jehpgceihdf),
        /// offset: 16
        #[prost(message, tag = "268")]
        TeamTowersPvpStart(super::Lpehilmmina),
        /// offset: 16
        #[prost(message, tag = "269")]
        TeamTowersPvpEnd(super::Hchdlmiooip),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oghaifphmpe {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub seal_id: u32,
    /// offset: 28
    #[prost(int32, tag = "2")]
    pub flcpfpjbjbo: i32,
    /// offset: 36
    #[prost(int32, tag = "3")]
    pub gobdohjfghn: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub sub_seal_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfphcdcnobn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub seal_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub mdkflgdejcn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gpglncgcllg {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub offbangooki: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub skill_id: u32,
    /// offset: 32
    #[prost(int32, tag = "4")]
    pub param: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldekbgaomfj {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub fhckalahcia: i32,
    /// offset: 32
    #[prost(int32, tag = "2")]
    pub fdofeijjfdd: i32,
    /// offset: 36
    #[prost(int32, tag = "3")]
    pub imijgidndbl: i32,
    /// offset: 28
    #[prost(int32, tag = "4")]
    pub lgajnmnoaem: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjocejlpadk {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 64
    #[prost(uint64, tag = "2")]
    pub room_uid: u64,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub gnamnbdiekg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub bjodjnfgmcb: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    /// offset: 56
    #[prost(uint64, tag = "7")]
    pub gaenfkkakoi: u64,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub alhioniclcm: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub illedjlngnf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kmgdccnngee {
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 48
    #[prost(uint64, tag = "2")]
    pub room_uid: u64,
    /// offset: 108
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub gnamnbdiekg: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub bjodjnfgmcb: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub rank: u32,
    /// offset: 88
    #[prost(uint64, tag = "7")]
    pub gaenfkkakoi: u64,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub alhioniclcm: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 80
    #[prost(uint32, tag = "9")]
    pub illedjlngnf: u32,
    /// offset: 104
    #[prost(uint32, tag = "10")]
    pub result: u32,
    /// offset: 64
    #[prost(int32, tag = "11")]
    pub score_id: i32,
    /// offset: 84
    #[prost(int32, tag = "12")]
    pub total_score: i32,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub gomoikpmfba: ::prost::alloc::vec::Vec<Pfphcdcnobn>,
    /// offset: 76
    #[prost(uint32, tag = "14")]
    pub turn: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub focajamhkka: u32,
    /// offset: 100
    #[prost(uint32, tag = "16")]
    pub bkikjgafkjd: u32,
    /// offset: 68
    #[prost(uint32, tag = "17")]
    pub icbijemflpm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lokpjgljiih {
    /// offset: 108
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 80
    #[prost(uint64, tag = "2")]
    pub room_uid: u64,
    /// offset: 104
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 112
    #[prost(uint32, tag = "4")]
    pub gnamnbdiekg: u32,
    /// offset: 96
    #[prost(uint32, tag = "5")]
    pub afphlnmgphk: u32,
    /// offset: 100
    #[prost(uint32, tag = "6")]
    pub seal_id: u32,
    /// offset: 92
    #[prost(bool, tag = "7")]
    pub pmgepadbkkk: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub dlgdkggfcbf: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 88
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "10")]
    pub fpaebhjfekk: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 76
    #[prost(uint32, tag = "11")]
    pub illedjlngnf: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "12")]
    pub skill_info: ::prost::alloc::vec::Vec<Gpglncgcllg>,
    /// offset: 64
    #[prost(message, repeated, tag = "13")]
    pub mpacddpoclm: ::prost::alloc::vec::Vec<Ldekbgaomfj>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ipaibgoaggn: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub ehnhhafakdp: ::prost::alloc::vec::Vec<Oghaifphmpe>,
    /// offset: 72
    #[prost(uint32, tag = "16")]
    pub nnkbnjkndkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pimngbammam {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub monster_battle_type: u32,
    /// offset: 72
    #[prost(uint64, tag = "2")]
    pub room_uid: u64,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub gnamnbdiekg: u32,
    /// offset: 80
    #[prost(bool, tag = "5")]
    pub llmlognffcd: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub afphlnmgphk: u32,
    /// offset: 84
    #[prost(uint32, tag = "7")]
    pub rank: u32,
    /// offset: 40
    #[prost(uint64, tag = "8")]
    pub gaenfkkakoi: u64,
    /// offset: 68
    #[prost(uint32, tag = "9")]
    pub illedjlngnf: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub hkombpalipn: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub nnkbnjkndkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mniaiagfebp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub fjkdoidebjc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub dkkaehdlecp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kfklpgekjla {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub fmehkpkhgja: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub plnfonnjnid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecogpfkdjdf {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub lhhjfmmcbaf: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub position: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub negcjddiijp: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub mkiomoinkof: ::prost::alloc::vec::Vec<Kfklpgekjla>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub faddjcgmjgb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dbnnbcgmigp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub lhhjfmmcbaf: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mdkflgdejcn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjenkhdodka {
    /// offset: 32
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub lopnadhjkbf: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub player_info: ::core::option::Option<Mniaiagfebp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Floicbdocnj {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub lopnadhjkbf: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 88
    #[prost(uint32, tag = "4")]
    pub ipddikphgpe: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub geccgkahdob: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub clacjfeepni: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub eedlbjgglkd: ::prost::alloc::vec::Vec<Kfklpgekjla>,
    /// offset: 96
    #[prost(uint32, tag = "8")]
    pub iehkeikckll: u32,
    /// offset: 80
    #[prost(uint32, tag = "9")]
    pub jlahnbimkpd: u32,
    /// offset: 76
    #[prost(float, tag = "10")]
    pub llgcghpmkfg: f32,
    /// offset: 92
    #[prost(int32, tag = "11")]
    pub pbioonalcpl: i32,
    /// offset: 48
    #[prost(int32, tag = "12")]
    pub mgnamcpomgk: i32,
    /// offset: 84
    #[prost(int32, tag = "13")]
    pub pehkiicmbcd: i32,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub gogmgecoijh: u32,
    /// offset: 60
    #[prost(int32, tag = "15")]
    pub lnppgbhehml: i32,
    /// offset: 64
    #[prost(int32, tag = "16")]
    pub hcmkefpfedh: i32,
    /// offset: 72
    #[prost(uint32, tag = "17")]
    pub fioeeaibepo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iipahehjjjl {
    /// offset: 48
    #[prost(string, tag = "1")]
    pub room_id: ::prost::alloc::string::String,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub lopnadhjkbf: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 64
    #[prost(message, optional, tag = "4")]
    pub player_info: ::core::option::Option<Mniaiagfebp>,
    /// offset: 56
    #[prost(message, repeated, tag = "5")]
    pub mbggcjijeak: ::prost::alloc::vec::Vec<Ecogpfkdjdf>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub kpojfejnihk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "7")]
    pub gmdphhpggfe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub gggmdecdebb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub gdlmmadbemm: ::prost::alloc::vec::Vec<Dbnnbcgmigp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckodnpnboen {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ghpbbhobmjn: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hlmndlompkp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gpildekmagj: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ocilfnnghbd: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ngkfifafmnd: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub hopacegjjkb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdnoplpdlfc {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub nmdbmpplfkh: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub cccoemlipif: u32,
    /// offset: 73
    #[prost(bool, tag = "3")]
    pub kamjhjealkh: bool,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub jikcfndfnma: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub lfigkfghpgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub pidlpaphkdo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub ohokcjbjjha: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub damage: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub fgkclinnmnd: u32,
    /// offset: 72
    #[prost(bool, tag = "10")]
    pub kjjnicekbai: bool,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub nmacjapbhke: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "12")]
    pub njffnhhfpoa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpahfffciik {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub glhkjmbkkpi: u32,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub gaenfkkakoi: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub oojgmimjagc: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub monster_battle_type: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub mmnjjhdbjci: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub idbgclflcge: ::core::option::Option<Ckodnpnboen>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ninlefepgcc {
    /// offset: 64
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 92
    #[prost(uint32, tag = "2")]
    pub glhkjmbkkpi: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub gaenfkkakoi: u32,
    /// offset: 100
    #[prost(uint32, tag = "4")]
    pub oojgmimjagc: u32,
    /// offset: 84
    #[prost(bool, tag = "5")]
    pub cjnhailkepn: bool,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub turn: u32,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub fdaoajkbjkm: u32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub idbgclflcge: ::core::option::Option<Ckodnpnboen>,
    /// offset: 96
    #[prost(uint32, tag = "10")]
    pub attack_type: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub adhhmelleha: ::core::option::Option<Fdnoplpdlfc>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub knmngcbmnmj: ::core::option::Option<Fdnoplpdlfc>,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub kfemjmkmgij: u32,
    /// offset: 88
    #[prost(uint32, tag = "14")]
    pub cost_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kkokoajbhfn {
    /// offset: 96
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub glhkjmbkkpi: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub gaenfkkakoi: u32,
    /// offset: 104
    #[prost(uint32, tag = "4")]
    pub oojgmimjagc: u32,
    /// offset: 72
    #[prost(bool, tag = "5")]
    pub cjnhailkepn: bool,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub monster_battle_type: u32,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub mmnjjhdbjci: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "8")]
    pub mhbehhmjhom: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub idbgclflcge: ::core::option::Option<Ckodnpnboen>,
    /// offset: 76
    #[prost(uint32, tag = "11")]
    pub result: u32,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub oliidbmfhch: ::core::option::Option<Hlmndlompkp>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub cdhiepdfeib: ::core::option::Option<Hlmndlompkp>,
    /// offset: 108
    #[prost(uint32, tag = "14")]
    pub mphfjhcdeeg: u32,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub cost_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Efbnninldmm {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub oliidbmfhch: ::core::option::Option<Hlmndlompkp>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub lmhcdbenjlm: ::core::option::Option<Hlmndlompkp>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub cdhiepdfeib: ::core::option::Option<Hlmndlompkp>,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub jpbipckeimg: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub blhpchnpnla: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lljjgilgneo {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub dlladajakag: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub mmnjjhdbjci: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub faoohibojne: ::core::option::Option<Ckodnpnboen>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub monster_battle_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iembkiaenoa {
    /// offset: 104
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 112
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 92
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 96
    #[prost(uint32, tag = "4")]
    pub dlladajakag: u32,
    /// offset: 88
    #[prost(bool, tag = "5")]
    pub eidalfjeafp: bool,
    /// offset: 72
    #[prost(uint32, tag = "6")]
    pub turn: u32,
    /// offset: 116
    #[prost(uint32, tag = "7")]
    pub fdaoajkbjkm: u32,
    /// offset: 64
    #[prost(message, optional, tag = "8")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub faoohibojne: ::core::option::Option<Ckodnpnboen>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub idbgclflcge: ::core::option::Option<Ckodnpnboen>,
    /// offset: 76
    #[prost(uint32, tag = "11")]
    pub attack_type: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub adhhmelleha: ::core::option::Option<Fdnoplpdlfc>,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub oamggamolbh: ::core::option::Option<Fdnoplpdlfc>,
    /// offset: 56
    #[prost(message, optional, tag = "14")]
    pub knmngcbmnmj: ::core::option::Option<Fdnoplpdlfc>,
    /// offset: 120
    #[prost(uint32, tag = "15")]
    pub ecmlcbnlbbg: u32,
    /// offset: 80
    #[prost(uint32, tag = "16")]
    pub blhpchnpnla: u32,
    /// offset: 124
    #[prost(uint32, tag = "17")]
    pub cost_time: u32,
    /// offset: 84
    #[prost(uint32, tag = "18")]
    pub icfpokdioli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpoljgdgoei {
    /// offset: 88
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 80
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 100
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub dlladajakag: u32,
    /// offset: 108
    #[prost(bool, tag = "5")]
    pub eidalfjeafp: bool,
    /// offset: 84
    #[prost(uint32, tag = "6")]
    pub mmnjjhdbjci: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "7")]
    pub mhbehhmjhom: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub coggjelnfcn: ::core::option::Option<Ckodnpnboen>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub faoohibojne: ::core::option::Option<Ckodnpnboen>,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub result: u32,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub cofibfhadao: ::core::option::Option<Efbnninldmm>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ihhecaciabo: ::core::option::Option<Efbnninldmm>,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub score_id: u32,
    /// offset: 96
    #[prost(uint32, tag = "15")]
    pub hbaaibhpnoj: u32,
    /// offset: 104
    #[prost(uint32, tag = "16")]
    pub cost_time: u32,
    /// offset: 76
    #[prost(uint32, tag = "17")]
    pub monster_battle_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnggkffjilg {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub turn: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub reason: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub hepchhchhpf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(int32, tag = "7")]
    pub kccjcgfkccc: i32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub fojgieehhng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knmghljkbda {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub turn: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub oiemglcgiom: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub r#type: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub reason: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Inhmdfdbgcl {
    /// offset: 40
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub turn: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub clngfdpindb: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jehpgceihdf {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub room_id: u64,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub mpdhnfnciea: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub turn: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub mfmjhpkjoai: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "6")]
    pub afkcmbmlbbi: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpehilmmina {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(uint64, tag = "2")]
    pub room_id: u64,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub imiednoocfh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hchdlmiooip {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub room_id: u64,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pjgilaadcpn: u32,
    /// offset: 48
    #[prost(bool, tag = "4")]
    pub idpiimcmpdj: bool,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub result: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub max_wave: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub cost_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohlnnomjpnh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub aejpcflopal: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pegjihhifop {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub aejpcflopal: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cioaoegeikh {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub dnigkdkippj: ::prost::alloc::vec::Vec<Pegjihhifop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpkidilkoak {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub aejpcflopal: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Damnnjkjomm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub first_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub second_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub dhmebodojmi: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub dlcjloimkoj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mcofkoejggl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gpiojjbaijb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub adhejndapih: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kobgmghmclf {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub bjkbfdjgfog: ::prost::alloc::vec::Vec<Mcofkoejggl>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub idbdbicpbbg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgpmblajjjg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub aejpcflopal: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfdjlbjpnmc {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub gbmbahhdonn: ::prost::alloc::vec::Vec<Jgpmblajjjg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jolhimgjgbo {
    #[prost(oneof = "jolhimgjgbo::Jbldlhiggkm", tags = "1, 2, 3, 4, 5, 6")]
    pub jbldlhiggkm: ::core::option::Option<jolhimgjgbo::Jbldlhiggkm>,
}
/// Nested message and enum types in `JOLHIMGJGBO`.
pub mod jolhimgjgbo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jbldlhiggkm {
        /// offset: 16
        #[prost(message, tag = "1")]
        Fjonkdkacab(super::Ohlnnomjpnh),
        /// offset: 16
        #[prost(message, tag = "2")]
        Dkbbmjdnhng(super::Cioaoegeikh),
        /// offset: 16
        #[prost(message, tag = "3")]
        Bdnbihljnck(super::Jpkidilkoak),
        /// offset: 16
        #[prost(message, tag = "4")]
        Hcaahiginom(super::Damnnjkjomm),
        /// offset: 16
        #[prost(message, tag = "5")]
        Oeakbclihgh(super::Kobgmghmclf),
        /// offset: 16
        #[prost(message, tag = "6")]
        Miejnlbbidb(super::Gfdjlbjpnmc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnbbdmbnndj {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub lineup_list: ::prost::alloc::vec::Vec<Jolhimgjgbo>,
}
/// Obf: ChallengeLineupList
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeLineupList {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<ChallengeAvatarInfo>,
}
/// Obf: ChallengeAvatarInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeAvatarInfo {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub index: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub skin_id: u32,
}
/// Obf: ChallengeBossEquipmentInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeBossEquipmentInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub tid: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub promotion: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossRelicInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub tid: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub main_affix_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
}
/// Obf: ChallengeBossAvatarRelicInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossAvatarRelicInfo {
    /// offset: 16
    #[prost(map = "uint32, message", tag = "1")]
    pub avatar_relic_slot_map: ::std::collections::HashMap<u32, ChallengeBossRelicInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cldoiegcnld {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub avatar_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub skin_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub equipment: ::core::option::Option<ChallengeBossEquipmentInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub okcghkdmfam: ::core::option::Option<ChallengeBossAvatarRelicInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gllfjfjbibc {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub mnabnjoehlf: ::prost::alloc::vec::Vec<Cldoiegcnld>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aiighjeighe {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub stage_index: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<ChallengeLineupList>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
}
/// Obf: BBBIAPEHABA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerChallengeTierceRecord {
    /// offset: 48
    #[prost(bool, tag = "1")]
    pub egllmgllhdl: bool,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub record_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub gbmbahhdonn: ::prost::alloc::vec::Vec<Aiighjeighe>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub ejedodffabi: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub total_score: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fmdaaiklaja {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 29
    #[prost(bool, tag = "2")]
    pub jfkmnbhobcl: bool,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub egllmgllhdl: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecckhollppc {
    /// offset: 32
    #[prost(uint64, tag = "1")]
    pub anbjmmoegje: u64,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub gjnmhilinhc: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub jojalehllej: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub agnfhclkgcf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nddomfbjmke {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub panel_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub content_type: u32,
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub hjfdajamfac: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dchcpkmfnnc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejefbhpapnd {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfdblponohe {
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(enumeration = "Pjcmneniehh", repeated, tag = "2")]
    pub gbkibfjcpal: ::prost::alloc::vec::Vec<i32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub pooemjlcdhb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmmmigpfioh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpifgeonfpi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ilbjlienclb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epcnfdbkaee {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfhfmplajcc {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gdibhdekjcg {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gcbhoijlbfl {
    /// offset: 16
    #[prost(string, tag = "10")]
    pub bldmfdkdjdm: ::prost::alloc::string::String,
    #[prost(oneof = "gcbhoijlbfl::Blofagpdokj", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
    pub blofagpdokj: ::core::option::Option<gcbhoijlbfl::Blofagpdokj>,
}
/// Nested message and enum types in `GCBHOIJLBFL`.
pub mod gcbhoijlbfl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Blofagpdokj {
        /// offset: 32
        #[prost(message, tag = "1")]
        Bnigonfkico(super::Dchcpkmfnnc),
        /// offset: 32
        #[prost(message, tag = "2")]
        Jioebafcaje(super::Ejefbhpapnd),
        /// offset: 32
        #[prost(message, tag = "3")]
        Nbbfphglfnp(super::Pfdblponohe),
        /// offset: 32
        #[prost(message, tag = "4")]
        Lnombcdabkj(super::Gmmmigpfioh),
        /// offset: 32
        #[prost(message, tag = "5")]
        Begaibbjhhd(super::Dpifgeonfpi),
        /// offset: 32
        #[prost(message, tag = "6")]
        Goikmbnggnp(super::Epcnfdbkaee),
        /// offset: 32
        #[prost(message, tag = "7")]
        Cmhjjddehcp(super::Hfhfmplajcc),
        /// offset: 32
        #[prost(message, tag = "8")]
        Ookbddejhpb(super::Gdibhdekjcg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Idlackbinmc {
    /// offset: 32
    #[prost(string, tag = "1")]
    pub title: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub jfceooodibn: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igchdhfmpbj {
    /// offset: 32
    #[prost(enumeration = "Dkopgdpkjhb", tag = "1")]
    pub r#type: i32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub stop_desc: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Peldieommdm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(string, tag = "2")]
    pub stop_desc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jaoneljjafk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub property_type: u32,
    /// offset: 28
    #[prost(float, tag = "2")]
    pub value: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aoaobpgfhla {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub compose_relic_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub relic_type: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub elogoffijbb: ::core::option::Option<Jaoneljjafk>,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<Jaoneljjafk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjnpobamkkf {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub hgnknfjpiki: ::prost::alloc::vec::Vec<Aoaobpgfhla>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub cdmkbchlpab: ::prost::alloc::vec::Vec<Jaoneljjafk>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub mncfogjecmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oplfdagpbei {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub flfnbplnnbl: ::core::option::Option<Hjnpobamkkf>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub llmdkahfiij: ::core::option::Option<Hjnpobamkkf>,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub stop_desc: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hckaddligeb {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub stop_desc: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub haafjlkhckf: u32,
}
/// Obf: ChatData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatData {
    #[prost(
        oneof = "chat_data::ExtendType",
        tags = "101, 102, 103, 104, 105, 106, 107, 108, 109, 110"
    )]
    pub extend_type: ::core::option::Option<chat_data::ExtendType>,
}
/// Nested message and enum types in `ChatData`.
pub mod chat_data {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ExtendType {
        /// offset: 16
        #[prost(message, tag = "101")]
        Npboinapjje(super::Ecckhollppc),
        /// offset: 16
        #[prost(message, tag = "102")]
        Ibjbfodfimn(super::Nddomfbjmke),
        /// offset: 16
        #[prost(string, tag = "103")]
        MessageText(::prost::alloc::string::String),
        /// offset: 16
        #[prost(uint32, tag = "104")]
        ExtraId(u32),
        /// offset: 16
        #[prost(message, tag = "105")]
        Ialhifelmge(super::Gcbhoijlbfl),
        /// offset: 16
        #[prost(message, tag = "106")]
        Adbnphdppih(super::Idlackbinmc),
        /// offset: 16
        #[prost(message, tag = "107")]
        Lplcdcifook(super::Igchdhfmpbj),
        /// offset: 16
        #[prost(message, tag = "108")]
        Nlhjfkgnamb(super::Peldieommdm),
        /// offset: 16
        #[prost(message, tag = "109")]
        Bclpamnphnp(super::Oplfdagpbei),
        /// offset: 16
        #[prost(message, tag = "110")]
        Hjadniaamgj(super::Hckaddligeb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageChatData {
    /// offset: 32
    #[prost(enumeration = "MsgType", tag = "1")]
    pub message_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub chat_data: ::core::option::Option<ChatData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eknabklpeel {
    /// offset: 24
    #[prost(enumeration = "Hcmeilllkbd", tag = "1")]
    pub kpobmnlklok: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChatMessageData {
    /// offset: 48
    #[prost(uint64, tag = "4")]
    pub create_time: u64,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub message_datas: ::prost::alloc::vec::Vec<MessageChatData>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub ckhpffenobe: ::core::option::Option<Eknabklpeel>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub bkoalkhdlob: ::core::option::Option<Eknabklpeel>,
}
/// Obf: PlayerBasicInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerBasicInfo {
    /// offset: 16
    #[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: 48
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub mcoin: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub hcoin: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub scoin: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cjlcpmdgibo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub eakolijoepa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::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, Eq, Hash, ::prost::Message)]
pub struct BlackInfo {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    /// offset: 40
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub limit_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ban_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpnhgdglicn {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onkdapokgac {
    /// offset: 40
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub index: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub skin_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fnfmcaebolh {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClientDownloadData {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 40
    #[prost(int64, tag = "2")]
    pub time: i64,
    /// offset: 16
    #[prost(bytes = "vec", tag = "3")]
    pub data: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub channel_id: u32,
}
#[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: 16
    #[prost(message, optional, tag = "2")]
    pub client_obj_download_data: ::core::option::Option<ClientDownloadData>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub dyn_code: ::prost::alloc::vec::Vec<ClientDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfkkombkjip {
    /// offset: 32
    #[prost(string, tag = "1")]
    pub tag: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbjlnkafnad {
    /// 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 Hdoknmgidmb {
    /// offset: 32
    #[prost(enumeration = "FeatureSwitchType", tag = "1")]
    pub r#type: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub bgnklmimbpi: ::prost::alloc::vec::Vec<Hbjlnkafnad>,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub kpcpabkpakl: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mephkjfajpp {
    /// offset: 64
    #[prost(string, tag = "1")]
    pub nlongnhnecg: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub bhnhgpcgkma: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "3")]
    pub ckacnadcdfp: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "4")]
    pub eidokhkeopp: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "5")]
    pub helmpdckleo: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "6")]
    pub dfblobnlhcc: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(string, tag = "7")]
    pub gleejnejacp: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cmcjfjebbco {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub lembpaggmem: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(int32, tag = "2")]
    pub blnddbdidnj: i32,
    /// offset: 40
    #[prost(int32, tag = "3")]
    pub hdmmkjikcoj: i32,
    /// offset: 32
    #[prost(int32, tag = "4")]
    pub lmmhagldacm: i32,
    /// offset: 36
    #[prost(int32, tag = "5")]
    pub mbpeliojbdg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReplayInfo {
    /// offset: 40
    #[prost(uint64, tag = "1")]
    pub lmfbcheholo: u64,
    /// offset: 76
    #[prost(enumeration = "Pbiefhknafa", tag = "2")]
    pub replay_type: i32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub head_icon: u32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub replay_name: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint64, tag = "8")]
    pub create_time: u64,
    /// offset: 72
    #[prost(uint32, tag = "9")]
    pub klifgjoilee: u32,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub pbnienncnop: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Goffdnpbhik {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub avatar_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjdiahdlcnj {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub damage_hp: u32,
    /// offset: 56
    #[prost(bool, tag = "3")]
    pub is_final_hit: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub over_kill_damage_hp: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub battle_replay_key: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Goffdnpbhik>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub assist_score: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub damage_score: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub final_hit_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmdhiallilj {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub gaikbnpiflm: ::prost::alloc::vec::Vec<Cjdiahdlcnj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdccphilocc {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
/// Obf: PunkLordMonsterBasicInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PunkLordMonsterBasicInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 48
    #[prost(int64, tag = "5")]
    pub create_time: i64,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub left_hp: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub attacker_num: u32,
    /// offset: 56
    #[prost(enumeration = "PunkLordShareType", tag = "8")]
    pub share_type: i32,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub apcmaijppeh: bool,
}
/// Obf: TryDownLoadReplay
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TryDownLoadReplay {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub battle_replay_key: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub replay_info: ::core::option::Option<ReplayInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RegionInfo {
    /// offset: 48
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub dispatch_url: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub env_type: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub display_name: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(string, tag = "6")]
    pub stop_desc: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(string, tag = "7")]
    pub mdpgmpgbdmh: ::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 msg: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub top_sever_region_name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub region_list: ::prost::alloc::vec::Vec<RegionInfo>,
    /// offset: 48
    #[prost(string, tag = "5")]
    pub fmpgolibhbd: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bnailmnngif {
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub agpfhdnoben: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "2")]
    pub dcfgiejaill: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "3")]
    pub klkadpnpnhi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub nbinkkofked: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub pljejgcekgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, repeated, tag = "6")]
    pub hblkpajppec: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(bool, tag = "7")]
    pub ihabnjlbnbl: bool,
    /// offset: 92
    #[prost(uint32, tag = "8")]
    pub mnnlnojnpbp: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "9")]
    pub bopgcjomkge: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub clnifbckjpe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "11")]
    pub mpbdklfapch: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aohkkfhdalo {
    #[prost(oneof = "aohkkfhdalo::Nebnjdmfelo", tags = "101, 102")]
    pub nebnjdmfelo: ::core::option::Option<aohkkfhdalo::Nebnjdmfelo>,
}
/// Nested message and enum types in `AOHKKFHDALO`.
pub mod aohkkfhdalo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nebnjdmfelo {
        /// offset: 16
        #[prost(uint32, tag = "101")]
        RoleStar(u32),
        /// offset: 16
        #[prost(uint32, tag = "102")]
        Pihgnnmbcej(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcconkjhdjl {
    /// offset: 40
    #[prost(enumeration = "GridFightDropType", tag = "1")]
    pub fkkglfohgga: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub fnlmkjlklfh: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub num: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub param: ::core::option::Option<Aohkkfhdalo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightDropInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub nmgiabhijjb: ::prost::alloc::vec::Vec<Bcconkjhdjl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hendehgpkmf {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub dice_slot_id: u32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub kfpmjkcojaj: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(bytes = "vec", tag = "5")]
    pub jlfiafkgcoj: ::prost::alloc::vec::Vec<u8>,
    /// offset: 48
    #[prost(string, tag = "6")]
    pub milbdipbjgp: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhceiohladg {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub pos_index: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lhhonkjppdc: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub kfgokfkhopb: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lllookpgggg: u32,
}
/// Obf: Vector
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Vector {
    /// offset: 28
    #[prost(sint32, tag = "1")]
    pub x: i32,
    /// offset: 24
    #[prost(sint32, tag = "2")]
    pub y: i32,
    /// offset: 32
    #[prost(sint32, tag = "3")]
    pub z: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpgackplgcd {
    /// offset: 26
    #[prost(bool, tag = "1")]
    pub kalacjbapoa: bool,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub fokjipgmkan: bool,
    /// offset: 25
    #[prost(bool, tag = "3")]
    pub iblgocfboco: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Khadhdlcnoi {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub is_pause: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aakeccjelli {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub volume: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mncbedbddhl {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub jknlceedahj: ::core::option::Option<Khadhdlcnoi>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub nnjceinoehh: ::prost::alloc::vec::Vec<Aakeccjelli>,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub pgpncnabham: bool,
}
/// Obf: BattleOp
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleOp {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub state: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub action_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub target_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub op_type: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub skill_index: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub operation_counter: u32,
    /// offset: 16
    #[prost(string, tag = "8")]
    pub lomlipolbkm: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleEquipment {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRelic {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[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: 36
    #[prost(uint32, tag = "6")]
    pub set_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub r#type: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub rarity: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AvatarSkillTree {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub point_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub level: u32,
}
/// Obf: RelicAffix
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicAffix {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub affix_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub cnt: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub step: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amemkfnabgg {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub gnlmbjcping: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ilolfnpaljh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pikbpdamgml: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub odhidlbapig: u32,
}
/// Obf: BattleAvatar
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatar {
    /// offset: 100
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 84
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 108
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub index: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub equipment_list: ::prost::alloc::vec::Vec<BattleEquipment>,
    /// offset: 80
    #[prost(uint32, tag = "8")]
    pub hp: u32,
    /// offset: 88
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<BattleRelic>,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub assist_uid: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub alnjeninbpn: ::core::option::Option<Amemkfnabgg>,
    /// offset: 56
    #[prost(message, optional, tag = "16")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 104
    #[prost(uint32, tag = "17")]
    pub gdimkfnecok: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "18")]
    pub chefggpejkl: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 112
    #[prost(uint32, tag = "19")]
    pub enhanced_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleMonsterParam {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub hard_level_group: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub elite_group: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub iedebfccknl: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub cphiinkideb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alimnheenpp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub role_star: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub iebnogooemo: ::prost::alloc::vec::Vec<Bcconkjhdjl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljhdmkebpdh {
    #[prost(oneof = "ljhdmkebpdh::TeleportNigger", tags = "101")]
    pub teleport_nigger: ::core::option::Option<ljhdmkebpdh::TeleportNigger>,
}
/// Nested message and enum types in `LJHDMKEBPDH`.
pub mod ljhdmkebpdh {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum TeleportNigger {
        /// offset: 16
        #[prost(message, tag = "101")]
        Eigmkojoeei(super::Alimnheenpp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleMonster {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cur_hp: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub max_hp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub extra_info: ::core::option::Option<Ljhdmkebpdh>,
}
#[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,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleBuff {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub owner_index: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub wave_flag: u32,
    /// offset: 16
    #[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, Eq, Hash, ::prost::Message)]
pub struct Edcfkacpfnb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ckgjikjdhcj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::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 Dbcbmjkobpj {
    /// offset: 56
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 96
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 120
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 48
    #[prost(map = "uint32, message", tag = "9")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub battle_action_event_id: ::core::option::Option<Edcfkacpfnb>,
    /// offset: 64
    #[prost(message, repeated, tag = "11")]
    pub eeipnljnjal: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub battle_evolve_build_data: ::core::option::Option<
        BattleGridFightSpecialBattleInfo,
    >,
    /// offset: 88
    #[prost(message, optional, tag = "13")]
    pub battle_sword_training_data: ::core::option::Option<Kiaicmelimm>,
    /// offset: 104
    #[prost(message, optional, tag = "14")]
    pub battle_rogue_magic_info: ::core::option::Option<BattleRogueMagicInfo>,
    /// offset: 112
    #[prost(message, optional, tag = "15")]
    pub battle_fate_data: ::core::option::Option<Pkpfahebjio>,
    /// offset: 32
    #[prost(message, optional, tag = "16")]
    pub battle_grid_fight_data: ::core::option::Option<GridFightInfo>,
    /// offset: 72
    #[prost(message, optional, tag = "17")]
    pub battle_fate_rin_data: ::core::option::Option<Glibgkggejl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiaicmelimm {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "1")]
    pub aokecjbfmcn: ::std::collections::HashMap<u32, u32>,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub cdbgpmabmgm: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub fgohmomlebg: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub enemy_hp_multiplier: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::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: 24
    #[prost(uint32, repeated, tag = "4")]
    pub licleeicaoe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(enumeration = "Aabgifaeeek", tag = "5")]
    pub agbmhemiaih: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojhhhplbiej {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<AetherAvatarInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<BattleMonsterWave>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jieaanceijp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub turn_counter: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub random_counter: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub snapshot_list: ::prost::alloc::vec::Vec<Holhbeohejd>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub amcpmeaojjk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eicnflhihoi {
    /// offset: 43
    #[prost(bool, tag = "1")]
    pub ggoppdkdpme: bool,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub okhbclcclpl: u32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub lgjmmjefgnk: bool,
    /// offset: 24
    #[prost(string, tag = "4")]
    pub hakclahlpfg: ::prost::alloc::string::String,
    /// offset: 42
    #[prost(bool, tag = "5")]
    pub iiccmnmeofi: bool,
    /// offset: 41
    #[prost(bool, tag = "6")]
    pub debaocjbbnb: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub gckhdgobfoc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mohmahdobdo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub start_pos: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub length: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibhhjpcioic {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub eclagojmmbo: bool,
    /// offset: 16
    #[prost(map = "string, message", tag = "2")]
    pub jkmhajhikik: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        Mohmahdobdo,
    >,
    /// offset: 32
    #[prost(bytes = "vec", tag = "3")]
    pub afmfncgcnhi: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebpdnoomhbd {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub jjogehpdokh: ::prost::alloc::vec::Vec<Jieaanceijp>,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub bdglpmhpekd: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "3")]
    pub debug_extra_info: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub adailgdcpnh: ::prost::alloc::vec::Vec<Papjepajpcj>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub floor_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub abdbldpcjcj: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub pbigecfchen: u32,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub coboaebcmco: ::core::option::Option<Ibhhjpcioic>,
    /// offset: 80
    #[prost(uint32, tag = "10")]
    pub iohjehhhpcl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okflahfibcm {
    /// offset: 104
    #[prost(uint32, tag = "1")]
    pub version: u32,
    /// offset: 128
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    /// offset: 100
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Dbcbmjkobpj>,
    /// offset: 88
    #[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: 132
    #[prost(uint32, tag = "7")]
    pub fmoaahkdgnp: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub dacglghglig: ::prost::alloc::vec::Vec<u32>,
    /// offset: 124
    #[prost(bool, tag = "9")]
    pub nngdlohalcn: bool,
    /// offset: 112
    #[prost(enumeration = "Oikbipicgdn", tag = "10")]
    pub mbhfmfempom: i32,
    /// offset: 108
    #[prost(enumeration = "BattleModuleType", tag = "11")]
    pub jkceimccbba: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub battle_event: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 120
    #[prost(uint32, tag = "14")]
    pub rounds_limit: u32,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub config: ::core::option::Option<Eicnflhihoi>,
    /// offset: 32
    #[prost(bytes = "vec", tag = "16")]
    pub ijhanpilbam: ::prost::alloc::vec::Vec<u8>,
    /// offset: 116
    #[prost(uint32, tag = "17")]
    pub nibmfcfbhep: u32,
    /// offset: 96
    #[prost(uint32, tag = "18")]
    pub jaoiokbbmfc: u32,
    /// offset: 80
    #[prost(message, optional, tag = "19")]
    pub apfnihdlfie: ::core::option::Option<Ojhhhplbiej>,
    /// offset: 72
    #[prost(message, optional, tag = "100")]
    pub ddfabagihmd: ::core::option::Option<Ebpdnoomhbd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Papjepajpcj {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub hash: i32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
/// Obf: AvatarProperty
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvatarProperty {
    /// offset: 40
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub attack: f64,
    /// offset: 24
    #[prost(double, tag = "3")]
    pub defence: f64,
    /// offset: 56
    #[prost(double, tag = "4")]
    pub speed: f64,
    /// offset: 64
    #[prost(double, tag = "5")]
    pub left_hp: f64,
    /// offset: 72
    #[prost(double, tag = "6")]
    pub left_sp: f64,
    /// offset: 48
    #[prost(double, tag = "7")]
    pub max_sp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EquipmentProperty {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AttackDamageProperty {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub attack_type: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub damage: f64,
}
/// Obf: SkillUseProperty
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SkillUseProperty {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub skill_type: ::prost::alloc::string::String,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub skill_level: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub skill_use_count: u32,
    /// offset: 72
    #[prost(double, tag = "5")]
    pub hljoeghjnla: f64,
    /// offset: 40
    #[prost(double, tag = "6")]
    pub cidjhaobnmf: f64,
    /// offset: 48
    #[prost(double, tag = "7")]
    pub cfffapjggcb: f64,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub ggdbmjgbdma: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub bjgnkiplnba: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aofmdlldihg {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub delay: f64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub battle_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(double, tag = "4")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::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 Epnaonkohbo {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub ability_name: ::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 Cfdhdbnihpl {
    /// offset: 32
    #[prost(double, tag = "1")]
    pub gnhlkbinief: f64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ngijfaeonck: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abdokofehmh {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub bcjlnfomeag: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knbmapnndjl {
    /// offset: 28
    #[prost(int32, tag = "1")]
    pub ollphbppehg: i32,
    /// offset: 24
    #[prost(int32, tag = "2")]
    pub nonacgpceke: i32,
    /// offset: 32
    #[prost(int32, tag = "3")]
    pub bcjlnfomeag: i32,
}
/// Obf: AvatarBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarBattleInfo {
    /// offset: 184
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 268
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 208
    #[prost(uint32, tag = "3")]
    pub avatar_level: u32,
    /// offset: 252
    #[prost(uint32, tag = "4")]
    pub avatar_rank: u32,
    /// offset: 228
    #[prost(uint32, tag = "5")]
    pub avatar_promotion: u32,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub avatar_status: ::core::option::Option<AvatarProperty>,
    /// offset: 80
    #[prost(message, repeated, tag = "7")]
    pub avatar_skill: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub avatar_equipment: ::prost::alloc::vec::Vec<EquipmentProperty>,
    /// offset: 384
    #[prost(uint32, tag = "9")]
    pub total_turns: u32,
    /// offset: 312
    #[prost(double, tag = "10")]
    pub total_damage: f64,
    /// offset: 296
    #[prost(double, tag = "11")]
    pub total_heal: f64,
    /// offset: 272
    #[prost(double, tag = "12")]
    pub total_damage_taken: f64,
    /// offset: 168
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    /// offset: 256
    #[prost(double, tag = "14")]
    pub total_sp_cost: f64,
    /// offset: 340
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
    /// offset: 292
    #[prost(uint32, tag = "16")]
    pub stage_type: u32,
    /// offset: 376
    #[prost(double, tag = "17")]
    pub total_break_damage: f64,
    /// offset: 88
    #[prost(message, repeated, tag = "18")]
    pub attack_type_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 112
    #[prost(message, repeated, tag = "19")]
    pub attack_type_break_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 128
    #[prost(message, repeated, tag = "20")]
    pub attack_type_max_damage: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 48
    #[prost(message, repeated, tag = "21")]
    pub skill_times: ::prost::alloc::vec::Vec<SkillUseProperty>,
    /// offset: 280
    #[prost(double, tag = "22")]
    pub delay_cumulate: f64,
    /// offset: 144
    #[prost(uint32, tag = "23")]
    pub total_sp_add: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "24")]
    pub sp_add_source: ::prost::alloc::vec::Vec<SpAddSource>,
    /// offset: 332
    #[prost(uint32, tag = "25")]
    pub total_bp_cost: u32,
    /// offset: 264
    #[prost(uint32, tag = "26")]
    pub die_times: u32,
    /// offset: 248
    #[prost(uint32, tag = "27")]
    pub revive_times: u32,
    /// offset: 372
    #[prost(uint32, tag = "28")]
    pub break_times: u32,
    /// offset: 224
    #[prost(uint32, tag = "29")]
    pub extra_turns: u32,
    /// offset: 160
    #[prost(double, tag = "30")]
    pub total_shield: f64,
    /// offset: 136
    #[prost(double, tag = "31")]
    pub total_shield_taken: f64,
    /// offset: 152
    #[prost(double, tag = "32")]
    pub total_shield_damage: f64,
    /// offset: 32
    #[prost(message, optional, tag = "33")]
    pub initial_status: ::core::option::Option<AvatarProperty>,
    /// offset: 104
    #[prost(message, repeated, tag = "34")]
    pub relics: ::prost::alloc::vec::Vec<BattleRelic>,
    /// offset: 308
    #[prost(uint32, tag = "35")]
    pub assist_uid: u32,
    /// offset: 120
    #[prost(message, repeated, tag = "36")]
    pub noghnmcddai: ::prost::alloc::vec::Vec<AttackDamageProperty>,
    /// offset: 176
    #[prost(double, tag = "37")]
    pub deicgfkimmo: f64,
    /// offset: 192
    #[prost(double, tag = "38")]
    pub gpleldeieko: f64,
    /// offset: 360
    #[prost(double, tag = "39")]
    pub cnemkkibfea: f64,
    /// offset: 232
    #[prost(double, tag = "40")]
    pub eeogkokopnb: f64,
    /// offset: 96
    #[prost(message, repeated, tag = "41")]
    pub aljijbkefdd: ::prost::alloc::vec::Vec<Epnaonkohbo>,
    /// offset: 344
    #[prost(uint32, tag = "42")]
    pub cnleplaeehf: u32,
    /// offset: 328
    #[prost(uint32, tag = "43")]
    pub jdhdjfckbgd: u32,
    /// offset: 240
    #[prost(double, tag = "44")]
    pub dialjmahfbo: f64,
    /// offset: 352
    #[prost(double, tag = "45")]
    pub laoeegeeldk: f64,
    /// offset: 200
    #[prost(double, tag = "46")]
    pub lflkogdplkd: f64,
    /// offset: 320
    #[prost(double, tag = "47")]
    pub ebmfcbkhieh: f64,
    /// offset: 392
    #[prost(double, tag = "48")]
    pub dblabfodnmj: f64,
    /// offset: 148
    #[prost(uint32, tag = "49")]
    pub fjnkopmolde: u32,
    /// offset: 348
    #[prost(uint32, tag = "50")]
    pub flkcfjbciom: u32,
    /// offset: 336
    #[prost(uint32, tag = "51")]
    pub pnjdpnhnbda: u32,
    /// offset: 216
    #[prost(double, tag = "52")]
    pub nedcakemhlf: f64,
    /// offset: 388
    #[prost(uint32, tag = "53")]
    pub nbcdomjbafm: u32,
    /// offset: 304
    #[prost(uint32, tag = "54")]
    pub pecmogdlcdc: u32,
    /// offset: 368
    #[prost(uint32, tag = "55")]
    pub enhanced_id: u32,
    /// offset: 288
    #[prost(uint32, tag = "56")]
    pub mebkilmpmga: u32,
    /// offset: 64
    #[prost(message, optional, tag = "57")]
    pub fdmeedejccp: ::core::option::Option<Cfdhdbnihpl>,
    /// offset: 24
    #[prost(message, optional, tag = "58")]
    pub gehejppcblk: ::core::option::Option<Abdokofehmh>,
    /// offset: 212
    #[prost(uint32, tag = "59")]
    pub okmhkbojbob: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Igmokoenldk {
    /// offset: 48
    #[prost(double, tag = "1")]
    pub max_hp: f64,
    /// offset: 56
    #[prost(double, tag = "2")]
    pub attack: f64,
    /// offset: 64
    #[prost(double, tag = "3")]
    pub defence: f64,
    /// offset: 24
    #[prost(double, tag = "4")]
    pub ofmlldlaocc: f64,
    /// offset: 40
    #[prost(double, tag = "5")]
    pub speed: f64,
    /// offset: 32
    #[prost(double, tag = "6")]
    pub left_hp: f64,
    /// offset: 72
    #[prost(double, tag = "7")]
    pub gencobdfkla: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ckcdiaaficj {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub bkpdkfldldd: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub ifmohnaaamc: f64,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub mmphfldbekb: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub break_times: u32,
}
/// Obf: MonsterBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonsterBattleInfo {
    /// offset: 160
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 180
    #[prost(uint32, tag = "3")]
    pub pkfmofpmbbj: u32,
    /// offset: 132
    #[prost(uint32, tag = "4")]
    pub nckaicabjik: u32,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub cihapgpncmi: ::core::option::Option<Igmokoenldk>,
    /// offset: 76
    #[prost(uint32, tag = "6")]
    pub total_turns: u32,
    /// offset: 120
    #[prost(double, tag = "7")]
    pub total_damage: f64,
    /// offset: 112
    #[prost(double, tag = "8")]
    pub total_heal: f64,
    /// offset: 136
    #[prost(double, tag = "9")]
    pub total_damage_taken: f64,
    /// offset: 104
    #[prost(double, tag = "11")]
    pub total_hp_recover: f64,
    /// offset: 176
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    /// offset: 168
    #[prost(uint32, tag = "14")]
    pub kpmiifgamfa: u32,
    /// offset: 56
    #[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: 72
    #[prost(uint32, tag = "17")]
    pub stage_type: u32,
    /// offset: 80
    #[prost(double, tag = "18")]
    pub mbdmcjlfjoo: f64,
    /// offset: 88
    #[prost(double, tag = "19")]
    pub delay_cumulate: f64,
    /// offset: 172
    #[prost(enumeration = "Kpoieopcejl", tag = "20")]
    pub death_source: i32,
    /// offset: 148
    #[prost(uint32, tag = "21")]
    pub wave: u32,
    /// offset: 100
    #[prost(int32, tag = "22")]
    pub jfdomchhbif: i32,
    /// offset: 156
    #[prost(uint32, tag = "23")]
    pub phase: u32,
    /// offset: 144
    #[prost(uint32, tag = "24")]
    pub max_phase: u32,
    /// offset: 152
    #[prost(enumeration = "Hdfapklgefm", tag = "25")]
    pub gcaepljhcfe: i32,
    /// offset: 48
    #[prost(message, repeated, tag = "26")]
    pub skill_info: ::prost::alloc::vec::Vec<Aofmdlldihg>,
    /// offset: 128
    #[prost(uint32, tag = "27")]
    pub cbmlfobdnco: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "28")]
    pub akgjopblpne: ::prost::alloc::vec::Vec<Ckcdiaaficj>,
    /// offset: 184
    #[prost(double, tag = "29")]
    pub ncdgnnjabjj: f64,
    /// offset: 64
    #[prost(double, tag = "30")]
    pub ibengeojfoj: f64,
    /// offset: 164
    #[prost(enumeration = "Nlnebdeeonp", tag = "31")]
    pub ahkjlojdnic: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleEventProperty {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
/// Obf: BattleEventBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleEventBattleInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub battle_event_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub status: ::core::option::Option<BattleEventProperty>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub skill_info: ::prost::alloc::vec::Vec<Aofmdlldihg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hdkeppdidih {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ejddmnaoden: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub source: u32,
    /// offset: 40
    #[prost(double, tag = "4")]
    pub damage: f64,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub jndbcdaiidd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(int32, tag = "6")]
    pub afpkbfapoah: i32,
    /// offset: 72
    #[prost(double, tag = "7")]
    pub oeldakbopja: f64,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub cngeogompop: u32,
    /// offset: 48
    #[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, Eq, Hash, ::prost::Message)]
pub struct Ghcdmmnhnho {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(int32, tag = "2")]
    pub gcabcjkcaoe: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub enhanced_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gandcedcldl {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub kaahkldjpje: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub fhpmeiecklg: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afgmnffbbig {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub bkpdkfldldd: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub ofhchnkefmd: ::prost::alloc::vec::Vec<Ghcdmmnhnho>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub delay: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub jnfcfeiaabh: ::prost::alloc::vec::Vec<Gandcedcldl>,
}
/// Obf: StatisticEvent
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StatisticEvent {
    /// offset: 28
    #[prost(enumeration = "BattleStaticticEventType", tag = "1")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub lmmdhgcihbl: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub param: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dkphafpgdlo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub jgdoiciemah: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ioeaffeedfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gfnapelnfic {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub clfbbapepml: u32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub is_locked: bool,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub jbnmaofofpe: ::core::option::Option<Dkphafpgdlo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oemoigdnpnp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub card_id: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub param: f64,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub is_enable: bool,
    /// offset: 16
    #[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 Hlfookannde {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub jgdoiciemah: u32,
    /// offset: 40
    #[prost(double, tag = "2")]
    pub damage: f64,
    /// offset: 24
    #[prost(double, tag = "3")]
    pub kadniaejacg: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eaenafjcefd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub mmgpkjojipm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub fgpgopocapn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hommpjiopgi {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub gmkfbamndea: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub cbloajfjkki: ::prost::alloc::vec::Vec<Dkphafpgdlo>,
    /// offset: 40
    #[prost(float, tag = "5")]
    pub delay: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fdgkfjficdn {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ocpepemnnek: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub delay: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idjiaglcape {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub ipcfgiefbkh: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub dcmahkhafeh: ::prost::alloc::vec::Vec<Hommpjiopgi>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ojbmgejcilm: ::prost::alloc::vec::Vec<Fdgkfjficdn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pmnljejklod {
    /// offset: 28
    #[prost(enumeration = "Nimfanhlfnj", tag = "1")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
/// Obf: BattleGridFightSpecialBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleGridFightSpecialBattleInfo {
    /// offset: 128
    #[prost(uint32, tag = "1")]
    pub cur_level_id: u32,
    /// offset: 136
    #[prost(uint32, tag = "2")]
    pub pfbdnghmbii: u32,
    /// offset: 156
    #[prost(uint32, tag = "3")]
    pub rogue_money: u32,
    /// offset: 112
    #[prost(message, repeated, tag = "4")]
    pub icopgajfkhe: ::prost::alloc::vec::Vec<Gfnapelnfic>,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub omcllcnkahe: ::prost::alloc::vec::Vec<Gfnapelnfic>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub llifkmanadh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(message, optional, tag = "7")]
    pub hphjgiekmaa: ::core::option::Option<Eaenafjcefd>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "8")]
    pub fponjjmjfae: ::prost::alloc::vec::Vec<u32>,
    /// offset: 132
    #[prost(uint32, tag = "9")]
    pub grid_fight_cur_level_exp: u32,
    /// offset: 140
    #[prost(uint32, tag = "11")]
    pub ljgphgddbke: u32,
    /// offset: 88
    #[prost(uint32, repeated, tag = "12")]
    pub dckigahcnmj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 148
    #[prost(uint32, tag = "14")]
    pub cur_wave: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "17")]
    pub lonfkfcfdnd: ::prost::alloc::vec::Vec<Oemoigdnpnp>,
    /// offset: 48
    #[prost(message, repeated, tag = "18")]
    pub hnjpidfknik: ::prost::alloc::vec::Vec<Hlfookannde>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "19")]
    pub bllkcbjgaeb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 120
    #[prost(bool, tag = "20")]
    pub chkbolnipmo: bool,
    /// offset: 152
    #[prost(uint32, tag = "21")]
    pub gmbpgbijgge: u32,
    /// offset: 96
    #[prost(message, optional, tag = "22")]
    pub inpnmbjnppk: ::core::option::Option<Idjiaglcape>,
    /// offset: 144
    #[prost(uint32, tag = "23")]
    pub nbkkkkkemeh: u32,
    /// offset: 104
    #[prost(uint32, repeated, tag = "25")]
    pub pmleegogpif: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "26")]
    pub gmgpfaionng: ::prost::alloc::vec::Vec<Pmnljejklod>,
    /// offset: 124
    #[prost(uint32, tag = "27")]
    pub ljhkbjibcgk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgfbiflpbhd {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mhjbjkjpoje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleGridFightTraitCoreRoleInfo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleGridFigntAvatarCoreRoleInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub lkngkjcffbh: ::prost::alloc::vec::Vec<u32>,
}
#[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>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfmkbmjpeic {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub dnncagjioap: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ihcddipnjko: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<BattleGridFightEquipInfo>,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "4")]
    pub banbecdcdhg: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub pojgkjenena: ::prost::alloc::vec::Vec<Fhceiohladg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cpmnhnhklbk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
}
/// Obf: BattleGridFightTraitEffectInfo
#[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::Nebnjdmfelo",
        tags = "101, 102, 103, 104, 105"
    )]
    pub nebnjdmfelo: ::core::option::Option<
        battle_grid_fight_trait_effect_info::Nebnjdmfelo,
    >,
}
/// 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 Nebnjdmfelo {
        /// offset: 24
        #[prost(message, tag = "101")]
        TraitCoreRole(super::BattleGridFightTraitCoreRoleInfo),
        /// offset: 24
        #[prost(message, tag = "102")]
        AvatarCoreInfo(super::BattleGridFigntAvatarCoreRoleInfo),
        /// offset: 24
        #[prost(message, tag = "103")]
        TraitEffectLevelInfo(super::GridFightTraitEffectLevelInfo),
        /// offset: 24
        #[prost(message, tag = "104")]
        Jlclhaknmll(super::Kfmkbmjpeic),
        /// offset: 24
        #[prost(message, tag = "105")]
        Lfidnoaecmn(super::Cpmnhnhklbk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhfnfinkjkp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub cheeoehdobf: u32,
    /// offset: 24
    #[prost(enumeration = "Iddpbeamdao", tag = "2")]
    pub nkienaiclgn: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub nkjpcmpmgpm: u32,
    /// offset: 36
    #[prost(enumeration = "Abbhaalibah", tag = "4")]
    pub grid_update_src: i32,
}
/// Obf: NIEGDAPHKGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitInfo {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub trait_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub layer: 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 kojmgcblkka: ::prost::alloc::vec::Vec<Mhfnfinkjkp>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub bpjkhdnbpoe: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub afkkldmaedj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abjglpcommk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub enhjcnjfdfi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nkaeopaajlg {
    #[prost(oneof = "nkaeopaajlg::Bhgkhelcpgo", tags = "1")]
    pub bhgkhelcpgo: ::core::option::Option<nkaeopaajlg::Bhgkhelcpgo>,
}
/// Nested message and enum types in `NKAEOPAAJLG`.
pub mod nkaeopaajlg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bhgkhelcpgo {
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Eagpocagmca(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjhjciapadp {
    /// offset: 40
    #[prost(message, optional, tag = "101")]
    pub glhdccpoghl: ::core::option::Option<Abjglpcommk>,
    /// offset: 32
    #[prost(message, optional, tag = "102")]
    pub jbifdjkphij: ::core::option::Option<Nkaeopaajlg>,
    #[prost(oneof = "jjhjciapadp::Bhgkhelcpgo", tags = "1")]
    pub bhgkhelcpgo: ::core::option::Option<jjhjciapadp::Bhgkhelcpgo>,
}
/// Nested message and enum types in `JJHJCIAPADP`.
pub mod jjhjciapadp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bhgkhelcpgo {
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Eagpocagmca(u32),
    }
}
/// Obf: BJGJBNJDLIK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightRoleInfo {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub role_star: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub pos_index: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub cnijijmepef: ::prost::alloc::vec::Vec<BattleGridFightEquipInfo>,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 24
    #[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,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub dceolaamgoo: ::core::option::Option<Jjhjciapadp>,
}
/// Obf: PKDNDNABKII
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightNpcInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub npc_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pos_index: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<BattleGridFightEquipInfo>,
}
/// Obf: MLCLJKDKCDG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightProjectionInfo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lkmemklgiik: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pos_index: u32,
}
/// Obf: ACFLKPFDHIM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleGridFightEquipInfo {
    /// offset: 40
    #[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: 44
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    /// offset: 16
    #[prost(map = "uint32, double", tag = "6")]
    pub opemkbpffdn: ::std::collections::HashMap<u32, f64>,
    /// offset: 48
    #[prost(enumeration = "Cacgkijhemg", tag = "7")]
    pub pfcbhcjidke: i32,
}
/// Obf: BGLCGNCLHLJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightAugmentInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub augment_id: u32,
}
/// Obf: KHFHMJEMBOF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPortalInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub portal_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mipdjdjlgpl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub emohljhpopc: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub dcahjelnjnp: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub section_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub node_type: u32,
}
/// Obf: OJCBOMCCPDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightInfo {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub ophonckpnmg: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub battle_wave_id: u32,
    /// offset: 104
    #[prost(uint32, tag = "3")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 120
    #[prost(uint32, tag = "4")]
    pub ehnjdidabhd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<GridFightTraitInfo>,
    /// offset: 88
    #[prost(message, repeated, tag = "8")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<GridFightRoleInfo>,
    /// offset: 108
    #[prost(uint32, tag = "9")]
    pub ifiioiikjho: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<GridFightAugmentInfo>,
    /// offset: 72
    #[prost(message, optional, tag = "11")]
    pub iockdjcdmah: ::core::option::Option<Mipdjdjlgpl>,
    /// offset: 132
    #[prost(uint32, tag = "12")]
    pub hhepcdmbjfi: u32,
    /// offset: 100
    #[prost(uint32, tag = "13")]
    pub ljngpckpjlf: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "14")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<GridFightPortalInfo>,
    /// offset: 112
    #[prost(bool, tag = "15")]
    pub is_overlock: bool,
    /// offset: 116
    #[prost(uint32, tag = "16")]
    pub aacgbebgdpe: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "17")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<GridFightNpcInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "18")]
    pub kcompkmjcmc: ::prost::alloc::vec::Vec<GridFightProjectionInfo>,
    /// offset: 128
    #[prost(uint32, tag = "19")]
    pub lodnflmbieh: u32,
    /// offset: 56
    #[prost(map = "string, uint32", tag = "20")]
    pub pockgkdflkk: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 124
    #[prost(uint32, tag = "21")]
    pub nfbjinklllk: u32,
    /// offset: 113
    #[prost(bool, tag = "22")]
    pub mehfnaemmfe: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hndaobacjoa {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub phase: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(float, tag = "2")]
    pub mingoiconif: f32,
    /// offset: 48
    #[prost(float, tag = "3")]
    pub eefmgkofobh: f32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub dlhcmniacbo: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub jmcfeehbddh: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub encaeciicbp: u32,
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub goeejiaaekb: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub hdgbkhphkmo: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "9")]
    pub djofhlgldgb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub ncdmffbbbdp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojeanlingcj {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub eaaaejljdde: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub ncjobknjfpn: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub oebaidcoplc: u32,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub pljcefdpcio: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub ibhkmlkhkjb: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub kobjcpabkaa: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub boss_info: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub gdfamboofjo: ::prost::alloc::vec::Vec<Hndaobacjoa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Bmkiiodbmjf {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    /// offset: 40
    #[prost(double, tag = "2")]
    pub pckeckcnhce: f64,
    /// offset: 24
    #[prost(double, tag = "3")]
    pub eokefiaofpn: f64,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub hekpnddkkmm: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub inoiognmbmm: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub status: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub pkdandjfaon: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub hhopllpekke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhpaecjcocg {
    /// 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, Eq, Hash, ::prost::Message)]
pub struct Ijlefnjpfkp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub rogue_mode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emlfdpfapjp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub naeagnlbkam: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub mhppiklbnmd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojmpkmningk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub cfkkkpnkhel: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub is_locked: bool,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub dice_slot_id: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "5")]
    pub aaabhnmaenn: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kciegdgjmbe {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub gcahklngfck: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hiildalhimd: ::prost::alloc::vec::Vec<Ojmpkmningk>,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "4")]
    pub hcpnpdljkgf: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjhpplhfnab {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub bjmjblcmpal: ::core::option::Option<Emlfdpfapjp>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub ahboclngfnm: ::prost::alloc::vec::Vec<Kciegdgjmbe>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Fhohcaifhna {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub hilinojplga: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub difficulty_ratio: f64,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub pggdehkkinp: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub style_level: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub style_exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bljejfmkeii {
    #[prost(oneof = "bljejfmkeii::Mmcgbgdjipn", tags = "1, 2")]
    pub mmcgbgdjipn: ::core::option::Option<bljejfmkeii::Mmcgbgdjipn>,
}
/// Nested message and enum types in `BLJEJFMKEII`.
pub mod bljejfmkeii {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(message, tag = "1")]
        Fodlghifjgc(super::Cjhpplhfnab),
        /// offset: 24
        #[prost(message, tag = "2")]
        Gldhcibnbag(super::Fhohcaifhna),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleRogueMagicInfo {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub oopcpmancbo: ::core::option::Option<Ijlefnjpfkp>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub detail_info: ::core::option::Option<Bljejfmkeii>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cmikeilgngk {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub gcahklngfck: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfdplinpmjf {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub ingdhdpegok: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub igpnfjdacie: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub kgielmeopeh: ::prost::alloc::vec::Vec<Cmikeilgngk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oklpmdcieig {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub iplnnhlgdjk: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub johmbbfodbb: u32,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub adnkllmhlcj: f64,
    /// offset: 24
    #[prost(double, tag = "4")]
    pub gadghaggbno: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nkkadhadolo {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub fmnihgejked: ::core::option::Option<Oklpmdcieig>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eanjjjpkipj {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ebijflilkfp: ::core::option::Option<Dfdplinpmjf>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub geoocjbakfi: ::core::option::Option<Nkkadhadolo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oebbnfanhlk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub jbpnbeclgkn: u32,
    /// offset: 32
    #[prost(double, tag = "2")]
    pub aalpiclabco: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nifpichidlj {
    /// offset: 40
    #[prost(enumeration = "Mohnimlcoda", tag = "1")]
    pub r#type: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub switch_list: ::prost::alloc::vec::Vec<Oebbnfanhlk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebbjlhbagcj {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub odpeljaiphl: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub glnpaolfpdi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkpfahebjio {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub message_datas: ::prost::alloc::vec::Vec<Nifpichidlj>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "2")]
    pub fggpanadlkm: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub fpmbjmdnpbm: ::prost::alloc::vec::Vec<Ebbjlhbagcj>,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub difficulty: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hffafbignkp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ibnlkollpjh: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub hekpnddkkmm: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub inoiognmbmm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Abflkibifdm {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub jeofbdlfcol: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub hifnhnlndpn: f64,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub jgfkndmdhhp: f64,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub ibnlkollpjh: u32,
    /// offset: 64
    #[prost(double, tag = "6")]
    pub aepmegilloj: f64,
    /// offset: 56
    #[prost(double, tag = "7")]
    pub mincpokepdp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jpkjnnkmigj {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub gdljhbljodk: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub dfbhojangcf: u32,
    /// offset: 32
    #[prost(double, tag = "3")]
    pub cjkmcomgjcl: f64,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub wave: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ibnlkollpjh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hphjpoibglc {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub cdfpljdjdep: ::prost::alloc::vec::Vec<Hffafbignkp>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub eghjfeimhbb: ::prost::alloc::vec::Vec<Abflkibifdm>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub dkockkcpgdk: ::prost::alloc::vec::Vec<Jpkjnnkmigj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fmnpjnpamoa {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jaegabgpedi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fimbjconbae {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub daekfcnbcfc: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub amkblkmnkfe: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub molfoogcbke: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub cdjabfhcnff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub cmaocglkfae: ::prost::alloc::vec::Vec<Fmnpjnpamoa>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub acgiekabifk: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub daebgdendnn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jioneeljgcc {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ipdcldbkibi: ::core::option::Option<Fimbjconbae>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgofjdocomk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Geccjhdockh {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub dlgpbfdgegj: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub bjlgfckbppj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbjmlknlepd {
    /// offset: 48
    #[prost(message, optional, tag = "1")]
    pub lnjmoaldpjd: ::core::option::Option<Hphjpoibglc>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub bnmbhfmhglh: ::core::option::Option<Jioneeljgcc>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub kiabiioenok: ::core::option::Option<Jgofjdocomk>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub fiigohioinp: ::core::option::Option<Geccjhdockh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lgokjfkmcbe {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kjgdbfefhpj: u32,
    /// offset: 48
    #[prost(double, tag = "2")]
    pub hifnhnlndpn: f64,
    /// offset: 72
    #[prost(double, tag = "3")]
    pub jgfkndmdhhp: f64,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub ibopdgofdod: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub nbkoopbpnpl: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub gmjgpdkjaee: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub hkaenabcbhl: u32,
    /// offset: 56
    #[prost(double, tag = "8")]
    pub aepmegilloj: f64,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub bjgoofnogmj: u32,
    /// offset: 84
    #[prost(uint32, tag = "10")]
    pub olpdbdedcog: u32,
    /// offset: 88
    #[prost(double, tag = "11")]
    pub mincpokepdp: f64,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub oebaidcoplc: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub ibhkmlkhkjb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjofjdkiopg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub oebaidcoplc: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub ibhkmlkhkjb: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub jbfepafjncl: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub eghjfeimhbb: ::prost::alloc::vec::Vec<Lgokjfkmcbe>,
}
/// Obf: BattleAvatarServantInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleAvatarServantInfo {
    /// offset: 84
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 168
    #[prost(uint32, tag = "2")]
    pub kaahkldjpje: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub total_turns: u32,
    /// offset: 160
    #[prost(double, tag = "4")]
    pub dbjollgogol: 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: 176
    #[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: 24
    #[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: 64
    #[prost(double, tag = "12")]
    pub total_heal: f64,
    /// offset: 144
    #[prost(double, tag = "13")]
    pub total_hp_recover: f64,
    /// offset: 104
    #[prost(double, tag = "14")]
    pub total_shield: f64,
    /// offset: 96
    #[prost(double, tag = "15")]
    pub total_shield_taken: f64,
    /// offset: 152
    #[prost(double, tag = "16")]
    pub total_shield_damage: f64,
    /// offset: 136
    #[prost(uint32, tag = "17")]
    pub break_times: u32,
    /// offset: 140
    #[prost(uint32, tag = "18")]
    pub nfelhigfiom: u32,
    /// offset: 72
    #[prost(uint32, tag = "19")]
    pub cnleplaeehf: u32,
    /// offset: 60
    #[prost(uint32, tag = "20")]
    pub jdhdjfckbgd: u32,
    /// offset: 120
    #[prost(double, tag = "21")]
    pub dialjmahfbo: f64,
    /// offset: 76
    #[prost(uint32, tag = "22")]
    pub entity_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "23")]
    pub mebkilmpmga: u32,
    /// offset: 88
    #[prost(double, tag = "24")]
    pub gpleldeieko: f64,
}
/// Obf: BattleAvatarGlobalBuffInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleAvatarGlobalBuffInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub maze_buff_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub dlmbcccpckj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohdhndmjfap {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub gfoahhhnbjc: ::prost::alloc::vec::Vec<BattleAvatarServantInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gnmmfalalld: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub bobelcjddoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nejmjmjamma {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ncdbcllahpp: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub jjdeehamhgf: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gcnmkihofgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fmekabdgcec {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub giojaljaiif: ::core::option::Option<Nejmjmjamma>,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub message_datas: ::prost::alloc::vec::Vec<Nifpichidlj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgmjophjcnl {
    /// offset: 120
    #[prost(uint32, tag = "1")]
    pub hflpdcjdiac: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub nbpfmfmkjhi: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub mfooecceobo: ::prost::alloc::vec::Vec<Adhgijphleb>,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub llofonjogce: ::prost::alloc::vec::Vec<Hfkkkfjhphj>,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub odmcmpidjnh: ::prost::alloc::vec::Vec<Bcconkjhdjl>,
    /// offset: 72
    #[prost(message, repeated, tag = "6")]
    pub nelaklkiddk: ::prost::alloc::vec::Vec<Lflenbdpnjn>,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub dogmmglbjij: ::prost::alloc::vec::Vec<Cpncaploihi>,
    /// offset: 92
    #[prost(uint32, tag = "9")]
    pub oahfcppimlf: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub jhbjnkcjino: ::prost::alloc::vec::Vec<Fhkkpndlllo>,
    /// offset: 112
    #[prost(double, tag = "11")]
    pub ndkjjififnj: f64,
    /// offset: 96
    #[prost(double, tag = "12")]
    pub flfeajfnpap: f64,
    /// offset: 104
    #[prost(double, tag = "13")]
    pub cocomfhnehf: f64,
    /// offset: 124
    #[prost(uint32, tag = "14")]
    pub fkminamffan: u32,
    /// offset: 80
    #[prost(message, repeated, tag = "15")]
    pub opjpkfefpka: ::prost::alloc::vec::Vec<Jphfanmnhjp>,
    /// offset: 64
    #[prost(map = "string, uint32", tag = "16")]
    pub pockgkdflkk: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpaiofmjepm {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub bbhbakjcglc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jphfanmnhjp {
    #[prost(oneof = "jphfanmnhjp::Kknboacncon", tags = "1")]
    pub kknboacncon: ::core::option::Option<jphfanmnhjp::Kknboacncon>,
}
/// Nested message and enum types in `JPHFANMNHJP`.
pub mod jphfanmnhjp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "1")]
        Fecdncfjgfk(super::Jpaiofmjepm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obimhnfflem {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[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 Adhgijphleb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub trait_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mfjclcjnafo: ::prost::alloc::vec::Vec<Obimhnfflem>,
    /// offset: 48
    #[prost(double, tag = "3")]
    pub damage: f64,
    /// offset: 40
    #[prost(double, tag = "4")]
    pub kinkmheaanp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hfkkkfjhphj {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub augment_id: u32,
    /// offset: 24
    #[prost(double, tag = "3")]
    pub damage: f64,
    /// offset: 32
    #[prost(double, tag = "4")]
    pub kinkmheaanp: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhkkpndlllo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub portal_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cjafijafipn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub eokopaffmii: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lflenbdpnjn {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub pbfmlgocopf: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<Cjafijafipn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpncaploihi {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 56
    #[prost(double, tag = "2")]
    pub damage: f64,
    /// offset: 32
    #[prost(double, tag = "5")]
    pub kinkmheaanp: f64,
    /// offset: 24
    #[prost(map = "uint32, double", tag = "6")]
    pub icecchmagno: ::std::collections::HashMap<u32, f64>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub cakaojgilmg: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub okmhkbojbob: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nlapckjbjnb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(map = "uint32, double", tag = "2")]
    pub dmlclkhgefe: ::std::collections::HashMap<u32, f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckokagglkhg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub hflpdcjdiac: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<Nlapckjbjnb>,
    /// offset: 40
    #[prost(double, tag = "3")]
    pub fbnbpphogli: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pmpcibgilie {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(double, tag = "2")]
    pub damage: f64,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub okmhkbojbob: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fahgfcijhfk {
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub round_cnt: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub fhpmeiecklg: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub hoiobljhjhj: u32,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub total_bp_cost: u32,
    /// offset: 48
    #[prost(double, tag = "5")]
    pub total_damage: f64,
    /// offset: 56
    #[prost(double, tag = "6")]
    pub total_damage_taken: f64,
    /// offset: 40
    #[prost(double, tag = "7")]
    pub total_hp_recover: f64,
    /// offset: 32
    #[prost(double, tag = "8")]
    pub total_shield_taken: f64,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub inbncakgdpj: ::prost::alloc::vec::Vec<Pmpcibgilie>,
}
/// Obf: BattleStatistics
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BattleStatistics {
    /// offset: 256
    #[prost(uint32, tag = "1")]
    pub total_battle_turns: u32,
    /// offset: 304
    #[prost(uint32, tag = "2")]
    pub total_auto_turns: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 264
    #[prost(uint32, tag = "4")]
    pub ultra_cnt: u32,
    /// offset: 296
    #[prost(double, tag = "5")]
    pub total_delay_cumulate: f64,
    /// offset: 280
    #[prost(double, tag = "6")]
    pub cost_time: f64,
    /// offset: 64
    #[prost(message, repeated, tag = "7")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<AvatarBattleInfo>,
    /// offset: 112
    #[prost(message, repeated, tag = "8")]
    pub monster_list: ::prost::alloc::vec::Vec<MonsterBattleInfo>,
    /// offset: 276
    #[prost(uint32, tag = "9")]
    pub round_cnt: u32,
    /// offset: 292
    #[prost(uint32, tag = "10")]
    pub cocoon_dead_wave: u32,
    /// offset: 252
    #[prost(uint32, tag = "11")]
    pub avatar_battle_turns: u32,
    /// offset: 308
    #[prost(uint32, tag = "12")]
    pub monster_battle_turns: u32,
    /// offset: 216
    #[prost(map = "string, float", tag = "13")]
    pub custom_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    /// offset: 268
    #[prost(uint32, tag = "14")]
    pub challenge_score: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "16")]
    pub bdchejkpoaf: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 288
    #[prost(enumeration = "BattleEndReason", tag = "19")]
    pub end_reason: i32,
    /// offset: 72
    #[prost(message, repeated, tag = "21")]
    pub okfalmgfhma: ::prost::alloc::vec::Vec<Hdkeppdidih>,
    /// offset: 128
    #[prost(int32, repeated, tag = "22")]
    pub akffkemdplg: ::prost::alloc::vec::Vec<i32>,
    /// offset: 56
    #[prost(message, repeated, tag = "23")]
    pub enpbmpkglom: ::prost::alloc::vec::Vec<Afgmnffbbig>,
    /// offset: 96
    #[prost(message, repeated, tag = "26")]
    pub eipbmomkjdo: ::prost::alloc::vec::Vec<StatisticEvent>,
    /// offset: 232
    #[prost(message, repeated, tag = "27")]
    pub ecffmbfgpoj: ::prost::alloc::vec::Vec<Cdmpjodlbee>,
    /// offset: 136
    #[prost(map = "uint32, message", tag = "28")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 144
    #[prost(message, repeated, tag = "29")]
    pub lgkakieeomg: ::prost::alloc::vec::Vec<Mkicaccmbof>,
    /// offset: 80
    #[prost(message, optional, tag = "30")]
    pub battle_evolve_build_data: ::core::option::Option<
        BattleGridFightSpecialBattleInfo,
    >,
    /// offset: 176
    #[prost(message, optional, tag = "31")]
    pub doafghlaicm: ::core::option::Option<Ojeanlingcj>,
    /// offset: 248
    #[prost(bool, tag = "32")]
    pub adgbakbcokf: bool,
    /// offset: 168
    #[prost(message, repeated, tag = "33")]
    pub dcmahkhafeh: ::prost::alloc::vec::Vec<Bmkiiodbmjf>,
    /// offset: 104
    #[prost(message, repeated, tag = "34")]
    pub aiokgnblmdi: ::prost::alloc::vec::Vec<Nhpaecjcocg>,
    /// offset: 260
    #[prost(uint32, tag = "35")]
    pub npfdejpppli: u32,
    /// offset: 40
    #[prost(message, optional, tag = "36")]
    pub dbkfepmimff: ::core::option::Option<Eanjjjpkipj>,
    /// offset: 184
    #[prost(message, optional, tag = "37")]
    pub mhpdkedhell: ::core::option::Option<Gbjmlknlepd>,
    /// offset: 120
    #[prost(message, optional, tag = "38")]
    pub bcciiegcfaa: ::core::option::Option<Bjofjdkiopg>,
    /// offset: 200
    #[prost(message, optional, tag = "39")]
    pub iagkljekaol: ::core::option::Option<Ohdhndmjfap>,
    /// offset: 24
    #[prost(message, optional, tag = "40")]
    pub ofmigbjpkmh: ::core::option::Option<Fmekabdgcec>,
    /// offset: 272
    #[prost(uint32, tag = "41")]
    pub ieogefblnel: u32,
    /// offset: 192
    #[prost(message, repeated, tag = "42")]
    pub mhlcfdegogn: ::prost::alloc::vec::Vec<BattleAvatarGlobalBuffInfo>,
    /// offset: 224
    #[prost(message, optional, tag = "43")]
    pub apagmjneccn: ::core::option::Option<Mgmjophjcnl>,
    /// offset: 160
    #[prost(uint32, repeated, tag = "44")]
    pub gblekiocfma: ::prost::alloc::vec::Vec<u32>,
    /// offset: 240
    #[prost(uint32, repeated, tag = "45")]
    pub mebkilmpmga: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(message, optional, tag = "46")]
    pub kfpekbckkpm: ::core::option::Option<Knbmapnndjl>,
    /// offset: 16
    #[prost(message, optional, tag = "47")]
    pub ilnngpjaegh: ::core::option::Option<Ckokagglkhg>,
    /// offset: 208
    #[prost(message, optional, tag = "48")]
    pub mfojkjgkdgd: ::core::option::Option<Fahgfcijhfk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mkicaccmbof {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub dmkhkemikkh: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cihmkaekgfl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdmpjodlbee {
    /// offset: 32
    #[prost(enumeration = "Aabgifaeeek", tag = "1")]
    pub r#type: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffhhmgiiheh {
    /// offset: 56
    #[prost(enumeration = "Akbcefgfjcj", tag = "1")]
    pub retcode: i32,
    /// offset: 52
    #[prost(enumeration = "BattleEndStatus", tag = "2")]
    pub end_status: i32,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 24
    #[prost(bytes = "vec", tag = "4")]
    pub ijhanpilbam: ::prost::alloc::vec::Vec<u8>,
    /// offset: 16
    #[prost(map = "string, uint32", tag = "5")]
    pub dclggmaemao: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub eahgeknlhpn: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub gnlapgbaaoo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oijhajaiffh {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub pos_index: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub role_star: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[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 Apfoiaifhen {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub gpafmicjlpl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ehjlimmajoi: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdpdgmbjkml {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub ehnjdidabhd: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub aacgbebgdpe: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub nhdbbigpafo: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub dcahjelnjnp: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub section_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<Oijhajaiffh>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub akbmamdmofd: ::core::option::Option<Apfoiaifhen>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gocopeelcch {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub iianhhlgphe: ::prost::alloc::vec::Vec<Okflahfibcm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glibgkggejl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub pdabdejbpel: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nkddbpgdaee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Holhbeohejd {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub interact_id: u32,
    /// offset: 24
    #[prost(uint64, repeated, tag = "2")]
    pub properties: ::prost::alloc::vec::Vec<u64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iompilnaeeo {
    /// 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 Faifdbllgkk {
    /// offset: 44
    #[prost(enumeration = "Kdncobmffeb", tag = "1")]
    pub event_type: i32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub acfenkabbkk: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub jkihiclopkm: u32,
    /// offset: 52
    #[prost(enumeration = "Fknknlgmacl", tag = "4")]
    pub role: i32,
    #[prost(oneof = "faifdbllgkk::Fcidkeaoibg", tags = "11, 12, 13, 14")]
    pub fcidkeaoibg: ::core::option::Option<faifdbllgkk::Fcidkeaoibg>,
}
/// Nested message and enum types in `FAIFDBLLGKK`.
pub mod faifdbllgkk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fcidkeaoibg {
        /// offset: 32
        #[prost(message, tag = "11")]
        StopDesc(super::Dehdggedjhi),
        /// offset: 32
        #[prost(message, tag = "12")]
        Lmjcpmfphlk(super::Dopjfjcliah),
        /// offset: 32
        #[prost(message, tag = "13")]
        Fhdmhkomefo(super::Balhbdbhhon),
        /// offset: 32
        #[prost(message, tag = "14")]
        Fifcccjolne(super::Iaggifbofdf),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iaggifbofdf {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dehdggedjhi {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub stop_desc: ::core::option::Option<ChatMessageData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dopjfjcliah {
    /// offset: 25
    #[prost(bool, tag = "1")]
    pub ljoemlojddp: bool,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub jlneblakkob: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Balhbdbhhon {
    /// offset: 24
    #[prost(enumeration = "Goecdmpjmcm", tag = "1")]
    pub oamkppgddim: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nekaolpjkee {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub poladdglaeh: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljempehadkj {
    /// offset: 24
    #[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 Ijjkhfpllif {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub hgaidoljkdl: ::prost::alloc::vec::Vec<Ljempehadkj>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub flokejhhppo: ::prost::alloc::vec::Vec<Ljempehadkj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnpdlodgaha {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub flfnbplnnbl: ::core::option::Option<Hjnpobamkkf>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub llmdkahfiij: ::core::option::Option<Hjnpobamkkf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Plhpnbimiok {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub kajcfpkegbp: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jhffaalheai: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpkpgpphhbm {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mdlgeigffeg: ::prost::alloc::vec::Vec<Plhpnbimiok>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjncneleomo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub item_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abmnfjjddoe {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ilbjlienclb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mpmnlicfhmc: ::prost::alloc::vec::Vec<Bjncneleomo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eiichlncakk {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub cnimhmapdii: ::prost::alloc::vec::Vec<Abmnfjjddoe>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub hpjaaopdiol: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jfclhpfcmhp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iofkkoejfhi {
    /// offset: 32
    #[prost(enumeration = "Pjcmneniehh", tag = "1")]
    pub game_mode: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub lineup_list: ::prost::alloc::vec::Vec<Jolhimgjgbo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfcpfblkjab {
    #[prost(oneof = "jfcpfblkjab::Ponfikajhfd", tags = "10, 11, 12, 13, 14")]
    pub ponfikajhfd: ::core::option::Option<jfcpfblkjab::Ponfikajhfd>,
}
/// Nested message and enum types in `JFCPFBLKJAB`.
pub mod jfcpfblkjab {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ponfikajhfd {
        /// offset: 24
        #[prost(message, tag = "10")]
        Lineup(super::Ijjkhfpllif),
        /// offset: 24
        #[prost(message, tag = "11")]
        Lcmaddimion(super::Dnpdlodgaha),
        /// offset: 24
        #[prost(message, tag = "12")]
        Pagpnoklnom(super::Dpkpgpphhbm),
        /// offset: 24
        #[prost(message, tag = "13")]
        Begaibbjhhd(super::Eiichlncakk),
        /// offset: 24
        #[prost(message, tag = "14")]
        Hcaahiginom(super::Iofkkoejfhi),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngbbcmbmoli {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 30
    #[prost(bool, tag = "2")]
    pub clfmfehjkej: bool,
    /// offset: 29
    #[prost(bool, tag = "3")]
    pub ggpifkgappb: bool,
    /// offset: 31
    #[prost(bool, tag = "4")]
    pub aooeihopalh: bool,
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub liekgcnniha: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kkngaggajkc {
    /// offset: 40
    #[prost(string, tag = "1")]
    pub edmbjcbkbim: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub oibplfnjoem: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "3")]
    pub dmhffknlilh: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mdgioenhbej {
    /// offset: 40
    #[prost(string, tag = "1")]
    pub title: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub oapacmjoikc: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub enhlklflckg: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub tag: ::core::option::Option<Kkngaggajkc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mohagoflgap {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 40
    #[prost(string, tag = "3")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub icon: u32,
    /// offset: 56
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform: i32,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub ijkomikfkek: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub ebmnjmiknpp: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "8")]
    pub version: u64,
    /// offset: 72
    #[prost(bool, tag = "9")]
    pub oclbmmnnmfc: bool,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub midbiphkljo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cigliffiidc {
    /// offset: 24
    #[prost(enumeration = "Lkfbiallbdk", tag = "1")]
    pub nabjdhepelk: i32,
    /// offset: 28
    #[prost(enumeration = "LobbyCharacterStatus", tag = "2")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyMarchInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub hbonkleoeei: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub aikdcbmclbi: ::core::option::Option<Kbchokfhhih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyMarbleInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub gdbnhojpkie: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub cipehbbkfih: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdfgihjbhel {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub fmehkpkhgja: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub pnghfklcnbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbchokfhhih {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub gdbnhojpkie: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub eagefhohcoa: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub eecijblglng: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub ophfdhgblpj: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub mkiomoinkof: ::prost::alloc::vec::Vec<Fdfgihjbhel>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub ihegljhmkpp: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub mfechjlaclc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmfpicamlig {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub aikdcbmclbi: ::core::option::Option<Kbchokfhhih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyGridFightInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub lajjhaakgaf: ::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 kejlhdpbipo: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DiceCombatAvatar {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub dice_avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub dice_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "4")]
    pub unlock_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bofhhebdeod {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gdbnhojpkie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cmnlokdofef {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gdbnhojpkie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ehmepomcgng {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub dbljfjaapan: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub kbhclljlfhh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpgjplmhkfl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mdkflgdejcn: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub njifedndmfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub dhjanofgdnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipijfdipnde {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<DiceCombatAvatar>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub baegdjilmbl: ::core::option::Option<Bofhhebdeod>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub aepfojhnnfh: ::core::option::Option<Cmnlokdofef>,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub eecijblglng: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub emhhcemgbem: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub gmcahopdhli: u32,
    /// offset: 60
    #[prost(bool, tag = "7")]
    pub kdfjppolfeb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lmlnjfemoai {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub skill_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcblikpeeja {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eecijblglng: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub skill_list: ::prost::alloc::vec::Vec<Lmlnjfemoai>,
    /// offset: 36
    #[prost(enumeration = "TeamTowersGameType", tag = "3")]
    pub dlfhabgghff: i32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdlcapdikji {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
/// Obf: LobbyGameExtInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGameExtInfo {
    /// offset: 32
    #[prost(string, repeated, tag = "1")]
    pub mlafbfebnhb: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(bool, tag = "2")]
    pub eljecoaknof: bool,
    #[prost(
        oneof = "lobby_game_ext_info::Apemjmhjhkd",
        tags = "1001, 1002, 1003, 1004, 1005, 1006"
    )]
    pub apemjmhjhkd: ::core::option::Option<lobby_game_ext_info::Apemjmhjhkd>,
}
/// Nested message and enum types in `LobbyGameExtInfo`.
pub mod lobby_game_ext_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Apemjmhjhkd {
        /// offset: 16
        #[prost(message, tag = "1001")]
        LobbyMarchInfo(super::LobbyMarchInfo),
        /// offset: 16
        #[prost(message, tag = "1002")]
        LobbyMarbleInfo(super::LobbyMarbleInfo),
        /// offset: 16
        #[prost(message, tag = "1003")]
        Phibaomgnoh(super::Jmfpicamlig),
        /// offset: 16
        #[prost(message, tag = "1004")]
        LobbyGridFightInfo(super::LobbyGridFightInfo),
        /// offset: 16
        #[prost(message, tag = "1005")]
        Gokjcfbphcj(super::Ipijfdipnde),
        /// offset: 16
        #[prost(message, tag = "1006")]
        Mpnpiihhfpn(super::Pcblikpeeja),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmlnnhkjeip {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<Mohagoflgap>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub gbbcbjcacin: ::core::option::Option<Cigliffiidc>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub stage_info: ::core::option::Option<LobbyGameExtInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lajglhccned {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub bmanbmaolld: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ckdcnknmeai: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub ekpkadnenag: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub fiipiflpedb: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub mpnghaghaim: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub dndaoocdngc: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub gmnonmgkbfi: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub cjhgllnbljh: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub onlanghdipj: u32,
    /// offset: 72
    #[prost(uint32, tag = "10")]
    pub cphogfpnklc: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub jobfjapjdba: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub pipocnhbhac: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub hfopgjfdihm: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub cghleeaojgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bfbhkjljjbj {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub nopdgknkeeh: u64,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "2")]
    pub mflepldcjbc: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kppjopmmloa {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub inocahejkcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aecgfcjjlni {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub nafofipmogm: u32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub elocbjmjhbh: bool,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub jpplniddlbh: ::core::option::Option<Kppjopmmloa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppkkblfdlbe {
    /// offset: 48
    #[prost(uint64, tag = "1")]
    pub id: u64,
    /// offset: 68
    #[prost(enumeration = "FightGameMode", tag = "2")]
    pub mjbkmfomnpo: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub hjophlkblhl: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 72
    #[prost(enumeration = "Ojnefjdggem", tag = "4")]
    pub r#type: i32,
    /// offset: 80
    #[prost(uint64, tag = "5")]
    pub anbjmmoegje: u64,
    /// offset: 56
    #[prost(uint64, tag = "6")]
    pub heomgkndjhe: u64,
    /// offset: 64
    #[prost(enumeration = "Fibdgjbojea", tag = "8")]
    pub fbfddommlna: i32,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub nnopikianca: ::core::option::Option<Aecgfcjjlni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hclaeggmcfk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lopnadhjkbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onnhdodiied {
    /// offset: 24
    #[prost(enumeration = "Hgmndbfcbll", tag = "1")]
    pub dlfhabgghff: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gbakefgolcb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub cdnnhonkelj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfaaffdpbil {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(enumeration = "TeamTowersGameType", tag = "2")]
    pub dlfhabgghff: i32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub cdnnhonkelj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjmgblifdfp {
    #[prost(oneof = "pjmgblifdfp::Cgifmofgeco", tags = "1001, 1002, 1003, 1004")]
    pub cgifmofgeco: ::core::option::Option<pjmgblifdfp::Cgifmofgeco>,
}
/// Nested message and enum types in `PJMGBLIFDFP`.
pub mod pjmgblifdfp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Cgifmofgeco {
        /// offset: 24
        #[prost(message, tag = "1001")]
        LobbyGridFightInfo(super::Hclaeggmcfk),
        /// offset: 24
        #[prost(message, tag = "1002")]
        Gokjcfbphcj(super::Onnhdodiied),
        /// offset: 24
        #[prost(message, tag = "1003")]
        Fnnopjbplpf(super::Gbakefgolcb),
        /// offset: 24
        #[prost(message, tag = "1004")]
        Mpnpiihhfpn(super::Hfaaffdpbil),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nfdhockepgd {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lopnadhjkbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ceojgidjloa {
    /// offset: 24
    #[prost(enumeration = "Hgmndbfcbll", tag = "1")]
    pub dlfhabgghff: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Apcdhobpbha {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edlenjapmbj {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(enumeration = "TeamTowersGameType", tag = "2")]
    pub dlfhabgghff: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Offmcodmkdl {
    #[prost(oneof = "offmcodmkdl::Cgifmofgeco", tags = "1001, 1002, 1003, 1004")]
    pub cgifmofgeco: ::core::option::Option<offmcodmkdl::Cgifmofgeco>,
}
/// Nested message and enum types in `OFFMCODMKDL`.
pub mod offmcodmkdl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Cgifmofgeco {
        /// offset: 24
        #[prost(message, tag = "1001")]
        LobbyGridFightInfo(super::Nfdhockepgd),
        /// offset: 24
        #[prost(message, tag = "1002")]
        Gokjcfbphcj(super::Ceojgidjloa),
        /// offset: 24
        #[prost(message, tag = "1003")]
        Fnnopjbplpf(super::Apcdhobpbha),
        /// offset: 24
        #[prost(message, tag = "1004")]
        Mpnpiihhfpn(super::Edlenjapmbj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VectorSnapshot {
    /// offset: 24
    #[prost(sint32, tag = "1")]
    pub x: i32,
    /// offset: 28
    #[prost(sint32, tag = "2")]
    pub y: i32,
    /// offset: 32
    #[prost(sint32, tag = "3")]
    pub z: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MotionInfoSnapshot {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub pos_index: ::core::option::Option<VectorSnapshot>,
    /// offset: 24
    #[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: 48
    #[prost(enumeration = "Egmoemciino", tag = "2")]
    pub r#type: i32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub bool_val: bool,
    /// offset: 44
    #[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, Eq, Hash, ::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, Eq, Hash, ::prost::Message)]
pub struct PropInfoSnapshot {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub prop_state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EntitySnapshot {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub instance_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub motion_info: ::core::option::Option<MotionInfoSnapshot>,
    /// offset: 40
    #[prost(enumeration = "Abpeealgkao", 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, Eq, Hash, ::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: 48
    #[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: 16
    #[prost(message, repeated, tag = "6")]
    pub active_mcv_key_list: ::prost::alloc::vec::Vec<ActiveMcvKeySnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerSnapshot {
    /// offset: 24
    #[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, Eq, Hash, ::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: 16
    #[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, Eq, Hash, ::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: 16
    #[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: 40
    #[prost(message, repeated, tag = "1")]
    pub server_mcv_list: ::prost::alloc::vec::Vec<MainMissionMcvSnapshot>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub client_mcv_list: ::prost::alloc::vec::Vec<MainMissionMcvSnapshot>,
    /// offset: 32
    #[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: 48
    #[prost(string, tag = "5")]
    pub cur_audio_emotion_state: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub cur_sound_effect_state: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EraFlipperRegionDataSnapshot {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub region_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub state: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EraFlipperSnapshot {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub region_data_list: ::prost::alloc::vec::Vec<EraFlipperRegionDataSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RotationMapInfoSnapshot {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub map_pos: ::core::option::Option<VectorSnapshot>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub map_rot: ::core::option::Option<VectorSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MapRotationSnapshot {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub region_id: i32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub pose_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub map_info: ::core::option::Option<RotationMapInfoSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DialogSnapshot {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::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: 40
    #[prost(uint32, tag = "3")]
    pub hand_state: u32,
    /// offset: 32
    #[prost(bytes = "vec", tag = "4")]
    pub hand_param: ::prost::alloc::vec::Vec<u8>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub get_coin_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchHandSnapshot {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub switch_hand_list: ::prost::alloc::vec::Vec<SwitchHandDataNodeSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PerformanceStartSnapshot {
    /// offset: 136
    #[prost(uint32, tag = "1")]
    pub performance_id: u32,
    /// offset: 128
    #[prost(uint32, tag = "2")]
    pub performance_type: u32,
    /// offset: 120
    #[prost(uint32, tag = "3")]
    pub plane_id: u32,
    /// offset: 124
    #[prost(uint32, tag = "4")]
    pub floor_id: u32,
    /// offset: 140
    #[prost(uint32, tag = "5")]
    pub dimension_id: u32,
    /// offset: 160
    #[prost(uint32, tag = "6")]
    pub story_line_id: u32,
    /// offset: 148
    #[prost(uint32, tag = "7")]
    pub content_id: u32,
    /// offset: 152
    #[prost(uint32, tag = "8")]
    pub entry_id: u32,
    /// offset: 156
    #[prost(uint32, tag = "9")]
    pub version: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub player: ::core::option::Option<PlayerSnapshot>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub mission: ::core::option::Option<MissionSnapshot>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub era_flipper: ::core::option::Option<EraFlipperSnapshot>,
    /// offset: 64
    #[prost(message, repeated, tag = "13")]
    pub server_group_list: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 56
    #[prost(message, repeated, tag = "14")]
    pub client_group_list: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 88
    #[prost(message, repeated, tag = "15")]
    pub server_legacy_group_list: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 112
    #[prost(message, repeated, tag = "16")]
    pub client_legacy_group_list: ::prost::alloc::vec::Vec<GroupSnapshot>,
    /// offset: 72
    #[prost(map = "string, int32", tag = "17")]
    pub floor_saved_value_list: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    /// offset: 104
    #[prost(map = "string, message", tag = "18")]
    pub floor_custom_value_list: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        FloorCustomValueSnapshot,
    >,
    /// offset: 32
    #[prost(message, optional, tag = "19")]
    pub map_rotation: ::core::option::Option<MapRotationSnapshot>,
    /// offset: 144
    #[prost(uint32, tag = "20")]
    pub world_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "21")]
    pub dialog: ::core::option::Option<DialogSnapshot>,
    /// offset: 132
    #[prost(uint32, tag = "22")]
    pub owner_group_id: u32,
    /// offset: 80
    #[prost(message, optional, tag = "23")]
    pub switch_hand: ::core::option::Option<SwitchHandSnapshot>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hjachmjfeah {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pcpdheiejfo: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikahkmncfdn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pcpdheiejfo: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iionnfelfef {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub dice_slot_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub pose: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub dmiobeklded: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfakmcijfcb {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub pkmhmgaeago: ::prost::alloc::vec::Vec<Iionnfelfef>,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub pnhlaamngfe: ::prost::alloc::vec::Vec<Hjachmjfeah>,
    /// offset: 40
    #[prost(enumeration = "Bomholbackf", tag = "3")]
    pub glogemfdmjg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpaoipldkhb {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub bjphdkebobk: ::prost::alloc::vec::Vec<Ikahkmncfdn>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub nljbjmdpbgn: ::core::option::Option<Bfakmcijfcb>,
    /// offset: 40
    #[prost(int64, tag = "3")]
    pub dbikjpdbmoe: i64,
    /// offset: 48
    #[prost(int64, tag = "4")]
    pub cmhkfnfkgoi: i64,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub hbkepfkdami: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub gaekefekcbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbmdebcgnmd {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ikjnikigflf: ::core::option::Option<Mncbedbddhl>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub dlkoeianimk: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub pkhfmjdnkoe: ::core::option::Option<Jpaoipldkhb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmacehdgghb {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub bjphdkebobk: ::prost::alloc::vec::Vec<Ikahkmncfdn>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub hbkepfkdami: u32,
    /// offset: 40
    #[prost(int64, tag = "3")]
    pub cmhkfnfkgoi: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jolahhgifha {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub pos_index: ::core::option::Option<Vector>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub rot_index: ::core::option::Option<Vector>,
    /// offset: 64
    #[prost(float, tag = "3")]
    pub icnankmdjic: f32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub ghmkfmbdkne: ::core::option::Option<Vector>,
    /// offset: 56
    #[prost(float, tag = "5")]
    pub ghemglkgklc: f32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub fphbehjjbia: u32,
    /// offset: 68
    #[prost(bool, tag = "7")]
    pub mgioldghpma: bool,
    /// offset: 48
    #[prost(int64, tag = "8")]
    pub time_stamp: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mhnnefbopie {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub op_uid: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub jenkgodeiom: ::prost::alloc::vec::Vec<Jolahhgifha>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Peeeegapcok {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub plpppcepbdo: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub op_uid: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub oocpkigpehp: u32,
    /// offset: 48
    #[prost(int64, tag = "4")]
    pub cmieoooddia: i64,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub aaldpoakjbk: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikbdjlnepbh {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub hflophnbkgn: ::prost::alloc::vec::Vec<Peeeegapcok>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mikgmgbhlen {
    #[prost(oneof = "mikgmgbhlen::Ibangbldnig", tags = "1, 2")]
    pub ibangbldnig: ::core::option::Option<mikgmgbhlen::Ibangbldnig>,
}
/// Nested message and enum types in `MIKGMGBHLEN`.
pub mod mikgmgbhlen {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Ibangbldnig {
        /// offset: 24
        #[prost(string, tag = "1")]
        MessageText(::prost::alloc::string::String),
        /// offset: 24
        #[prost(uint32, tag = "2")]
        ExtraId(u32),
    }
}
/// Obf: ActiveActivityData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveActivityData {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub fodlnkpnion: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub dbifeedmaof: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub panel_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub taken_star_rewards: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub cdmikicanep: u32,
}
/// Obf: NCGDBKBGDDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9568)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetActiveActivityDataCsReq {}
/// Obf: OGGACDOLAOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9558)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActiveActivityDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub hclgpdfbdnp: ::prost::alloc::vec::Vec<ActiveActivityData>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FEHIEJJHDPM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9553)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeActiveActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Obf: LKELMFPNKJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9562)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeActiveActivityRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub anfflndcglg: ::core::option::Option<ActiveActivityData>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: EDJDFEIOACG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9552)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveActivityDataChangeScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub anfflndcglg: ::core::option::Option<ActiveActivityData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LoginActivityData {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub login_days: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub moiahcmhneo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: JLKHCGGLIMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2625)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLoginActivityCsReq {}
/// Obf: BJDJGMHNGGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLoginActivityScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub login_activity_list: ::prost::alloc::vec::Vec<LoginActivityData>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: IIAIMCOFMGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2693)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeLoginActivityRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub take_days: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: CGKKBILNMLI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeLoginActivityRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub panel_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub take_days: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActivityScheduleData {
    /// offset: 32
    #[prost(int64, tag = "3")]
    pub begin_time: i64,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub panel_id: u32,
    /// offset: 40
    #[prost(int64, tag = "12")]
    pub end_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub activity_id: u32,
}
/// Obf: HIMPABPFMPG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2688)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetActivityScheduleConfigCsReq {}
/// Obf: GHBJFLPLIGA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2681)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityScheduleConfigScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub schedule_data: ::prost::alloc::vec::Vec<ActivityScheduleData>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: TrialActivityInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrialActivityInfo {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub taken_reward: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
/// Obf: JJPAAFLHHKC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2682)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTrialActivityDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Paaldkhkole {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub enhanced_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: GAPLJKIPAOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2694)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrialActivityDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub activity_stage_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub trial_activity_info_list: ::prost::alloc::vec::Vec<TrialActivityInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub obopmfbgbae: ::prost::alloc::vec::Vec<Paaldkhkole>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ELOPGADIBBE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2637)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrialActivityDataChangeScNotify {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub trial_activity_info: ::core::option::Option<TrialActivityInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub obopmfbgbae: ::prost::alloc::vec::Vec<Paaldkhkole>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterTrialActivityStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
/// Obf: FDFJIMBJCED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2646)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTrialActivityStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: NAGFBDNFCEP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2619)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeTrialActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub stage_id: u32,
}
/// Obf: BGEFEAPPGKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2628)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTrialActivityRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: DBJDNDEIKDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2698)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartTrialActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
}
/// Obf: OIMNAIDOGJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2662)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartTrialActivityScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2666)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveTrialActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2655)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveTrialActivityScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: BKHKMFEDPBE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2616)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurTrialActivityScNotify {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub activity_stage_id: u32,
    /// offset: 24
    #[prost(enumeration = "TrialActivityStatus", tag = "9")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpmakchcdmh {
    /// offset: 29
    #[prost(bool, tag = "5")]
    pub baonipokcpl: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub lnocoocmnci: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub is_taken_reward: bool,
}
/// Obf: POCKHIABCKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2611)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataCsReq {}
/// Obf: HMLBPKOFHLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2636)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMaterialSubmitActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub jjnflkkaofi: ::prost::alloc::vec::Vec<Kpmakchcdmh>,
}
/// Obf: DNGFEGEBEID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2648)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub lnocoocmnci: u32,
}
/// Obf: KMCLDIDKHBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2645)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubmitMaterialSubmitActivityMaterialScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub meaeikflbpj: ::core::option::Option<Kpmakchcdmh>,
}
/// Obf: OGOOFKIKDEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2669)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub lnocoocmnci: u32,
}
/// Obf: CNMMLLCIGOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2665)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMaterialSubmitActivityRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub lnocoocmnci: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DKHBPNGPOKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2606)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDataCsReq {}
/// Obf: PILLGGGIPAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2674)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_taken_reward: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: CKFKJMNHNGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2657)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseAvatarCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
/// Obf: LKHJDNMDJNC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2627)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: KJPLKPNPFBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2623)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRewardCsReq {}
/// Obf: HJDKFAGLCEH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2683)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bompfhommbh {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub target: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Efgihhjgcfa {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub panel_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub pgmdgpekdgb: ::prost::alloc::vec::Vec<Bompfhommbh>,
}
/// Obf: LHPPNBMEBKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9120)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetActivityHotDataCsReq {}
/// Obf: NDKGIMLKJHA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9111)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityHotDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub content_package_list: ::prost::alloc::vec::Vec<Efgihhjgcfa>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: IBDDBLNJFPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9113)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAllActivityRewardCountDataCsReq {}
/// Obf: JLLBOPLHIKD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9115)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllActivityRewardCountDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub content_package_list: ::prost::alloc::vec::Vec<Efgihhjgcfa>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JNLMHLEACBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9114)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetActivityRewardCountDataCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub ddmehpdhplm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BHCFGOHFLIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9116)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetActivityRewardCountDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub content_package_list: ::prost::alloc::vec::Vec<Efgihhjgcfa>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FarmStageGachaInfo {
    /// offset: 24
    #[prost(int64, tag = "8")]
    pub end_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub gacha_id: u32,
    /// offset: 40
    #[prost(int64, tag = "15")]
    pub begin_time: i64,
}
/// Obf: OMAAIFEDKOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1393)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFarmStageGachaInfoCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub farm_stage_gacha_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AECPNKPOOCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1358)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFarmStageGachaInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub farm_stage_gacha_info_list: ::prost::alloc::vec::Vec<FarmStageGachaInfo>,
}
/// Obf: JLGGPEBAIMB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1388)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuickStartCocoonStageCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub heccobfbjfi: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub cocoon_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub wave: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub cbjckeiggnl: ::core::option::Option<Najknjljpep>,
}
/// Obf: MHDMHAEADMI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1381)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuickStartCocoonStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub wave: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub cocoon_id: u32,
}
/// Obf: GJNOEFFJDJK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1386)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartQuickFarmElementCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub heccobfbjfi: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub paofhflffhd: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub world_level: u32,
}
/// Obf: JDNANJFNLDF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1347)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartQuickFarmElementRsp {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub paofhflffhd: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: ACABKOGJAEG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1326)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CocoonSweepCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cocoon_id: u32,
}
/// Obf: OOOHICJHPGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1313)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CocoonSweepScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub cocoon_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ncefjfohgbi: u32,
}
/// Obf: JLHKLAFACIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1371)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FarmElementSweepCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub paofhflffhd: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
}
/// Obf: HNKJOONKGOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1340)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FarmElementSweepScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub paofhflffhd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgpnjkenona {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4823)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmamefjbcle {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4837)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveAetherDivideSceneCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4844)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveAetherDivideSceneScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: LACNGKFJELH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4819)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub assist_monster_entity_info: ::prost::alloc::vec::Vec<AssistMonsterEntityInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub skill_index: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub attacked_by_entity_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub cast_entity_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MHMOEHAHION
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideSceneBattleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cast_entity_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
}
/// Obf: KPNFCKLHLIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4803)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub fdkfiolmpha: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
}
/// Obf: FAOEGBHJBED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4807)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideChallengeBattleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Popjnehgmih {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghbicgmefpl {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub promotion: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub apgdjgpggmo: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub ekkhlmekjmk: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub licleeicaoe: ::prost::alloc::vec::Vec<Popjnehgmih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Occaabpfblf {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub ajhccdonnek: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmgdlehedfb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub jmmcejokmmg: u32,
}
/// Obf: DFBGKPADOEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4824)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAetherDivideInfoCsReq {}
/// Obf: GHNMFCHEGGK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4820)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAetherDivideInfoScRsp {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub focacjhlkdb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub cchdkjmfnep: ::prost::alloc::vec::Vec<Ghbicgmefpl>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub skill_list: ::prost::alloc::vec::Vec<Dmgdlehedfb>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub bdnolfbjbgj: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub jaoahonibji: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub ncmlhpaalep: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub lineup_list: ::prost::alloc::vec::Vec<Occaabpfblf>,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: OEDAEKHDOOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4817)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAetherDivideLineUpCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Occaabpfblf>,
}
/// Obf: AAOABMHALOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4829)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAetherDivideLineUpScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub lineup: ::core::option::Option<Occaabpfblf>,
}
/// Obf: DAKIMICINOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4833)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EquipSkillCoreCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub apgdjgpggmo: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub slot: u32,
}
/// Obf: LGOCBAKHGEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4806)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipSkillCoreScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lccmcpmclfh: ::core::option::Option<Dmgdlehedfb>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub iagngegkdol: ::core::option::Option<Ghbicgmefpl>,
}
/// Obf: PLAFIBPGBKK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4802)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffSkillCoreCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub slot: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub apgdjgpggmo: u32,
}
/// Obf: JCJIEMCKKDP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4814)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOffSkillCoreScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub iagngegkdol: ::core::option::Option<Ghbicgmefpl>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub lccmcpmclfh: ::core::option::Option<Dmgdlehedfb>,
}
/// Obf: HMMMDEEIJKC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4818)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideSpiritExpUpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub ncaombhcgna: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub apgdjgpggmo: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub fhaeendpaag: u32,
}
/// Obf: ELCCBHEBFHO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4843)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritExpUpScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub iagngegkdol: ::core::option::Option<Ghbicgmefpl>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: BNBKEHDGIDK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4835)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub fdkfiolmpha: u32,
}
/// Obf: OBIOEKFELPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4815)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchAetherDivideLineUpSlotScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub fdkfiolmpha: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: GIKEONGNHEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4813)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartAetherDivideStageBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
/// Obf: CPAHMLLDHJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4808)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartAetherDivideStageBattleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<AetherDivideBattleInfo>,
}
/// Obf: PMJECJLKNLJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4832)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideLineupScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub lineup: ::core::option::Option<Occaabpfblf>,
}
/// Obf: BNFGJMLJDAK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideSpiritInfoScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub fgbapjkdfoc: ::prost::alloc::vec::Vec<Ghbicgmefpl>,
}
/// Obf: CADOMBICGJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4826)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoCsReq {}
/// Obf: MFELEEHGHLA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4845)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAetherDivideChallengeInfoScRsp {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub digfecbhcpp: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub nadkcdeoihj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub ohjhicljabm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KMHNCGCPBEF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4839)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideFinishChallengeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
/// Obf: DKMBKGCHLNE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4847)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideTainerInfoScNotify {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub focacjhlkdb: u32,
}
/// Obf: PHINIAKLBLJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4842)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideSkillItemScNotify {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
/// Obf: GNBCBNCKLHE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4836)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideRefreshEndlessCsReq {}
/// Obf: PCOAAAFDNAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4830)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub jaoahonibji: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JDMLEOGCCCA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4805)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideRefreshEndlessScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub jaoahonibji: u32,
}
/// Obf: CEDCCCCMOCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4841)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
}
/// Obf: FBBKDPMCLFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4812)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideTakeChallengeRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GAEBCDPICNH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9509)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AiPamSendMsgCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub content: ::core::option::Option<MessageChatData>,
    /// offset: 37
    #[prost(bool, tag = "4")]
    pub gfijjlnooom: bool,
    /// offset: 38
    #[prost(bool, tag = "6")]
    pub cldbfbnolnp: bool,
    /// offset: 32
    #[prost(enumeration = "Fknknlgmacl", tag = "8")]
    pub role: i32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub loodcbcfnmj: bool,
}
/// Obf: NINBBMNLKEH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9523)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamSendMsgScRsp {
    /// offset: 24
    #[prost(enumeration = "Fknknlgmacl", tag = "3")]
    pub role: i32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: FKCDLPGBLEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RecvAiPamChatEventScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub oooaclefdgm: ::core::option::Option<Faifdbllgkk>,
}
/// Obf: EAJHAKEBDBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9544)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAiPamChatHistoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub target_side: u32,
}
/// Obf: JACFBOEDEEB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9519)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamChatHistoryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub target_side: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jpcmgngnonj: ::prost::alloc::vec::Vec<ChatMessageData>,
}
/// Obf: OFPHPFENACO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9548)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAiPamNextQuestionCsReq {
    /// offset: 24
    #[prost(enumeration = "Fknknlgmacl", tag = "10")]
    pub role: i32,
}
/// Obf: OLNIMIPEKAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9503)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamNextQuestionScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub kdohkgkbfch: ::prost::alloc::vec::Vec<Nekaolpjkee>,
    /// offset: 32
    #[prost(enumeration = "Fknknlgmacl", tag = "12")]
    pub role: i32,
}
/// Obf: JFJKBMAEEMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9521)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAiPamChatInfoCsReq {}
/// Obf: JBCKBPGGDCO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAiPamChatInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub bjlhdbppili: ::prost::alloc::vec::Vec<Faifdbllgkk>,
    /// offset: 42
    #[prost(bool, tag = "5")]
    pub aganfjkbfma: bool,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub okcipplkgcd: bool,
    /// offset: 41
    #[prost(bool, tag = "11")]
    pub locngflceng: bool,
    /// offset: 32
    #[prost(string, tag = "12")]
    pub acfenkabbkk: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub jkihiclopkm: u32,
}
/// Obf: CPCLIOIHCKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9520)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamResponseFeedbackCsReq {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub nmmjbgfdnai: bool,
    /// offset: 29
    #[prost(bool, tag = "6")]
    pub iajaomakaha: bool,
    /// offset: 24
    #[prost(enumeration = "Fknknlgmacl", tag = "13")]
    pub role: i32,
}
/// Obf: CBJOMIPDHJF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9517)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamResponseFeedbackScRsp {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub nmmjbgfdnai: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(enumeration = "Fknknlgmacl", tag = "8")]
    pub role: i32,
    /// offset: 29
    #[prost(bool, tag = "12")]
    pub iajaomakaha: bool,
}
/// Obf: BAHBEAHIFCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9529)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamResponseFeedbackCommentCsReq {
    /// offset: 16
    #[prost(string, tag = "9")]
    pub imnojncggni: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ollblnagmpc: u32,
}
/// Obf: IGDMGNCPFCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9533)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamResponseFeedbackCommentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: FLECMDNBJMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9506)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TriggerAiPamSpeakCsReq {
    /// offset: 28
    #[prost(enumeration = "Fknknlgmacl", tag = "1")]
    pub role: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jmppmnaonhm: u32,
}
/// Obf: KIDOEDMJDGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9502)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TriggerAiPamSpeakScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub jmppmnaonhm: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(enumeration = "Fknknlgmacl", tag = "13")]
    pub role: i32,
}
/// Obf: LILHIEALFOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9514)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateAiPamSettingsCsReq {
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub locngflceng: bool,
}
/// Obf: JPCEIGAGLND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9535)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateAiPamSettingsScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub locngflceng: bool,
}
/// Obf: EPPBALGDGEF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9515)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamMotionScNotify {
    /// offset: 16
    #[prost(string, repeated, tag = "5")]
    pub blccbdpodfm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9513)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kiikhmmdhkp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub miefcfljlah: ::prost::alloc::vec::Vec<Ngbbcmbmoli>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9508)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hggmnlnjphg {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9518)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhnmdfopmkn {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub bldmfdkdjdm: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub return_data: ::core::option::Option<Jfcpfblkjab>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9543)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bkhlgpcdlgl {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: HOHCCKGOOEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9540)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AiPamAskSettlementScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub eiadgimdnmo: ::core::option::Option<Mdgioenhbej>,
}
/// Obf: CPFBHLBMJOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4725)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAlleyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jeehgnibife {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub apnaflbgena: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdgeiahndad {
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub ifokhmfnnnf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub oelpoflbmie: ::prost::alloc::vec::Vec<Jeehgnibife>,
    /// offset: 48
    #[prost(message, repeated, tag = "8")]
    pub aloopkcjfea: ::prost::alloc::vec::Vec<Bolcgiogibp>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub cfnkobkjknk: ::prost::alloc::vec::Vec<Iodafibpagm>,
}
/// Obf: OAJOMNJMJLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAlleyInfoScRsp {
    /// offset: 64
    #[prost(message, optional, tag = "1")]
    pub hamaoobgmlo: ::core::option::Option<Kpbaiemeffh>,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub cur_fund: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub eeaaclbjoda: ::core::option::Option<Picdjhepjlc>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "5")]
    pub kenfkiclmgj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub pmiffbhoooo: ::prost::alloc::vec::Vec<Cekifbmpefh>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub amhaepilikf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub nfjkailefad: ::core::option::Option<Gdgeiahndad>,
    /// offset: 84
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub laanllfbldp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghminceanhg {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub lmkjleopkkl: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jakmmniebgj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbbpdlpaipl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub goods_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub njkdkiebghg: ::prost::alloc::vec::Vec<Ghminceanhg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingShip {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ship_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub goods_list: ::prost::alloc::vec::Vec<Cbbpdlpaipl>,
}
/// Obf: DEPIILNKIPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4733)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyPlacingGameCsReq {
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub caahdgfmnno: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub beakgbhflpj: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub jfaldhkoaol: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub idildcbmeci: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub jjgklhlmmnc: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub gpomfknhcpb: ::core::option::Option<AlleyPlacingShip>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dppohbgcagf: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub cost_time: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub bnpklkienik: u32,
}
/// Obf: EGJCAPACHMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4738)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AlleyPlacingGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub lfmhgmjelee: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub jkbinmnfpkk: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub cibnbdlmeic: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub ajbeociepkp: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub bijpmobeijc: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FMFAKLOHCHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4775)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActivityRaidPlacingGameCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub gpomfknhcpb: ::core::option::Option<AlleyPlacingShip>,
    #[prost(oneof = "activity_raid_placing_game_cs_req::Efjlhnmjeed", tags = "4, 14")]
    pub efjlhnmjeed: ::core::option::Option<
        activity_raid_placing_game_cs_req::Efjlhnmjeed,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameCsReq`.
pub mod activity_raid_placing_game_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Efjlhnmjeed {
        /// offset: 16
        #[prost(uint32, tag = "4")]
        Gfhgcdejfie(u32),
        /// offset: 16
        #[prost(uint32, tag = "14")]
        Caahdgfmnno(u32),
    }
}
/// Obf: OEEMFNGCOBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4744)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActivityRaidPlacingGameScRsp {
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    #[prost(oneof = "activity_raid_placing_game_sc_rsp::Efjlhnmjeed", tags = "1, 5")]
    pub efjlhnmjeed: ::core::option::Option<
        activity_raid_placing_game_sc_rsp::Efjlhnmjeed,
    >,
}
/// Nested message and enum types in `ActivityRaidPlacingGameScRsp`.
pub mod activity_raid_placing_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Efjlhnmjeed {
        /// offset: 24
        #[prost(uint32, tag = "1")]
        Gfhgcdejfie(u32),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        Caahdgfmnno(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpbaiemeffh {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub ocnlddnihoh: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub epeelmjdjkp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "7")]
    pub fpdgkfhfiee: bool,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub ebommhdnbjl: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub bcoaidifbbg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub dnlgmdcmfgf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MNPGEDIDKEN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4748)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AlleyOrderChangedScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub ngkpdfjbnmf: ::core::option::Option<Kpbaiemeffh>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4772)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpfgbjfofce {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub fnclcjcbpla: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jomegngjkjk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub gadmaochbkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub bpcademegnp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub shop_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub ebnnnmfghbj: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub cjhldcagknd: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub anheohpnkkc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iodafibpagm {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub cost_time: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub jngngmjcaai: ::prost::alloc::vec::Vec<Jomegngjkjk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bolcgiogibp {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub fmcphdjeidc: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub map_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub max_score: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub aamknoomeoo: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub llepgpkgbgm: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub efboojgnkoh: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: CJEFCNKNGNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub mdnbobfgkfn: ::prost::alloc::vec::Vec<Iodafibpagm>,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub cncjkgedeii: bool,
}
/// Obf: PCEJNOKIGOF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4735)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsScoreRewardSyncInfoScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub aloopkcjfea: ::prost::alloc::vec::Vec<Bolcgiogibp>,
}
/// Obf: KBKHHILFFOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsGameScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub cncjkgedeii: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub aloopkcjfea: ::prost::alloc::vec::Vec<Bolcgiogibp>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cekifbmpefh {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    /// offset: 32
    #[prost(enumeration = "AlleyEventState", tag = "9")]
    pub state: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub fhmbkappago: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gifadcjkkfe {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4747)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ppjkekepfmf {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
}
/// Obf: MFBBJPEPDJM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4726)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AlleyEventChangeNotify {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub khanhnfacln: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub oooaclefdgm: ::core::option::Option<Cekifbmpefh>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4713)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mgmdnbolbmo {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monfblgfkgb: u32,
}
/// Obf: NIHMFACHENB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4771)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakePrestigeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
}
/// Obf: ODBFGHLOPJD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePrestigeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: HBNANEIBPBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4769)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrestigeLevelUpCsReq {}
/// Obf: MKFGIOCFPJL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4765)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PrestigeLevelUpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: DLEHOPOJKKM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4730)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AlleyFundsScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cur_fund: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enoabfiphob {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub mdnbobfgkfn: ::prost::alloc::vec::Vec<Iodafibpagm>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4784)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gaammaacico {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub mdnbobfgkfn: ::prost::alloc::vec::Vec<Iodafibpagm>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LALKCKEAFPE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4721)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogisticsInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub nfjkailefad: ::core::option::Option<Gdgeiahndad>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Picdjhepjlc {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub legcbileehk: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "13")]
    pub pcdfiocmjfe: ::std::collections::HashMap<u32, u32>,
}
/// Obf: KLAFHGGFBJD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4705)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyShipmentEventEffectsScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub jbfifnpjnha: ::core::option::Option<Picdjhepjlc>,
}
/// Obf: LBCBJBKNNCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4741)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSaveLogisticsMapCsReq {}
/// Obf: ABOFBLJPHHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4710)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveLogisticsMapScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub cfnkobkjknk: ::prost::alloc::vec::Vec<Iodafibpagm>,
}
/// Obf: EJIPDMFGOON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4734)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AlleyTakeEventRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
}
/// Obf: DBIAIJKONFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4796)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlleyTakeEventRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4773)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckjacadhccc {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4712)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngokhflmlnj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicList {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub set_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonsterList {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub monster_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub num: u32,
}
/// Obf: ArchiveData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArchiveData {
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub archive_missing_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "11")]
    pub relic_list: ::prost::alloc::vec::Vec<RelicList>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub archive_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "14")]
    pub archive_equipment_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<MonsterList>,
}
/// Obf: IPFMCBBMOEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2325)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetArchiveDataCsReq {}
/// Obf: JPMDALGBLBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetArchiveDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub archive_data: ::core::option::Option<ArchiveData>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2393)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjjgfkaoklg {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2358)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkogbfclnhb {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub archive_data: ::core::option::Option<ArchiveData>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(325)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAvatarDataCsReq {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_get_all: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AvatarPathSkillTree {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub anchor_type: u32,
}
/// Obf: Avatar
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Avatar {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub promotion: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub cur_multi_path_avatar_type: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub is_marked: bool,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub base_avatar_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub has_taken_promotion_reward_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub equipment_unique_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "14")]
    pub first_met_time_stamp: u64,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub exp: u32,
}
/// Obf: AvatarPathData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarPathData {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub path_equipment_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub equip_relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub avatar_path_skill_tree: ::prost::alloc::vec::Vec<AvatarPathSkillTree>,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub rank: u32,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub dressed_skin_id: u32,
    /// offset: 48
    #[prost(uint64, tag = "13")]
    pub unlock_timestamp: u64,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub unk_enhanced_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAvatarDataScRsp {
    /// offset: 84
    #[prost(uint32, tag = "1")]
    pub jfaadmonjnf: u32,
    /// offset: 88
    #[prost(bool, tag = "2")]
    pub is_get_all: bool,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub avatar_path_data_info_list: ::prost::alloc::vec::Vec<AvatarPathData>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub jbfbeolohjn: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub dhkfcdaghdm: ::core::option::Option<Cjlcpmdgibo>,
    /// offset: 40
    #[prost(enumeration = "Cfmdkncddal", repeated, tag = "11")]
    pub piloafimcgk: ::prost::alloc::vec::Vec<i32>,
    /// offset: 80
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "13")]
    pub skin_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "15")]
    pub basic_type_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AvatarExpUpCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(393)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub item_cost: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub base_avatar_id: u32,
}
/// Obf: AvatarExpUpScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(358)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarExpUpScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
/// Obf: UnlockSkillTreeCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(388)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockSkillTreeCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub point_id: u32,
}
/// Obf: UnlockSkillTreeScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(381)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockSkillTreeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub point_id: u32,
}
/// Obf: PromoteAvatarCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(386)]
#[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 = "12")]
    pub base_avatar_id: u32,
}
/// Obf: PromoteAvatarScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(347)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PromoteAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: DressAvatarCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(326)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressAvatarCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub equipment_unique_id: u32,
}
/// Obf: DressAvatarScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(313)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: TakeOffEquipmentCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(371)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffEquipmentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: TakeOffEquipmentScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(340)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(333)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddAvatarScNotify {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub base_avatar_id: u32,
    /// offset: 36
    #[prost(enumeration = "AddAvatarSrcState", tag = "5")]
    pub src: i32,
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub is_new: bool,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(305)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddMultiPathAvatarScNotify {
    /// offset: 44
    #[prost(enumeration = "Gcallojppij", tag = "1")]
    pub alkdbjegagg: i32,
    /// offset: 48
    #[prost(bool, tag = "5")]
    pub is_new: bool,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub hjmdnlbnpna: ::prost::alloc::vec::Vec<Nkdnfdcfncp>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: ActiveEidolonCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(338)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ActiveEidolonCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub rank: u32,
}
/// Obf: ActiveEidolonScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(339)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveEidolonScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressRelicParam {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub relic_unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub relic_type: u32,
}
/// Obf: DressRelicAvatarCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(304)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressRelicAvatarCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub switch_list: ::prost::alloc::vec::Vec<DressRelicParam>,
}
/// Obf: DressRelicAvatarScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(311)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressRelicAvatarScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: TakeOffRelicCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(336)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffRelicCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub relic_type_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Obf: TakeOffRelicScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(348)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffRelicScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: TakePromotionRewardCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(345)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakePromotionRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub promotion: u32,
}
/// Obf: TakePromotionRewardScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(369)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePromotionRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: DressAvatarSkinCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(365)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressAvatarSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub skin_id: u32,
}
/// Obf: DressAvatarSkinScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(330)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DressAvatarSkinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: TakeOffAvatarSkinCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(342)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffAvatarSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: TakeOffAvatarSkinScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(372)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOffAvatarSkinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(380)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockAvatarSkinScNotify {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub skin_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(344)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPlayerOutfitCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub dhkfcdaghdm: ::core::option::Option<Cjlcpmdgibo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(349)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPlayerOutfitScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: MarkAvatarCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(384)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkAvatarCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub is_marked: bool,
}
/// Obf: MarkAvatarScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(321)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub is_marked: bool,
}
/// Obf: SetGrowthTargetAvatarCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(341)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGrowthTargetAvatarCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub fcacaclejnm: u32,
    /// offset: 32
    #[prost(enumeration = "GrowthTargetState", tag = "3")]
    pub source: i32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(enumeration = "Cfmdkncddal", repeated, tag = "7")]
    pub flindjjjflb: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: SetGrowthTargetAvatarScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(310)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGrowthTargetAvatarScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub growth_avatar_id: u32,
    /// offset: 16
    #[prost(enumeration = "Cfmdkncddal", repeated, tag = "12")]
    pub flindjjjflb: ::prost::alloc::vec::Vec<i32>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub jfaadmonjnf: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(343)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cfggobedjok {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub jfaadmonjnf: u32,
    /// offset: 24
    #[prost(enumeration = "Cfmdkncddal", repeated, tag = "15")]
    pub flindjjjflb: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: FNEKPCPNKLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(335)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPreAvatarActivityListCsReq {}
/// Obf: CEAIGOBEACN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(375)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPreAvatarActivityListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ddmehpdhplm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: OGIFJNIGHBO
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PreAvatarGrowthMaterialData {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub fdijafbcill: u32,
    /// offset: 116
    #[prost(uint32, tag = "2")]
    pub jhlpbjcaiif: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub pelfcmahjga: u32,
    /// offset: 108
    #[prost(uint32, tag = "4")]
    pub jobmejmfelf: u32,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub iicanchnibb: u32,
    /// offset: 124
    #[prost(uint32, tag = "6")]
    pub lnhkcmapmlm: u32,
    /// offset: 104
    #[prost(uint32, tag = "7")]
    pub jpgoackiffc: u32,
    /// offset: 112
    #[prost(uint32, tag = "8")]
    pub dkebmgfmcbh: u32,
    /// offset: 96
    #[prost(uint32, tag = "9")]
    pub bjfjhejgfpm: u32,
    /// offset: 100
    #[prost(uint32, tag = "10")]
    pub pgjkalfdfma: u32,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub dlgcgjcklcb: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub cahbpnlnkcc: u32,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub oifpbocoall: u32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub iegolhhoanb: u32,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub bfepbbliogp: u32,
    /// offset: 88
    #[prost(uint32, tag = "435")]
    pub ppdagppkejd: u32,
    /// offset: 120
    #[prost(uint32, tag = "499")]
    pub r#type: u32,
    /// offset: 24
    #[prost(string, tag = "617")]
    pub lacbkoccfhl: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "1233")]
    pub avatar_icon: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(string, tag = "1281")]
    pub ndjglmcpfhk: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "1559")]
    pub nocpijjbkcb: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "1620")]
    pub panel_id: u32,
}
/// Obf: KIBJDDNABII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(329)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoCsReq {}
/// Obf: NMLGHIFLBNN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(363)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPreAvatarGrowthInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub jlmmcnimpoa: ::prost::alloc::vec::Vec<PreAvatarGrowthMaterialData>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(373)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAvatarEnhancedIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub enhanced_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(312)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAvatarEnhancedIdScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub growth_avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub unk_enhanced_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(315)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAvatarPathCsReq {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "4")]
    pub avatar_id: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(318)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAvatarPathScRsp {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "3")]
    pub avatar_id: i32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: SetMultipleAvatarPathsCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(314)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetMultipleAvatarPathsCsReq {
    /// offset: 16
    #[prost(enumeration = "MultiPathAvatarType", repeated, tag = "8")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: SetMultipleAvatarPathsScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(389)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetMultipleAvatarPathsScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: UnlockAvatarPathCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(352)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockAvatarPathCsReq {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "2")]
    pub avatar_id: i32,
}
/// Obf: UnlockAvatarPathScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(320)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockAvatarPathScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 44
    #[prost(enumeration = "MultiPathAvatarType", tag = "4")]
    pub avatar_id: i32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub basic_type_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(353)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AvatarPathChangedNotify {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "MultiPathAvatarType", tag = "14")]
    pub cur_multi_path_avatar_type: i32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(382)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AvatarSpecialSkilltreeUnlockScNotify {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub point_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(394)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lendbhpiojk {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(337)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eklididkfhc {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub bacaoldadmc: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub igoojkmpmdc: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub klmibjikibb: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub oainndahimg: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub base_avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(351)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmemidkdafg {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: CHIIPPKECEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(125)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultCsReq {
    /// offset: 84
    #[prost(uint32, tag = "1")]
    pub lgojdhlmgen: u32,
    /// offset: 40
    #[prost(map = "string, uint32", tag = "2")]
    pub ljjeoojceog: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 48
    #[prost(string, tag = "3")]
    pub debug_extra_info: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub battle_id: u32,
    /// offset: 65
    #[prost(bool, tag = "6")]
    pub lgjmmjefgnk: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub op_list: ::prost::alloc::vec::Vec<BattleOp>,
    /// offset: 64
    #[prost(bool, tag = "8")]
    pub dkidhmaomjb: bool,
    /// offset: 66
    #[prost(bool, tag = "9")]
    pub nngdlohalcn: bool,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub nibmfcfbhep: u32,
    /// offset: 88
    #[prost(enumeration = "BattleEndStatus", tag = "11")]
    pub end_status: i32,
    /// offset: 92
    #[prost(uint32, tag = "12")]
    pub cost_time: u32,
    /// offset: 76
    #[prost(uint32, tag = "13")]
    pub ljkmpimkomo: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 16
    #[prost(bytes = "vec", tag = "15")]
    pub turn_snapshot_hash: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: PPNMNDKILGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PveBattleResultScRsp {
    /// offset: 96
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 64
    #[prost(message, optional, tag = "2")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(string, tag = "3")]
    pub dimhpkfppka: ::prost::alloc::string::String,
    /// offset: 100
    #[prost(bool, tag = "4")]
    pub check_identical: bool,
    /// offset: 56
    #[prost(message, optional, tag = "5")]
    pub item_list_unk2: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub multiple_drop_data: ::core::option::Option<ItemList>,
    /// offset: 104
    #[prost(uint32, tag = "7")]
    pub eahgeknlhpn: u32,
    /// offset: 88
    #[prost(uint32, tag = "8")]
    pub event_id: u32,
    /// offset: 32
    #[prost(string, tag = "9")]
    pub dpholbabaol: ::prost::alloc::string::String,
    /// offset: 116
    #[prost(uint32, tag = "10")]
    pub akdgbbdfdha: u32,
    /// offset: 120
    #[prost(uint32, tag = "11")]
    pub battle_id: u32,
    /// offset: 92
    #[prost(uint32, tag = "12")]
    pub lemgiccokbk: u32,
    /// offset: 108
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
    /// offset: 80
    #[prost(message, repeated, tag = "14")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 112
    #[prost(enumeration = "BattleEndStatus", tag = "15")]
    pub end_status: i32,
    /// offset: 101
    #[prost(bool, tag = "1253")]
    pub opdkjbhlojm: bool,
    /// offset: 40
    #[prost(message, optional, tag = "1379")]
    pub item_list_unk1: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(message, optional, tag = "1658")]
    pub abemlcjbief: ::core::option::Option<Lmdpkoelkfl>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(193)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitBattleCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 32
    #[prost(enumeration = "RebattleType", tag = "13")]
    pub nkdaaagpcdb: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(158)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuitBattleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: FAMHHDBNNFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(188)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurBattleInfoCsReq {}
/// Obf: LJJAAGCEBCK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(181)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurBattleInfoScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub hidiejalfie: ::core::option::Option<AetherDivideBattleInfo>,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub kdjgdhkjage: u32,
    /// offset: 40
    #[prost(enumeration = "BattleEndStatus", tag = "8")]
    pub last_end_status: i32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(186)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncClientResVersionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ljkmpimkomo: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(147)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncClientResVersionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ljkmpimkomo: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(126)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuitBattleScNotify {}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RebattleByClientCsNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub stt: ::core::option::Option<BattleStatistics>,
    /// offset: 32
    #[prost(enumeration = "RebattleType", tag = "10")]
    pub nkdaaagpcdb: i32,
}
/// Obf: OJOEOMAKAGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(139)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattleReplayScNotify {
    /// offset: 24
    #[prost(bytes = "vec", tag = "1")]
    pub nojcndgglbc: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub battle_id: u32,
}
/// Obf: LNFGDEAIHNL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5725)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBattleCollegeDataCsReq {}
/// Obf: JOIAADCLOGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5778)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBattleCollegeDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mnmjcnoliii: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MIIIAIEGEKM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncBattleCollegeDataChangeScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub finished_college_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub mnmjcnoliii: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FDFHMOKCNLB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5758)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartBattleCollegeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
/// Obf: CHKPEKJFPFD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5788)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBattleCollegeScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub id: u32,
}
/// Obf: LAOOKLNMLPH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BattlePassInfoNotify {
    /// offset: 48
    #[prost(uint64, tag = "1")]
    pub okpohihpoki: u64,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub pojdilfnjah: u32,
    /// offset: 80
    #[prost(uint64, tag = "5")]
    pub pdodoaohmac: u64,
    /// offset: 72
    #[prost(uint64, tag = "6")]
    pub chjkofanika: u64,
    /// offset: 64
    #[prost(uint64, tag = "7")]
    pub dafmmpkfoea: u64,
    /// offset: 40
    #[prost(uint64, tag = "8")]
    pub njdcmgojole: u64,
    /// offset: 104
    #[prost(uint32, tag = "9")]
    pub aechndnnmlf: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub exp: u32,
    /// offset: 24
    #[prost(uint64, tag = "12")]
    pub icpccgpejmp: u64,
    /// offset: 88
    #[prost(uint64, tag = "13")]
    pub aimggfnliek: u64,
    /// offset: 96
    #[prost(uint64, tag = "14")]
    pub cblnjdcicbc: u64,
    /// offset: 60
    #[prost(enumeration = "BpTierType", tag = "15")]
    pub deleghoclmo: i32,
}
/// Obf: HKIOLACNPJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3058)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeBpRewardCsReq {
    /// offset: 24
    #[prost(enumeration = "BpRewardType", tag = "2")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub optional_reward_id: u32,
}
/// Obf: INMLDGNNGKH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBpRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: CEJDHNPPCCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3081)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyBpLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub igoojkmpmdc: u32,
}
/// Obf: JEOKGDBPPMF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3086)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyBpLevelScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OptionalReward {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub optional_reward_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
/// Obf: HEPHIKELLEA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub eikkaladehm: ::prost::alloc::vec::Vec<OptionalReward>,
}
/// Obf: GAMCGLNKLLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: BCMJFJHILIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4859)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBenefitActivityInfoCsReq {}
/// Obf: LuckyKoiInfoList
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LuckyKoiInfoList {
    /// offset: 32
    #[prost(string, tag = "6")]
    pub lhapdmppomp: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub head_icon: u32,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub elbedngjkdd: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icgolphckil {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opgkkpedkcl {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub macljjcidej: u32,
    /// offset: 56
    #[prost(uint64, tag = "6")]
    pub eggjmkcabef: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub eggjfcelhnk: ::prost::alloc::vec::Vec<Icgolphckil>,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub jemfdeefpfm: ::prost::alloc::vec::Vec<LuckyKoiInfoList>,
    /// offset: 48
    #[prost(uint64, tag = "11")]
    pub end_time: u64,
    /// offset: 64
    #[prost(uint64, tag = "13")]
    pub begin_time: u64,
}
/// Obf: BenefitData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BenefitData {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub status: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub config: ::core::option::Option<Opgkkpedkcl>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub jalhkmeoopn: u32,
}
/// Obf: DJIIJODNAOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4873)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBenefitActivityInfoScRsp {
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub ghhllcemaop: bool,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub hnfffdegoeb: ::prost::alloc::vec::Vec<BenefitData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okkejhplmla {
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub oofkoimlcpa: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub jalhkmeoopn: u32,
}
/// Obf: FPBHCHBALOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4887)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub switch_list: ::prost::alloc::vec::Vec<Okkejhplmla>,
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub ljegpijgmlg: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oieambaghbk {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub oofkoimlcpa: bool,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub jalhkmeoopn: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AMEABJAOBML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4894)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeBenefitActivityRewardScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub switch_list: ::prost::alloc::vec::Vec<Oieambaghbk>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub jjokiikihnl: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4869)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JoinBenefitActivityCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jalhkmeoopn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4898)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JoinBenefitActivityScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jalhkmeoopn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbfodnlibfi {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jalhkmeoopn: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub ecgdecadbdo: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub ahdcghabaln: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub jenkdacfcdo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eoajknkdaod {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub djndmmikfhn: ::prost::alloc::vec::Vec<Hbfodnlibfi>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9830)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilfjiideebi {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9821)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Paglmeagppc {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub ajkokajabfg: ::prost::alloc::vec::Vec<Eoajknkdaod>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9823)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fmdgfhpoaio {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub jalhkmeoopn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Imfbpgdpeoi {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub jenkdacfcdo: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub jalhkmeoopn: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub ecgdecadbdo: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9824)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ankfjaabbfk {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub jalhkmeoopn: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9826)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbocfeeeeii {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub jalhkmeoopn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Flljihlmkdi {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "7")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cieekoeechb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub hodlkbmkmcf: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub oojomkdmbbm: ::prost::alloc::vec::Vec<Flljihlmkdi>,
    /// offset: 72
    #[prost(bool, tag = "6")]
    pub mlogjkeocpp: bool,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub lffbkjbjjdd: u32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub stage_index: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub ejefdfefomh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub eaficclclla: u32,
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub ifhhfbijofc: u32,
}
/// Obf: DPKAAFLBPAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4225)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBoxingClubInfoCsReq {}
/// Obf: NIKKFEINEFD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4278)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBoxingClubInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub challenge_list: ::prost::alloc::vec::Vec<Cieekoeechb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Akldicefcil {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
}
/// Obf: PKPFDGEKLOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4293)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentCsReq {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub oojomkdmbbm: ::prost::alloc::vec::Vec<Akldicefcil>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CCIBPGAFJFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchBoxingClubOpponentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
}
/// Obf: KHNHMAGJNFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4271)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseBoxingClubResonanceCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub hodlkbmkmcf: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
}
/// Obf: KEKEOMIMNFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4240)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubResonanceScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
}
/// Obf: HKFJNFGBGPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub oojomkdmbbm: ::prost::alloc::vec::Vec<Akldicefcil>,
}
/// Obf: KADHOJHKFED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4238)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetBoxingClubResonanceScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: EOAAIPIBNGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4239)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub mfkaohkpipe: u32,
}
/// Obf: BGEKHPCNAKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4204)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseBoxingClubStageOptionalBuffScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
}
/// Obf: OLLAEFNBCIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4288)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartBoxingClubBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub challenge_id: u32,
}
/// Obf: EBPOGEBENBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4281)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartBoxingClubBattleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PMIFOPAPNNI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4286)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub keaagaiahla: bool,
}
/// Obf: HKNFAFFEHDL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GiveUpBoxingClubChallengeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
}
/// Obf: FHNOLIMEEOM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4226)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubRewardScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub eaficclclla: u32,
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub is_win: bool,
}
/// Obf: OFHGANNPNIH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoxingClubChallengeUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ocdlpddmclp: ::core::option::Option<Cieekoeechb>,
}
/// Obf: JEEFPOLFCOO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9129)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetDataCsReq {}
/// Obf: JNEODFOHENL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9145)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetDataScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub eahkhgpplea: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub lajjhaakgaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub item_value: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub jnbegeopgfj: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ABKIKDIGKHG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9138)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceLoanCsReq {}
/// Obf: AEKIMHBEOGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9124)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceLoanScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub akeabjgikli: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AAKNOOFGMIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceStartPveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lopnadhjkbf: u32,
}
/// Obf: HLMHPBJKJOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9142)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceStartPveScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lopnadhjkbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Icdbhmepndb {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub jlahnbimkpd: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lhhjfmmcbaf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emjcpfcmomk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub cpikeighmgb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NMADMOMNBMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9141)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceUpdatePveCsReq {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub lopnadhjkbf: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub opnghdencab: u32,
    #[prost(oneof = "cake_race_update_pve_cs_req::Fgimlnijine", tags = "5, 1, 8, 4, 12")]
    pub fgimlnijine: ::core::option::Option<cake_race_update_pve_cs_req::Fgimlnijine>,
}
/// Nested message and enum types in `CakeRaceUpdatePveCsReq`.
pub mod cake_race_update_pve_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Fgimlnijine {
        /// offset: 16
        #[prost(message, tag = "5")]
        Boejnbkdjlm(super::Icdbhmepndb),
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Bcfplapcfpl(u32),
        /// offset: 16
        #[prost(bool, tag = "8")]
        Magpagchohp(bool),
        /// offset: 16
        #[prost(message, tag = "4")]
        Kmolbegklni(super::Emjcpfcmomk),
        /// offset: 16
        #[prost(bool, tag = "12")]
        Pikeohhecca(bool),
    }
}
/// Obf: DPNIHNAJNLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9132)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceUpdatePveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9140)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pibehfddaaj {
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub dhllpobklio: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub score_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9135)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcohndphbgk {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: CJALEDGKEPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9147)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceFinishFieldRewardScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub lopnadhjkbf: u32,
}
/// Obf: ANJBFCEBNGF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9123)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceCoinScoreChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_value: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub jnbegeopgfj: u32,
}
/// Obf: FNOMEBNDGJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9131)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetHandbookCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkcnoighopm {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lhhjfmmcbaf: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub mbnbcpeaalj: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub cbnkdhiheco: u32,
}
/// Obf: MPNKBNOCCLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9130)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetHandbookScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub aobbddkfbmd: ::prost::alloc::vec::Vec<Gkcnoighopm>,
}
/// Obf: IONBKDFCGJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9128)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetFriendRankingInfoListCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbhlnahojoh {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub fogjibonacg: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub jnbegeopgfj: u32,
}
/// Obf: GMGCEMNNPBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9121)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceGetFriendRankingInfoListScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub lpbbjffnaca: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub mlphlihfgkg: ::prost::alloc::vec::Vec<Jbhlnahojoh>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FBBHAKEHLEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9150)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceLikeFriendRankingInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub teleport_id: u32,
}
/// Obf: EEBFDPANGCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9122)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CakeRaceLikeFriendRankingInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub teleport_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub lpbbjffnaca: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EHJBIMBILHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9137)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetDailyLikeCsReq {}
/// Obf: OALBLNCGKCO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9139)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CakeRaceGetDailyLikeScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub lpbbjffnaca: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Challenge {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub record_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 48
    #[prost(bool, tag = "4")]
    pub hgpkmhfpmbj: bool,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub taken_reward: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub star: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub stage_info: ::core::option::Option<ChallengeStageInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub score_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeGroup {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "13")]
    pub taken_stars_count_reward: u64,
}
/// Obf: ChallengeHistoryMaxLevel
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeHistoryMaxLevel {
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub hnhcfjjnjce: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub reward_display_type: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: FICNDNLJEED
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1725)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChallengeCsReq {}
/// Obf: KGPEJJNPLCG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeScRsp {
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub challenge_group_list: ::prost::alloc::vec::Vec<ChallengeGroup>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub kkiafpfklge: ::prost::alloc::vec::Vec<Fmdaaiklaja>,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub challenge_list: ::prost::alloc::vec::Vec<Challenge>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub max_level_list: ::prost::alloc::vec::Vec<ChallengeHistoryMaxLevel>,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeStoryBuffInfo {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub buff_two: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub buff_one: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeBossBuffInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub buff_two: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub buff_one: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeBuffInfo {
    #[prost(oneof = "challenge_buff_info::Kknboacncon", tags = "11, 13")]
    pub kknboacncon: ::core::option::Option<challenge_buff_info::Kknboacncon>,
}
/// Nested message and enum types in `ChallengeBuffInfo`.
pub mod challenge_buff_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "11")]
        StoryInfo(super::ChallengeStoryBuffInfo),
        /// offset: 16
        #[prost(message, tag = "13")]
        BossInfo(super::ChallengeBossBuffInfo),
    }
}
/// Obf: EOFJMGIPBLG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeCsReq {
    /// offset: 48
    #[prost(message, optional, tag = "1")]
    pub stage_info: ::core::option::Option<ChallengeBuffInfo>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub first_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub second_lineup: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "6")]
    pub avatar_lineup_first: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub avatar_lineup_second: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub challenge_id: u32,
}
/// Obf: IPALENCIHFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeScRsp {
    /// offset: 48
    #[prost(message, repeated, tag = "2")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub stage_info: ::core::option::Option<ChallengeStageInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: OCOJEHPINMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1748)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartPartialChallengeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub challenge_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub is_first_half: bool,
}
/// Obf: FHHDPFNMPMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1745)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPartialChallengeScRsp {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: KGKLEEPMGEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengeCsReq {}
/// Obf: PGBKJLOFLLN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1781)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DPNNFHCFCKL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1786)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeSettleNotify {
    /// offset: 48
    #[prost(uint32, repeated, tag = "1")]
    pub kdidccoojjc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub star: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub max_level: ::core::option::Option<ChallengeHistoryMaxLevel>,
    /// offset: 60
    #[prost(bool, tag = "7")]
    pub is_win: bool,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub score_two: u32,
    /// offset: 72
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub challenge_score: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
}
/// Obf: KillMonster
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct KillMonster {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub kill_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeStoryBuffList {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeBossBuffList {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub challenge_boss_const: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeCurBuffInfo {
    #[prost(oneof = "challenge_cur_buff_info::Kknboacncon", tags = "1, 9")]
    pub kknboacncon: ::core::option::Option<challenge_cur_buff_info::Kknboacncon>,
}
/// Nested message and enum types in `ChallengeCurBuffInfo`.
pub mod challenge_cur_buff_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "1")]
        CurStoryBuffs(super::ChallengeStoryBuffList),
        /// offset: 24
        #[prost(message, tag = "9")]
        CurBossBuffs(super::ChallengeBossBuffList),
    }
}
/// Obf: CurChallenge
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurChallenge {
    /// offset: 52
    #[prost(enumeration = "ExtraLineupType", tag = "1")]
    pub extra_lineup_type: i32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub challenge_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub score_two: u32,
    /// offset: 40
    #[prost(enumeration = "ChallengeStatus", tag = "6")]
    pub status: i32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub dead_avatar_num: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub kill_monster_list: ::prost::alloc::vec::Vec<KillMonster>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub stage_info: ::core::option::Option<ChallengeCurBuffInfo>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub round_count: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub score_id: u32,
}
/// Obf: NOHJGOCPPMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1713)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurChallengeCsReq {}
/// Obf: JIOAKKLDCBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1771)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurChallengeScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub cur_challenge: ::core::option::Option<CurChallenge>,
}
/// Obf: DBGHDPKNNKK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeLineupNotify {
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "4")]
    pub extra_lineup_type: i32,
}
/// Obf: HHGBMDBOKHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1739)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeChallengeCumulativeRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: CGOFJCCAPBC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1704)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeCumulativeRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub oaknhadpljd: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub taken_reward_list: ::prost::alloc::vec::Vec<TakenChallengeRewardInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakenChallengeRewardInfo {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub star_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStatistics {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ppbhllojnek: ::core::option::Option<Adkjkmkbfdc>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub record_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStoryStatistics {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ppbhllojnek: ::core::option::Option<Eikphemhioh>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub record_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossStatistics {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ppbhllojnek: ::core::option::Option<Aanljbloofo>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub record_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Adkjkmkbfdc {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eejcpnaeklj: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub round_count: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eikphemhioh {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub eejcpnaeklj: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub buff_one: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub score_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub buff_two: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aanljbloofo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub buff_two: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub eejcpnaeklj: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub buff_one: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub score_id: u32,
}
/// Obf: HKAMBNCEDDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1711)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChallengeGroupStatisticsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Obf: MJLNHAKANHC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1736)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengeGroupStatisticsScRsp {
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "713")]
    pub megbipbafbp: ::core::option::Option<PlayerChallengeTierceRecord>,
    #[prost(
        oneof = "get_challenge_group_statistics_sc_rsp::Edkohaamonh",
        tags = "2, 8, 11"
    )]
    pub edkohaamonh: ::core::option::Option<
        get_challenge_group_statistics_sc_rsp::Edkohaamonh,
    >,
}
/// 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 Edkohaamonh {
        /// offset: 16
        #[prost(message, tag = "2")]
        ChallengeDefault(super::ChallengeStatistics),
        /// offset: 16
        #[prost(message, tag = "8")]
        ChallengeStory(super::ChallengeStoryStatistics),
        /// offset: 16
        #[prost(message, tag = "11")]
        ChallengeBoss(super::ChallengeBossStatistics),
    }
}
/// Obf: ChallengeBossSingleNodeInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeBossSingleNodeInfo {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub max_score: u32,
    /// offset: 25
    #[prost(bool, tag = "3")]
    pub mbhcjponjom: bool,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossInfo {
    /// offset: 72
    #[prost(bool, tag = "3")]
    pub unk1: bool,
    /// offset: 64
    #[prost(message, repeated, tag = "5")]
    pub avatar_lineup_first: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub second_node: ::core::option::Option<ChallengeBossSingleNodeInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub avatar_lineup_second: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 56
    #[prost(map = "uint32, message", tag = "10")]
    pub challenge_avatar_relic_map: ::std::collections::HashMap<
        u32,
        ChallengeBossAvatarRelicInfo,
    >,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub first_node: ::core::option::Option<ChallengeBossSingleNodeInfo>,
    /// offset: 40
    #[prost(map = "uint32, message", tag = "12")]
    pub challenge_avatar_equipment_map: ::std::collections::HashMap<
        u32,
        ChallengeBossEquipmentInfo,
    >,
}
/// Obf: ChallengeStageInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeStageInfo {
    #[prost(oneof = "challenge_stage_info::Kknboacncon", tags = "6")]
    pub kknboacncon: ::core::option::Option<challenge_stage_info::Kknboacncon>,
}
/// Nested message and enum types in `ChallengeStageInfo`.
pub mod challenge_stage_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "6")]
        BossInfo(super::ChallengeBossInfo),
    }
}
/// Obf: LMEBOJEOJPD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1765)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RestartChallengePhaseCsReq {}
/// Obf: IGOIIMJKPEH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1730)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengePhaseScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: BNAKMGMBLCJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1742)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterChallengeNextPhaseCsReq {}
/// Obf: PBGKAOINCEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1772)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChallengeNextPhaseScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: ANEIPABEMDH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeBossPhaseSettleNotify {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub challenge_score: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub star: u32,
    /// offset: 58
    #[prost(bool, tag = "4")]
    pub is_second_half: bool,
    /// offset: 56
    #[prost(bool, tag = "5")]
    pub agaepdnhpjc: bool,
    /// offset: 59
    #[prost(bool, tag = "6")]
    pub is_reward: bool,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub page_type: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub phase: u32,
    /// offset: 57
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub challenge_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub score_two: u32,
}
/// Obf: ChallengePeakBuild
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBuild {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub relic_list: ::prost::alloc::vec::Vec<EquipRelic>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub equipment_unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub skin_id: u32,
}
/// Obf: ChallengePeak
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeak {
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub peak_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub peak_build_list: ::prost::alloc::vec::Vec<ChallengePeakBuild>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub cycles_used: u32,
    /// offset: 48
    #[prost(bool, tag = "12")]
    pub has_passed: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBossClearance {
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub best_cycle_count: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub djfgdmidehj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub ebnnjaepbgd: ::prost::alloc::vec::Vec<Abchbkbkcdf>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub lampcacochp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(bool, tag = "11")]
    pub has_passed: bool,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub nhojdhpgbbo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBoss {
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub bfbhckejdig: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub easy_mode: ::core::option::Option<ChallengePeakBossClearance>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub hard_mode: ::core::option::Option<ChallengePeakBossClearance>,
    /// offset: 52
    #[prost(bool, tag = "14")]
    pub hard_mode_has_passed: bool,
}
/// Obf: WaitConfirmData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WaitConfirmData {
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub is_wait_confirm: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub cycles_used: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub peak_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abchbkbkcdf {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub skin_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mekpddblcgk {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub cycles_used: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Abchbkbkcdf>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub peak_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfbffiaopcc {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub peaks: ::prost::alloc::vec::Vec<Mekpddblcgk>,
}
/// Obf: ChallengePeakGroup
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakGroup {
    /// offset: 56
    #[prost(message, optional, tag = "1")]
    pub peak_boss: ::core::option::Option<ChallengePeakBoss>,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub peak_group_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "3")]
    pub obtained_stars: u32,
    /// offset: 76
    #[prost(bool, tag = "5")]
    pub disable_hard_mode: bool,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub papdcckpepk: ::core::option::Option<Jfbffiaopcc>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub wait_confirm_data: ::core::option::Option<WaitConfirmData>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "13")]
    pub taken_star_rewards: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub count_of_peaks: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub peaks: ::prost::alloc::vec::Vec<ChallengePeak>,
}
/// Obf: CJILPJOJOIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8909)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChallengePeakDataCsReq {}
/// Obf: PKPOJIAJAAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8923)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChallengePeakDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub challenge_peak_groups: ::prost::alloc::vec::Vec<ChallengePeakGroup>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub current_peak_group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8937)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartChallengePeakCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub boss_buff_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub peak_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8944)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8919)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengePeakCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8948)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: AFALNHPPKAD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8903)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakSettleScNotify {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub turn_left: u32,
    /// offset: 56
    #[prost(bool, tag = "2")]
    pub is_first_pass: bool,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub is_boss_target_better: bool,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub cycles_used: u32,
    /// offset: 57
    #[prost(bool, tag = "7")]
    pub is_unlock_easy_boss: bool,
    /// offset: 51
    #[prost(bool, tag = "8")]
    pub is_wait_confirm: bool,
    /// offset: 49
    #[prost(bool, tag = "9")]
    pub is_win: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub peak_reward_group_list: ::prost::alloc::vec::Vec<ChallengePeakRewardGroup>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
    /// offset: 50
    #[prost(bool, tag = "15")]
    pub hard_mode_has_passed: bool,
}
/// Obf: JMDENKICHGK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8907)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakGroupDataUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub challenge_peak_group: ::core::option::Option<ChallengePeakGroup>,
}
/// Obf: PIOAJBFKNIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8910)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeChallengePeakRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub normal_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub peak_group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakRewardGroup {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub reward_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: FGHONKMDBGM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8921)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengePeakRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub peak_reward_group_list: ::prost::alloc::vec::Vec<ChallengePeakRewardGroup>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub peak_group_id: u32,
}
/// Obf: LFGECDNDGEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8924)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurChallengePeakCsReq {}
/// Obf: CIDMLLEGNNN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8920)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurChallengePeakScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub peak_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub has_passed: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub boss_buff_id: u32,
}
/// Obf: KDMFDDFOICF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8917)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetChallengePeakBossHardModeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub peak_group_id: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub is_hard_mode: bool,
}
/// Obf: CGLPPBKHAAN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8929)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetChallengePeakBossHardModeScRsp {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub is_hard_mode: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub peak_group_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8933)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReStartChallengePeakCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8906)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReStartChallengePeakScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ChallengePeakLineup
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengePeakLineup {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub peak_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8935)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetChallengePeakMobLineupAvatarCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengePeakLineup>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub peak_group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8915)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetChallengePeakMobLineupAvatarScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8918)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmChallengePeakSettleCsReq {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub iobcimipeom: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub peak_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8943)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmChallengePeakSettleScRsp {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub iobcimipeom: bool,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub peak_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupTierce {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub buff_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub tierce_avatar_id_list: ::prost::alloc::vec::Vec<AvatarLineup>,
}
/// Obf: NFKCMMEAIDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8979)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetLineupChallengeTierceCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub lineup_tierce_list: ::prost::alloc::vec::Vec<LineupTierce>,
}
/// Obf: GGCBEKKJCJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8995)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLineupChallengeTierceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: StartChallengeTierceCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8988)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeTierceCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub stage_index: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub mpkmikbfehg: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub lineup_tierce_list: ::prost::alloc::vec::Vec<LineupTierce>,
}
/// Obf: StartChallengeTierceScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8974)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartChallengeTierceScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub cur_tierce_challenge: ::core::option::Option<CurTierceChallenge>,
}
/// Obf: PKKFNODINEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8975)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RestartChallengeTierceCsReq {}
/// Obf: JMPJCAPKNGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8992)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RestartChallengeTierceScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: MHJNOBBOFOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8977)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartNextChallengeTierceCsReq {}
/// Obf: LHAKNKHBLBI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8999)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartNextChallengeTierceScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub cur_tierce_challenge: ::core::option::Option<CurTierceChallenge>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LeaveChallengeTierceCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8991)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengeTierceCsReq {}
/// Obf: LeaveChallengeTierceScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8982)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveChallengeTierceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MENLHHCJNCE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8990)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmStageSettleChallengeTierceCsReq {
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub iobcimipeom: bool,
}
/// Obf: OKEDFNJJGHB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8985)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmStageSettleChallengeTierceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FBAMAFLOBGA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeTierceStageClear {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub licpekhdjgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub challenge_id: u32,
}
/// Obf: JCKGBFJJFFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeTierceStageSettle {
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub paiaepjidpe: ::core::option::Option<Pmmofobcinl>,
    /// offset: 40
    #[prost(bool, tag = "206")]
    pub fcjghhildek: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1591")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PEOKJEOOOJD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeTiercePendingStageSettle {
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub opnpmbjdknb: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub mmcpicgkogd: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub nedggmgmlgo: u32,
    /// offset: 36
    #[prost(uint32, tag = "295")]
    pub biepffbbjhg: u32,
    /// offset: 32
    #[prost(uint32, tag = "1420")]
    pub ekklcbknaed: u32,
    /// offset: 40
    #[prost(uint32, tag = "1788")]
    pub dpdnpcbneni: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibcnmncccbj {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub hejanccdgap: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GEKNAKDAMJF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengeTierceBigSettle {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub gbmbahhdonn: ::prost::alloc::vec::Vec<Pmmofobcinl>,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "12")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<Ibcnmncccbj>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub egehlopfelk: ::core::option::Option<Olofpkhfpjl>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "167")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(bool, tag = "504")]
    pub fcjghhildek: bool,
}
/// Obf: FLIPNFHAMPO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeTierceMedal {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub mgllkbnfkfg: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8973)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dophndhilpa {
    #[prost(oneof = "dophndhilpa::Mmcgbgdjipn", tags = "1, 12, 4, 14, 5")]
    pub mmcgbgdjipn: ::core::option::Option<dophndhilpa::Mmcgbgdjipn>,
}
/// Nested message and enum types in `DOPHNDHILPA`.
pub mod dophndhilpa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "1")]
        Ianbcdjpdjf(super::ChallengeTierceStageSettle),
        /// offset: 16
        #[prost(message, tag = "12")]
        Dfnnkenboen(super::ChallengeTierceBigSettle),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ibfhhkhnefl(super::ChallengeTierceStageClear),
        /// offset: 16
        #[prost(message, tag = "14")]
        Iihfedlhopi(super::ChallengeTiercePendingStageSettle),
        /// offset: 16
        #[prost(message, tag = "5")]
        Hnhcfjjnjce(super::ChallengeTierceMedal),
    }
}
/// Obf: GOMLCMBBPCH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8981)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDataChallengeTierceCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cmoplahdepn {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub peak_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub tierce_avatar_id_list: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub stage_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmmofobcinl {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub ibeckoniicf: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub stage_index: u32,
    /// offset: 52
    #[prost(enumeration = "BattleEndStatus", tag = "10")]
    pub end_status: i32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub inllmkedglc: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Gllfjfjbibc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Olofpkhfpjl {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub total_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ejedodffabi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifahfgffpef {
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub hgkceeoonga: ::prost::alloc::vec::Vec<Pmmofobcinl>,
    /// offset: 60
    #[prost(bool, tag = "6")]
    pub fcjghhildek: bool,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub mogeeajcfno: ::prost::alloc::vec::Vec<Cmoplahdepn>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub bhnpinimmhg: ::core::option::Option<Olofpkhfpjl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Icmjacokipi {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub stage_index: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub inllmkedglc: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ibeckoniicf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kobalacapkf {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub hgkceeoonga: ::prost::alloc::vec::Vec<Icmjacokipi>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub fcjghhildek: bool,
}
/// Obf: HFGMOFBDAON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8980)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDataChallengeTierceScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub jlombbakbme: ::prost::alloc::vec::Vec<Ifahfgffpef>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CurTierceChallenge
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurTierceChallenge {
    /// offset: 48
    #[prost(bool, tag = "1")]
    pub mpkmikbfehg: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub stage_index: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub iihfedlhopi: ::core::option::Option<ChallengeTiercePendingStageSettle>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub challenge_id: u32,
}
/// Obf: CCHPHOIKECB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8978)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetControllerChallengeTierceCsReq {}
/// Obf: LPIHJBELIBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8971)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetControllerChallengeTierceScRsp {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub cur_tierce_challenge: ::core::option::Option<CurTierceChallenge>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub ohpgehkfabm: ::core::option::Option<Kobalacapkf>,
}
/// Obf: PCLHDCHFKLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3925)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SendMsgCsReq {
    /// offset: 40
    #[prost(enumeration = "ChatType", tag = "3")]
    pub chat_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub message_datas: ::core::option::Option<MessageChatData>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub target_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MKFCCNOIDNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3978)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SendMsgScRsp {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub end_time: u64,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LLCBGMJAICJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3993)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RevcMsgScNotify {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub dkdlooaaake: u32,
    /// offset: 32
    #[prost(enumeration = "ChatType", tag = "4")]
    pub chat_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub recv_message_data: ::core::option::Option<ChatMessageData>,
}
/// Obf: PGADBBAECPD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3988)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPrivateChatHistoryCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub target_side: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub contact_side: u32,
}
/// Obf: JLBGMJFLJEE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3981)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPrivateChatHistoryScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub chat_message_list: ::prost::alloc::vec::Vec<ChatMessageData>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub target_side: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub contact_side: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FriendHistoryInfo {
    /// offset: 32
    #[prost(int64, tag = "10")]
    pub last_send_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub contact_side: u32,
}
/// Obf: OPFLGEAPHBA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3986)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChatFriendHistoryCsReq {}
/// Obf: ENHNFNKCGJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3947)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChatFriendHistoryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub friend_history_info: ::prost::alloc::vec::Vec<FriendHistoryInfo>,
}
/// Obf: NGCDALNAHIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3926)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChatEmojiListCsReq {}
/// Obf: LOFKMJPPAKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3913)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChatEmojiListScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub chat_emoji_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: FOHHCCEIICN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3971)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkChatEmojiCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub is_remove_id: bool,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub emoji_id: u32,
}
/// Obf: NGGKLPDFGDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3940)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkChatEmojiScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub emoji_id: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub is_remove_id: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: FEPDPLJADHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3933)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchMarkChatEmojiCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub marked_emoji_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IECODOPOOBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3938)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchMarkChatEmojiScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub marked_emoji_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CGJKIDOBEAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3939)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLoginChatInfoCsReq {}
/// Obf: EBOPMIBKNBE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3904)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLoginChatInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jlpeicpflmc {
    /// offset: 40
    #[prost(enumeration = "Bcamanfjinc", tag = "1")]
    pub source_type: i32,
    /// offset: 32
    #[prost(uint64, tag = "6")]
    pub bneflbpcpoi: u64,
    #[prost(
        oneof = "jlpeicpflmc::Kllmjccomnf",
        tags = "7, 9, 13, 8, 2, 1671, 1075, 1219, 692, 158"
    )]
    pub kllmjccomnf: ::core::option::Option<jlpeicpflmc::Kllmjccomnf>,
}
/// Nested message and enum types in `JLPEICPFLMC`.
pub mod jlpeicpflmc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kllmjccomnf {
        /// offset: 16
        #[prost(uint32, tag = "7")]
        Bfcnaljdhmp(u32),
        /// offset: 16
        #[prost(uint32, tag = "9")]
        Hpdfgfbldog(u32),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Gcpplllhbbj(u32),
        /// offset: 16
        #[prost(uint32, tag = "8")]
        Djodeimgkgk(u32),
        /// offset: 16
        #[prost(uint32, tag = "2")]
        Pbhfmiiipbd(u32),
        /// offset: 16
        #[prost(uint64, tag = "1671")]
        Chfndagcebk(u64),
        /// offset: 16
        #[prost(uint32, tag = "1075")]
        Leemkamanjn(u32),
        /// offset: 16
        #[prost(uint32, tag = "1219")]
        Nkddbpgdaee(u32),
        /// offset: 16
        #[prost(uint32, tag = "692")]
        Efeenofadfc(u32),
        /// offset: 16
        #[prost(message, tag = "158")]
        Djnolldhphj(super::Pfppacpmfdj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jlifgimbmbd {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub kkckmcdgcgk: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub biofdpichlc: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub hmlbjfjipce: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hgcipbfbnko {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub source: ::core::option::Option<Jlpeicpflmc>,
    /// offset: 40
    #[prost(uint64, tag = "7")]
    pub unique_id: u64,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub config_id: u32,
    #[prost(oneof = "hgcipbfbnko::Aejnjcelnoe", tags = "10")]
    pub aejnjcelnoe: ::core::option::Option<hgcipbfbnko::Aejnjcelnoe>,
}
/// Nested message and enum types in `HGCIPBFBNKO`.
pub mod hgcipbfbnko {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Aejnjcelnoe {
        /// offset: 24
        #[prost(message, tag = "10")]
        Aenboonoflc(super::Jlifgimbmbd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Afdjneohclb {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ocjcoolmcgd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub source: ::core::option::Option<Jlpeicpflmc>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gackcpepdaf {
    /// offset: 32
    #[prost(uint64, tag = "11")]
    pub mlmfneblnhp: u64,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub max_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Akheoaipapa {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
    /// offset: 48
    #[prost(double, tag = "3")]
    pub ojmobaeemap: f64,
    /// offset: 32
    #[prost(double, tag = "5")]
    pub cplfboblfmc: f64,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub source: ::core::option::Option<Jlpeicpflmc>,
    /// offset: 44
    #[prost(enumeration = "Glbaokohkcf", tag = "10")]
    pub gokklnbmlca: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldnfiicmcha {
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub max_level: u32,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 60
    #[prost(bool, tag = "7")]
    pub dbodgpboihc: bool,
    /// offset: 48
    #[prost(uint64, tag = "9")]
    pub iepapopifhh: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub diilkeegloj: ::prost::alloc::vec::Vec<Akheoaipapa>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub kajofkieknh: ::prost::alloc::vec::Vec<Gackcpepdaf>,
    /// offset: 40
    #[prost(uint64, tag = "15")]
    pub kndhhajmbgb: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gknocndpaja {
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub iepapopifhh: u64,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub max_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Legnlmenmjk {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub card_id: u32,
    #[prost(oneof = "legnlmenmjk::Npfeggmnboc", tags = "7, 11")]
    pub npfeggmnboc: ::core::option::Option<legnlmenmjk::Npfeggmnboc>,
}
/// Nested message and enum types in `LEGNLMENMJK`.
pub mod legnlmenmjk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Npfeggmnboc {
        /// offset: 24
        #[prost(message, tag = "7")]
        Mligafabjdp(super::Ldnfiicmcha),
        /// offset: 24
        #[prost(message, tag = "11")]
        Bllcmlbdlpc(super::Gknocndpaja),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfppacpmfdj {
    /// offset: 28
    #[prost(int32, tag = "5")]
    pub y: i32,
    /// offset: 24
    #[prost(int32, tag = "11")]
    pub x: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dfflmemfplm {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub bfcnaljdhmp: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub djnolldhphj: ::core::option::Option<Pfppacpmfdj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cabcpfkaopp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub kdiddhidncg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub gcdggblojic: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub nfpadepikml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub oekifikbmfi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aalchopcbem {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub jooeekmdaeo: ::core::option::Option<Cabcpfkaopp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fibkollmpmm {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljboelcmgfk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub gcdggblojic: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub kdiddhidncg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gddlbmchied {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub mkokllkalde: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub kdiddhidncg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Geepipmbgjd {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub gcdggblojic: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub jooeekmdaeo: ::core::option::Option<Cabcpfkaopp>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub nfpadepikml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub kdiddhidncg: u32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub oekifikbmfi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mljejcfjple {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kfoolgfcndn {
    #[prost(oneof = "kfoolgfcndn::Cnhejloefaa", tags = "11, 6, 15, 2, 14, 9")]
    pub cnhejloefaa: ::core::option::Option<kfoolgfcndn::Cnhejloefaa>,
}
/// Nested message and enum types in `KFOOLGFCNDN`.
pub mod kfoolgfcndn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Cnhejloefaa {
        /// offset: 24
        #[prost(message, tag = "11")]
        Efbpppnpbkh(super::Aalchopcbem),
        /// offset: 24
        #[prost(message, tag = "6")]
        Ifcfipgiime(super::Fibkollmpmm),
        /// offset: 24
        #[prost(message, tag = "15")]
        Ocihlgbpalk(super::Ljboelcmgfk),
        /// offset: 24
        #[prost(message, tag = "2")]
        Nnlbnijjpah(super::Gddlbmchied),
        /// offset: 24
        #[prost(message, tag = "14")]
        Djbmehbkndf(super::Geepipmbgjd),
        /// offset: 24
        #[prost(message, tag = "9")]
        Bamnofcjmpp(super::Mljejcfjple),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdoedoebfaj {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub ifjihnbdngn: ::prost::alloc::vec::Vec<Afdjneohclb>,
    /// offset: 104
    #[prost(message, repeated, tag = "2")]
    pub entity_list: ::prost::alloc::vec::Vec<Legnlmenmjk>,
    /// offset: 132
    #[prost(uint32, tag = "3")]
    pub nkddbpgdaee: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub ldcjonhgdan: ::prost::alloc::vec::Vec<Hgcipbfbnko>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub memghbhggpn: ::prost::alloc::vec::Vec<Phhfogfkdbc>,
    /// offset: 120
    #[prost(uint32, tag = "6")]
    pub gcbdadcobae: u32,
    /// offset: 136
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "8")]
    pub iedkeldfhlp: ::prost::alloc::vec::Vec<Dfflmemfplm>,
    /// offset: 96
    #[prost(message, optional, tag = "9")]
    pub iloodghpobm: ::core::option::Option<Kfoolgfcndn>,
    /// offset: 128
    #[prost(uint32, tag = "10")]
    pub item_value: u32,
    /// offset: 88
    #[prost(uint32, repeated, tag = "11")]
    pub mgjenmkkibj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "12")]
    pub okhdneollnf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 124
    #[prost(uint32, tag = "13")]
    pub cur_wave: u32,
    /// offset: 116
    #[prost(uint32, tag = "14")]
    pub hp: u32,
    /// offset: 80
    #[prost(message, optional, tag = "15")]
    pub fmigokidkjl: ::core::option::Option<Bnhbdmidfcl>,
    /// offset: 32
    #[prost(uint64, repeated, tag = "264")]
    pub fnjcmfofcnc: ::prost::alloc::vec::Vec<u64>,
    /// offset: 112
    #[prost(uint32, tag = "539")]
    pub max_hp: u32,
    /// offset: 48
    #[prost(message, optional, tag = "1951")]
    pub ghicobophol: ::core::option::Option<Mbljieelmkn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fddnkpjemje {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub is_unlock: bool,
}
/// Obf: AGEPCIIPMEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9579)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingGetDataCsReq {}
/// Obf: PJFEPJKONAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingGetDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub djolgkgkche: ::core::option::Option<Fddnkpjemje>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub kfaigiiplof: ::core::option::Option<Bdoedoebfaj>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "11")]
    pub imnnaenhbma: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub gdholmibaea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Oggelmmfpkp {
    /// offset: 32
    #[prost(double, tag = "5")]
    pub damage: f64,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfeggffomki {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub wave: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub cur_hp: u32,
    /// offset: 44
    #[prost(enumeration = "Cneembbnnbo", tag = "6")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub ppcklbhfcca: ::prost::alloc::vec::Vec<Oggelmmfpkp>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub max_hp: u32,
}
/// Obf: FCLBPLLKLLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9607)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingStartStageCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub nkddbpgdaee: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub stage_id: u32,
}
/// Obf: CPMOGOPHJOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9614)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingStartStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ahcgjndkbca: ::core::option::Option<Bdoedoebfaj>,
}
/// Obf: PEEJCHEKGCJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9589)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingQuitStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub gdimkfnecok: u32,
}
/// Obf: NEAMMJICKGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9618)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingQuitStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub bflljjbhldf: ::core::option::Option<Dfeggffomki>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9573)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iopaidkigaj {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub djnolldhphj: ::core::option::Option<Pfppacpmfdj>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9577)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kcejnbldafe {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9580)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fcnmjggdefo {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub gajffbbmmen: ::core::option::Option<Pfppacpmfdj>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fgihkkkogjd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9591)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Laecpmjaiik {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9611)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hkkbglineom {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub bfcnaljdhmp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub gajffbbmmen: ::core::option::Option<Pfppacpmfdj>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9582)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dlgcdmbgieb {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9594)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mejecbognnn {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub fgihkkkogjd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9590)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gepcohmcaaj {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9587)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gbckaghdpeb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9599)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfelegkdcbo {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9603)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ongcoffliae {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub add_coin: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub soldier_dead_cnt: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub gdimkfnecok: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub is_win: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub ppcklbhfcca: ::prost::alloc::vec::Vec<Oggelmmfpkp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9576)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfnmkedpfjh {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub add_coin: u32,
    /// offset: 41
    #[prost(bool, tag = "4")]
    pub daomhgbdejh: bool,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub bflljjbhldf: ::core::option::Option<Dfeggffomki>,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub cur_hp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub ppcklbhfcca: ::prost::alloc::vec::Vec<Oggelmmfpkp>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9572)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Khmghgplphf {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9584)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fahnfmcojch {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9605)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nfahehelgec {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9585)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eifjnmddnpf {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9583)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpkoopbfeah {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9578)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jmlojkgmbmc {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9588)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjlpgbiaadj {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub aaidcojplci: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9613)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hlcakajlkgo {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9610)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knkcnkjokpa {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gpdefebdmnm: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9596)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjemckgbipn {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9615)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lkfkohlgmoj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nchpdfcffck: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9609)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Omffcgeinlf {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NJJNLJAPMMK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9617)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingActivatedPrivilegeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub adbghkbggjm: u32,
}
/// Obf: BELCKPBEIOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9612)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingActivatedPrivilegeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub adbghkbggjm: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9602)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Plmpglkcgbj {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9606)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bekkpbikini {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfiondmgcop {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub aaidcojplci: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9600)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pichifnmbno {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
    #[prost(oneof = "pichifnmbno::Fdnajjkohbn", tags = "143")]
    pub fdnajjkohbn: ::core::option::Option<pichifnmbno::Fdnajjkohbn>,
}
/// Nested message and enum types in `PICHIFNMBNO`.
pub mod pichifnmbno {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Fdnajjkohbn {
        /// offset: 16
        #[prost(message, tag = "143")]
        Gfggblegkgj(super::Lfiondmgcop),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9575)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gokhekchlel {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9586)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piijeiadmfp {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub pbjjahklnaa: bool,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9571)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Diononbiikn {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub gdimkfnecok: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ioelpddjgfj {
    /// offset: 24
    #[prost(message, optional, tag = "232")]
    pub source: ::core::option::Option<Jlpeicpflmc>,
    #[prost(
        oneof = "ioelpddjgfj::Mmcgbgdjipn",
        tags = "5, 4, 2, 14, 9, 10, 6, 13, 1, 8, 11, 15, 1364, 1520, 1722, 1254, 691, 876, 886, 1229, 1939, 211, 1976, 804, 1732, 550, 860, 548, 1279, 68"
    )]
    pub mmcgbgdjipn: ::core::option::Option<ioelpddjgfj::Mmcgbgdjipn>,
}
/// Nested message and enum types in `IOELPDDJGFJ`.
pub mod ioelpddjgfj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "5")]
        Pjdhbmoippo(super::Gicmoljplgf),
        /// offset: 16
        #[prost(message, tag = "4")]
        Cchbnlobpge(super::Lckbhjbkhnh),
        /// offset: 16
        #[prost(uint32, tag = "2")]
        CurHp(u32),
        /// offset: 16
        #[prost(uint32, tag = "14")]
        RogueMoney(u32),
        /// offset: 16
        #[prost(message, tag = "9")]
        Aghankeaodd(super::Legnlmenmjk),
        /// offset: 16
        #[prost(uint32, tag = "10")]
        Mgkmljhmnmo(u32),
        /// offset: 16
        #[prost(message, tag = "6")]
        Gdffaichldj(super::Ajnjddfgfjl),
        /// offset: 16
        #[prost(message, tag = "13")]
        Becpnbefhgc(super::Iiekkgnjjmc),
        /// offset: 16
        #[prost(message, tag = "1")]
        Pbnofefidfi(super::Ejknedlpmib),
        /// offset: 16
        #[prost(message, tag = "8")]
        Iaoifaadllc(super::Neeahlmkaab),
        /// offset: 16
        #[prost(message, tag = "11")]
        Hoegfmpdbhh(super::Dfflmemfplm),
        /// offset: 16
        #[prost(message, tag = "15")]
        Hlhbogkheeo(super::Fjjpdjaejhc),
        /// offset: 16
        #[prost(message, tag = "1364")]
        Anhdppoaogl(super::Hgcipbfbnko),
        /// offset: 16
        #[prost(uint64, tag = "1520")]
        Elmmnhbecni(u64),
        /// offset: 16
        #[prost(message, tag = "1722")]
        Djolgkgkche(super::Fddnkpjemje),
        /// offset: 16
        #[prost(uint32, tag = "1254")]
        Gcbdadcobae(u32),
        /// offset: 16
        #[prost(uint32, tag = "691")]
        Fojhbimclgc(u32),
        /// offset: 16
        #[prost(message, tag = "876")]
        Cnckehmnjgd(super::Nghepmfilpe),
        /// offset: 16
        #[prost(message, tag = "886")]
        Bjpeegifaea(super::Khgfcnncoga),
        /// offset: 16
        #[prost(message, tag = "1229")]
        Ofcpkkmefke(super::Afdjneohclb),
        /// offset: 16
        #[prost(message, tag = "1939")]
        Napdggdenbm(super::Lgfbmeachpi),
        /// offset: 16
        #[prost(message, tag = "211")]
        Fmigokidkjl(super::Bnhbdmidfcl),
        /// offset: 16
        #[prost(uint32, tag = "1976")]
        Pmfbiglpjja(u32),
        /// offset: 16
        #[prost(message, tag = "804")]
        Onajpgnnlen(super::Ejdpllijdnk),
        /// offset: 16
        #[prost(uint32, tag = "1732")]
        Gdholmibaea(u32),
        /// offset: 16
        #[prost(message, tag = "550")]
        Knaninelanc(super::Eokkhloibim),
        /// offset: 16
        #[prost(message, tag = "860")]
        Beoapfibdlb(super::Khlafmbonnk),
        /// offset: 16
        #[prost(message, tag = "548")]
        Adejokoibhc(super::Jklkcknbhci),
        /// offset: 16
        #[prost(message, tag = "1279")]
        Pjmjapkjina(super::Bfgnnodonfi),
        /// offset: 16
        #[prost(message, tag = "68")]
        Ghicobophol(super::Mbljieelmkn),
    }
}
/// Obf: DBJPOICBGMK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Ioelpddjgfj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phhfogfkdbc {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub card_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gicmoljplgf {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub memghbhggpn: ::prost::alloc::vec::Vec<Phhfogfkdbc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lckbhjbkhnh {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub cur_wave: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub iloodghpobm: ::core::option::Option<Kfoolgfcndn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajnjddfgfjl {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub max_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub bfcnaljdhmp: u32,
    /// offset: 24
    #[prost(uint64, tag = "11")]
    pub iepapopifhh: u64,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iiekkgnjjmc {
    /// offset: 24
    #[prost(uint64, tag = "3")]
    pub kndhhajmbgb: u64,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub bfcnaljdhmp: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub dbodgpboihc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Neeahlmkaab {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub bfcnaljdhmp: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub max_level: u32,
    /// offset: 24
    #[prost(uint64, tag = "14")]
    pub iepapopifhh: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nghepmfilpe {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub bfcnaljdhmp: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub gobmeehnfdc: ::core::option::Option<Akheoaipapa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Khgfcnncoga {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub bfcnaljdhmp: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub pjanejjkoka: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Khlafmbonnk {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jklkcknbhci {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejknedlpmib {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub bfcnaljdhmp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ghpkfacfmml: ::core::option::Option<Gackcpepdaf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjjpdjaejhc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub mkokllkalde: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lgfbmeachpi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub mgjenmkkibj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejdpllijdnk {
    /// offset: 24
    #[prost(uint64, tag = "3")]
    pub chfndagcebk: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jaajapnfmgo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub gcdggblojic: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bnhbdmidfcl {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
    #[prost(oneof = "bnhbdmidfcl::Chjnphdlmkl", tags = "1053")]
    pub chjnphdlmkl: ::core::option::Option<bnhbdmidfcl::Chjnphdlmkl>,
}
/// Nested message and enum types in `BNHBDMIDFCL`.
pub mod bnhbdmidfcl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Chjnphdlmkl {
        /// offset: 24
        #[prost(message, tag = "1053")]
        Dokphnpncpn(super::Jaajapnfmgo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bfgnnodonfi {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eokkhloibim {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub hehiocepeae: ::core::option::Option<Dfflmemfplm>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub geombjdbhdd: ::core::option::Option<Dfflmemfplm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbljieelmkn {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub ocijddblgmh: ::prost::alloc::vec::Vec<Kvp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mojffdoilbn {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub star_num: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub empiebncann: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub score_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub phase_index: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub mnoofepdhoo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmhadfnoigp {
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub is_success: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jojjkjfhmbi: ::prost::alloc::vec::Vec<Mojffdoilbn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Opocangaehj {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub y: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub x: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pgiebmkmece {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub iblecijagbk: ::core::option::Option<Opocangaehj>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub omfgaabelhe: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub score_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub direction: u32,
    /// offset: 24
    #[prost(float, repeated, tag = "13")]
    pub cdmkbchlpab: ::prost::alloc::vec::Vec<f32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Npnaepokpne {
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub coord: ::core::option::Option<Opocangaehj>,
    /// offset: 16
    #[prost(float, repeated, tag = "10")]
    pub liamhnfapnl: ::prost::alloc::vec::Vec<f32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofgleoiijbd {
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub fgkpidlkall: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub jojjkjfhmbi: ::prost::alloc::vec::Vec<Mojffdoilbn>,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub fever: u32,
    /// offset: 56
    #[prost(string, tag = "5")]
    pub fggcaoapgpa: ::prost::alloc::string::String,
    /// offset: 100
    #[prost(uint32, tag = "6")]
    pub hgiicmlanjj: u32,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub hhinbdnifbe: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub gokmdcojphc: ::prost::alloc::vec::Vec<Npnaepokpne>,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub mbfldkedbhn: ::prost::alloc::vec::Vec<Pgiebmkmece>,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub level_id: u32,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub plcpooncfdg: u32,
    /// offset: 48
    #[prost(string, tag = "12")]
    pub nlmeeekbpko: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub business_day: u32,
    /// offset: 88
    #[prost(uint32, tag = "14")]
    pub pgofhklbpkc: u32,
    /// offset: 64
    #[prost(uint32, repeated, tag = "15")]
    pub fjdjchfdifl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JJONBPINLJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9909)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChenLingFesDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgaieeikokk {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub total_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub star_num: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub has_passed: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
/// Obf: LMOPBCHMGFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9923)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChenLingFesDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub pndpceloghg: ::prost::alloc::vec::Vec<Bgaieeikokk>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub laednibcnkf: ::core::option::Option<Ofgleoiijbd>,
}
/// Obf: BBGIFPNDBIO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9937)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelStartCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
/// Obf: HJDCIEFEGIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9944)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelStartScRsp {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub fgkpidlkall: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub nlmeeekbpko: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "9")]
    pub fggcaoapgpa: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub level_id: u32,
}
/// Obf: OFIKFCJEDNP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9919)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelLeaveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: LDANNFAAHIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9948)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelLeaveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub level_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: CLGKHDMKGID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9903)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelResumeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
}
/// Obf: CAJKJIFMGDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9907)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelResumeScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub level_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub fgkpidlkall: u32,
}
/// Obf: JOMKCLPKFHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9910)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesLevelEndCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
}
/// Obf: LDBOCEIMACL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9921)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingFesLevelEndScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub level_data: ::core::option::Option<Dmhadfnoigp>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aabjnonnlml {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub hadihnkdbad: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub index: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub kdiddhidncg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub fkglniahgoa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edhobllobnp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub nelbbcigigf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub obgmkbiomkb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub jjpmdbcpjba: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lecppieienh {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub jjpmdbcpjba: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub fkglniahgoa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub index: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub kdiddhidncg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pgedfobaebc {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub plfmkdocplp: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub omfgaabelhe: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub fcflefoklfd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdlmapacknh {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub didbbocnhbj: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub gocfojjiahl: u32,
}
/// Obf: GAECNILJCEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9924)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingFesBusinessDayEndCsReq {
    /// offset: 120
    #[prost(double, tag = "1")]
    pub happy_progress: f64,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub gokmdcojphc: ::prost::alloc::vec::Vec<Npnaepokpne>,
    /// offset: 72
    #[prost(message, repeated, tag = "3")]
    pub pjgodpmgmeo: ::prost::alloc::vec::Vec<Hdlmapacknh>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub hdngjjildce: ::prost::alloc::vec::Vec<Edhobllobnp>,
    /// offset: 116
    #[prost(uint32, tag = "5")]
    pub cojgecemcfn: u32,
    /// offset: 84
    #[prost(uint32, tag = "7")]
    pub business_day: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub baopbddebkp: ::prost::alloc::vec::Vec<Lecppieienh>,
    /// offset: 112
    #[prost(uint32, tag = "9")]
    pub hphhkjhgmpj: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub mnlcaolgemm: ::prost::alloc::vec::Vec<Pgedfobaebc>,
    /// offset: 96
    #[prost(uint32, tag = "11")]
    pub dbodbbomjad: u32,
    /// offset: 100
    #[prost(uint32, tag = "12")]
    pub ocllapehddh: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "13")]
    pub mbfldkedbhn: ::prost::alloc::vec::Vec<Pgiebmkmece>,
    /// offset: 92
    #[prost(uint32, tag = "14")]
    pub ejeogkpeibf: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub fbnbemecjij: ::prost::alloc::vec::Vec<Aabjnonnlml>,
    /// offset: 108
    #[prost(uint32, tag = "20")]
    pub fever: u32,
    /// offset: 80
    #[prost(uint32, tag = "318")]
    pub business_time: u32,
    /// offset: 104
    #[prost(uint32, tag = "1063")]
    pub fever_cnt_today: u32,
    /// offset: 88
    #[prost(uint32, tag = "2043")]
    pub play_time: u32,
}
/// Obf: NHHKCCGMHEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9920)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingFesBusinessDayEndScRsp {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub fggcaoapgpa: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub fgkpidlkall: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub business_day: u32,
    #[prost(
        oneof = "chen_ling_fes_business_day_end_sc_rsp::Fblhecdehef",
        tags = "1, 15"
    )]
    pub fblhecdehef: ::core::option::Option<
        chen_ling_fes_business_day_end_sc_rsp::Fblhecdehef,
    >,
}
/// Nested message and enum types in `ChenLingFesBusinessDayEndScRsp`.
pub mod chen_ling_fes_business_day_end_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fblhecdehef {
        /// offset: 32
        #[prost(message, tag = "1")]
        Ehihhfmgnhh(super::Dmhadfnoigp),
        /// offset: 32
        #[prost(message, tag = "15")]
        Gaahaoglnpj(super::Mojffdoilbn),
    }
}
/// Obf: GBNDHIOAMDF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9917)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChenLingFesRaidKickedNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gajdpebbfmg {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maninnkmfhg {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfaclogfnjf {
    /// offset: 72
    #[prost(enumeration = "ChessRogueDiceType", tag = "1")]
    pub cebdddjmjij: i32,
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub dglioiekgnp: u32,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub dghepbklkdp: u32,
    /// offset: 76
    #[prost(enumeration = "ChessRogueDiceStatus", tag = "5")]
    pub oacdalinoni: i32,
    /// offset: 96
    #[prost(uint32, tag = "6")]
    pub jdlkmdffmgp: u32,
    /// offset: 85
    #[prost(bool, tag = "9")]
    pub bgdhhjlicfa: bool,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub fladmnikgei: u32,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub bmlmhppldde: u32,
    /// offset: 80
    #[prost(uint32, tag = "12")]
    pub efdmlfgilkk: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub onciogbkppi: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "813")]
    pub bdgmpdlbdgn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(int32, tag = "828")]
    pub cmddpmhcalk: i32,
    /// offset: 16
    #[prost(message, optional, tag = "1346")]
    pub gmdkbgodbcb: ::core::option::Option<Hgciapkelaf>,
    /// offset: 32
    #[prost(message, optional, tag = "1441")]
    pub obladgdfccn: ::core::option::Option<Bmcndlnonmo>,
    /// offset: 84
    #[prost(bool, tag = "1832")]
    pub ihcamlmfaoh: bool,
    /// offset: 40
    #[prost(message, optional, tag = "1971")]
    pub bopghopcfhf: ::core::option::Option<Lmncbidkhlf>,
}
/// Obf: BGJIIBNDFEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5501)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueRollDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mmnmifaahof: u32,
}
/// Obf: OJIELKBDPGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5596)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueRollDiceScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dechjacnlgp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub bjbalpkfele: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfkmnlijmfb {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub gejnmnblflg: ::prost::alloc::vec::Vec<Dechjacnlgp>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub pofbaheecgb: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub is_selected: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jeciogkphfn {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub jjhfhlahlgp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jklcllafhoc {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub mgacflnjlck: ::core::option::Option<Dfkmnlijmfb>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub mkmlkgooamk: ::core::option::Option<Jeciogkphfn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcdonfngmje {
    #[prost(oneof = "mcdonfngmje::Cgifmofgeco", tags = "9, 14, 6")]
    pub cgifmofgeco: ::core::option::Option<mcdonfngmje::Cgifmofgeco>,
}
/// Nested message and enum types in `MCDONFNGMJE`.
pub mod mcdonfngmje {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cgifmofgeco {
        /// offset: 16
        #[prost(message, tag = "9")]
        Mgacflnjlck(super::Dfkmnlijmfb),
        /// offset: 16
        #[prost(message, tag = "14")]
        Mkmlkgooamk(super::Jeciogkphfn),
        /// offset: 16
        #[prost(message, tag = "6")]
        Lpaamnffaib(super::Jklcllafhoc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgmcmakmjdk {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub cfgejhaoked: u32,
    /// offset: 56
    #[prost(enumeration = "ChessRogueCellSpecialType", tag = "2")]
    pub kfemjmkmgij: i32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub jmpmdgjlipf: u32,
    /// offset: 41
    #[prost(bool, tag = "5")]
    pub is_unlock: bool,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub room_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub stage_info: ::core::option::Option<Mcdonfngmje>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub pdkohkkmklf: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub lddhlgindij: bool,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub hlalfnedfed: u32,
    /// offset: 44
    #[prost(enumeration = "ChessRogueBoardCellStatus", tag = "15")]
    pub ejedlgnlohb: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikconcoknan {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub abohpphhpei: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub ghkdajndbba: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub height: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub cppcigmjalm: ::prost::alloc::vec::Vec<Cgmcmakmjdk>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub width: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkdjbpjogpo {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ihaomlephom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejhdhggmila {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub oljcajmfjpo: ::core::option::Option<Lmncbidkhlf>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub lgpjljamjfj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpellhbjgml {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub agijecgibgj: ::prost::alloc::vec::Vec<Gkdjbpjogpo>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub bagnpgngloj: ::core::option::Option<Ejhdhggmila>,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub onkbpkpohec: ::core::option::Option<Ikconcoknan>,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub epohknlfeab: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub aakgdldfiie: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "12")]
    pub aadaflkejgd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkpcdhckhkp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub mdaiamfjnhm: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub gkdcpnlolnf: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub mlldclnmiog: u32,
    /// offset: 36
    #[prost(int32, tag = "11")]
    pub eabefbdojeo: i32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub board: ::core::option::Option<Dpellhbjgml>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmgodfdfpei {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub afemblfccch: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mnmjcnoliii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fjkgdhkkdff {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub jhbfegdpljn: ::prost::alloc::vec::Vec<Dmgodfdfpei>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aemapgkppja {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub fdeebbfmblb: ::core::option::Option<Fjkgdhkkdff>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub oljcajmfjpo: ::core::option::Option<Lmncbidkhlf>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub jppaggpjomo: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub opaegcbnacj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(int32, tag = "15")]
    pub fjciknakjog: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iffehfhakcb {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kchplcfmglf {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub mfeodnjngdp: ::core::option::Option<Gajdpebbfmg>,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub jolegacinnk: ::prost::alloc::vec::Vec<Iffehfhakcb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dlcndckcipc {
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub hifmfmbcodl: bool,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jgccimmedij: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub aafifegkaco: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub hgkbjiaafpc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epddomfgimk {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub opkeholonmj: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Negnnjglfjp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kehklhmeabi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djekegmehlk {
    /// offset: 64
    #[prost(message, optional, tag = "3")]
    pub oeibhlmdjka: ::core::option::Option<Lkpcdhckhkp>,
    /// offset: 88
    #[prost(message, optional, tag = "4")]
    pub dnpccfffbhn: ::core::option::Option<Nhlbnbbdhmi>,
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub fmigokidkjl: ::core::option::Option<Inhbmhcjjcn>,
    /// offset: 112
    #[prost(message, optional, tag = "6")]
    pub afheggdhaoc: ::core::option::Option<Moiokcdlnhe>,
    /// offset: 56
    #[prost(message, optional, tag = "7")]
    pub story_info: ::core::option::Option<Dlcndckcipc>,
    /// offset: 120
    #[prost(uint32, tag = "8")]
    pub dlojfeehlij: u32,
    /// offset: 104
    #[prost(message, optional, tag = "9")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
    /// offset: 80
    #[prost(message, optional, tag = "10")]
    pub habjhgpfgeb: ::core::option::Option<Eglapjgfkpn>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub aefmmohkchj: ::core::option::Option<Aemapgkppja>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub eiohfjmfokf: ::core::option::Option<Kchplcfmglf>,
    /// offset: 96
    #[prost(message, optional, tag = "14")]
    pub dhekljdbnnp: ::core::option::Option<Ageogdogdmm>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub ajpmadhmgml: ::core::option::Option<Epddomfgimk>,
    /// offset: 32
    #[prost(message, optional, tag = "1116")]
    pub eiihjjebkoe: ::core::option::Option<Negnnjglfjp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Himjkamhlmj {
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub febkojodaam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub fdeebbfmblb: ::core::option::Option<Fjkgdhkkdff>,
    /// offset: 56
    #[prost(message, optional, tag = "10")]
    pub ioccacnjigd: ::core::option::Option<Mookmkekmkc>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub eiihjjebkoe: ::core::option::Option<Lpcinmggcni>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "13")]
    pub hkcdkhjcndc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub jcobjampoal: ::core::option::Option<Ddafepbgohk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppagceggcak {
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub febkojodaam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub fdeebbfmblb: ::core::option::Option<Fjkgdhkkdff>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub hkcdkhjcndc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, optional, tag = "11")]
    pub jcobjampoal: ::core::option::Option<Ddafepbgohk>,
    /// offset: 48
    #[prost(message, optional, tag = "14")]
    pub eiihjjebkoe: ::core::option::Option<Lpcinmggcni>,
    /// offset: 64
    #[prost(message, optional, tag = "15")]
    pub ioccacnjigd: ::core::option::Option<Mookmkekmkc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oghpkfmnnhl {
    /// offset: 64
    #[prost(message, optional, tag = "1")]
    pub habjhgpfgeb: ::core::option::Option<Apnccnfjbko>,
    /// offset: 76
    #[prost(enumeration = "Dpbcjgcpmle", tag = "2")]
    pub hcpbmiegdon: i32,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub dnpccfffbhn: ::core::option::Option<Gmijhconfih>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bjdlgbbpfck: ::core::option::Option<LineupInfo>,
    /// offset: 100
    #[prost(uint32, tag = "6")]
    pub mmideameanb: u32,
    /// offset: 108
    #[prost(uint32, tag = "7")]
    pub difficulty: u32,
    /// offset: 84
    #[prost(bool, tag = "8")]
    pub is_finish: bool,
    /// offset: 112
    #[prost(uint32, tag = "9")]
    pub kpdlmkfljai: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "11")]
    pub afgfobplfil: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "12")]
    pub hloccoombgg: u32,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub obbgjafecbe: u32,
    /// offset: 104
    #[prost(uint32, tag = "14")]
    pub admadhcdhje: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub dakedpkjmlb: ::core::option::Option<ItemList>,
    /// offset: 88
    #[prost(uint32, tag = "543")]
    pub olmloehhfcg: u32,
    /// offset: 116
    #[prost(uint32, tag = "711")]
    pub dlojfeehlij: u32,
    /// offset: 72
    #[prost(uint32, tag = "714")]
    pub innapiihjfk: u32,
    /// offset: 120
    #[prost(uint32, tag = "1036")]
    pub oegllhmmbem: u32,
    /// offset: 32
    #[prost(message, optional, tag = "1246")]
    pub afheggdhaoc: ::core::option::Option<Moiokcdlnhe>,
    /// offset: 96
    #[prost(uint32, tag = "1712")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofgjflcbbjp {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub cppcigmjalm: ::prost::alloc::vec::Vec<Cgmcmakmjdk>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub eimflpnfpgm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Chhblfhdfek {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub kpdlmkfljai: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub bmgcceonich: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ephfhkdjkmd {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub aphioealogi: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub jgccimmedij: u32,
}
/// Obf: KKECAFGMONA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5592)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueQueryCsReq {}
/// Obf: NAPNODDGMMI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQueryScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub info: ::core::option::Option<Djekegmehlk>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub minfcklklnj: ::core::option::Option<Oghpkfmnnhl>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub lflcdngalme: ::core::option::Option<Ppagceggcak>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub ihnenegkepo: ::core::option::Option<Himjkamhlmj>,
}
/// Obf: FPFBPLPIADI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5486)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueEnterCellCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub ihaomlephom: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub lofmjhjoelo: u32,
}
/// Obf: HJOPCPPJCHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5482)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterCellScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub info: ::core::option::Option<Djekegmehlk>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
}
/// Obf: KFFNAEDMDOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5406)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueEnterCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub id: u32,
}
/// Obf: CFIJCNENKDP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub info: ::core::option::Option<Djekegmehlk>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: HODPOGNIOOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5583)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueLeaveCsReq {}
/// Obf: JCEAEOGFAAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5563)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLeaveScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ihnenegkepo: ::core::option::Option<Himjkamhlmj>,
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub lflcdngalme: ::core::option::Option<Ppagceggcak>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub aefmmohkchj: ::core::option::Option<Aemapgkppja>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: OMNAOBAFFOM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5441)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueGiveUpCsReq {}
/// Obf: JFKGEOBIHHD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5540)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueGiveUpScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub aefmmohkchj: ::core::option::Option<Aemapgkppja>,
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub minfcklklnj: ::core::option::Option<Oghpkfmnnhl>,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub lflcdngalme: ::core::option::Option<Ppagceggcak>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub ihnenegkepo: ::core::option::Option<Himjkamhlmj>,
    /// offset: 56
    #[prost(message, optional, tag = "14")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
}
/// Obf: AECEEKDICHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5598)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueStartCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub ocegekkflal: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub pdfaheknhnj: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "12")]
    pub jkpipnmggoa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub afemblfccch: u32,
}
/// Obf: IBJJCCDDFLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueStartScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub info: ::core::option::Option<Djekegmehlk>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub hphkdgjhijl: ::core::option::Option<Ofgjflcbbjp>,
}
/// Obf: LLBHIMCMMEH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5588)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueChangeAeonDimensionNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub info: ::core::option::Option<Dmgodfdfpei>,
}
/// Obf: MBJCCOCANEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5423)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueSelectCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ihaomlephom: u32,
}
/// Obf: BGLOEBBLFMI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSelectCellScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub eeghdajohjo: ::core::option::Option<Napfnbjdioo>,
}
/// Obf: MDELKPPJIGF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueLayerSettlement {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub difficulty: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub minfcklklnj: ::core::option::Option<Oghpkfmnnhl>,
}
/// Obf: FOAGKOAJEMD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5505)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoCsReq {}
/// Obf: GBDPDGAHPNK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5454)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueBuffEnhanceInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ilmamlblidl: ::core::option::Option<Aacjbnfgaba>,
}
/// Obf: PBILBBMINBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5487)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnhanceRogueBuffCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub maze_buff_id: u32,
}
/// Obf: JDKJBGGHDBM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5514)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnhanceRogueBuffScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub cnefdjckapl: ::core::option::Option<Kjamnogfamj>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub kgkejakkldp: bool,
}
/// Obf: BEAFKDMJNLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5488)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PickRogueAvatarCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
}
/// Obf: DJHNHHCMKMF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5494)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PickRogueAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LOINLLCCNBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5543)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReviveRogueAvatarCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: OKMIJLHMGCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5550)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReviveRogueAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub mfeodnjngdp: ::core::option::Option<Gajdpebbfmg>,
}
/// Obf: AAGLNICHNPI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateReviveInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub mfeodnjngdp: ::core::option::Option<Gajdpebbfmg>,
}
/// Obf: KAIMCDOLBHO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5580)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateMoneyInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub dhekljdbnnp: ::core::option::Option<Ageogdogdmm>,
}
/// Obf: ECNICHNKEGG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5460)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueUpdateDiceInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
}
/// Obf: GBHDIMGDPJG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5437)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateLevelBaseInfoScNotify {
    /// offset: 28
    #[prost(enumeration = "Iojjcdaplaj", tag = "8")]
    pub reason: i32,
    /// offset: 24
    #[prost(enumeration = "Gdhldnfloof", tag = "10")]
    pub gkdcpnlolnf: i32,
}
/// Obf: LLBOLICFOEA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5520)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateAllowedSelectCellScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub aadaflkejgd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub aihcknampbp: u32,
}
/// Obf: IBIAJJCMNKO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5457)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateAeonModifierValueScNotify {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub afemblfccch: u32,
    /// offset: 24
    #[prost(int32, tag = "11")]
    pub fjciknakjog: i32,
}
/// Obf: MKOHCHDMNOB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5478)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateDicePassiveAccumulateValueScNotify {
    /// offset: 24
    #[prost(int32, tag = "6")]
    pub cgphgibcnoh: i32,
}
/// Obf: LOIBKAPDBMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5483)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelCsReq {}
/// Obf: ALDJHCDPJDH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5445)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueSkipTeachingLevelScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub pdjcahbpklk: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: LGHPBNIKMGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5496)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateUnlockLevelScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub hkcdkhjcndc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LACJDDFOPHD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5529)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueEnterNextLayerCsReq {}
/// Obf: NCMNJNNOLLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5489)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueEnterNextLayerScRsp {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub hphkdgjhijl: ::core::option::Option<Ofgjflcbbjp>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub rogue_game_info: ::core::option::Option<Djekegmehlk>,
}
/// Obf: NHILCEBCOJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5527)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueReRollDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub mmnmifaahof: u32,
}
/// Obf: HCGCPKLMKJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueReRollDiceScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
}
/// Obf: PGBFGLJFLLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5573)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueConfirmRollCsReq {}
/// Obf: LJOLPAOHPBJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5525)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueConfirmRollScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
}
/// Obf: PJFHPHPOIHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5466)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueCheatRollCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ampfbgkhjbf: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub mmnmifaahof: u32,
}
/// Obf: FANIODAOCGG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5410)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCheatRollScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub pohepeefboa: ::core::option::Option<Kfaclogfnjf>,
}
/// Obf: HAHPBCACNDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5434)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueQuitCsReq {}
/// Obf: POCJJMEJDGG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5491)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueQuitScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub oeibhlmdjka: ::core::option::Option<Lkpcdhckhkp>,
    /// offset: 64
    #[prost(message, optional, tag = "5")]
    pub aefmmohkchj: ::core::option::Option<Aemapgkppja>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 56
    #[prost(message, optional, tag = "10")]
    pub ihnenegkepo: ::core::option::Option<Himjkamhlmj>,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub minfcklklnj: ::core::option::Option<Oghpkfmnnhl>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lflcdngalme: ::core::option::Option<Ppagceggcak>,
}
/// Obf: OHKCDFGPCKM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5450)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueCellUpdateNotify {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub aihcknampbp: u32,
    /// offset: 36
    #[prost(enumeration = "RogueModifierSourceType", tag = "7")]
    pub cfaofcgjbma: i32,
    /// offset: 40
    #[prost(enumeration = "Aimcamjabna", tag = "10")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub cppcigmjalm: ::prost::alloc::vec::Vec<Cgmcmakmjdk>,
}
/// Obf: BGEBFHKCINE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5541)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueQuestFinishNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pegkfpikpkp: u32,
}
/// Obf: FDPNKOKGEAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5515)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChessRogueStoryInfoCsReq {}
/// Obf: JILFBOOFKEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub fnklmmaccmj: ::prost::alloc::vec::Vec<Chhblfhdfek>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub poabjdelngh: ::prost::alloc::vec::Vec<Ephfhkdjkmd>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: LAFMDBBAJHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5440)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectChessRogueSubStoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub honcdmkpbeg: u32,
}
/// Obf: NLMIDIGAMEL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5479)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectChessRogueSubStoryScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub rogue_dialogue_event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LBAKHMJIAEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5544)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishChessRogueSubStoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub honcdmkpbeg: u32,
}
/// Obf: NNAGIDCACGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5516)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishChessRogueSubStoryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub kpdlmkfljai: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub honcdmkpbeg: u32,
}
/// Obf: BFAEGAJHHKH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5590)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueUpdateActionPointScNotify {
    /// offset: 24
    #[prost(int32, tag = "5")]
    pub eabefbdojeo: i32,
}
/// Obf: NGIELFOIPHH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5463)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterChessRogueAeonRoomCsReq {}
/// Obf: GPEOIKKBNPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5577)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterChessRogueAeonRoomScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub stage_info: ::core::option::Option<Maninnkmfhg>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: EJPCHNDAMLH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5549)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub oeanpihchhf: u32,
}
/// Obf: LGGIDOJJDCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5458)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueStoryAeonTalkInfoScRsp {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "4")]
    pub ldpajkiepip: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub oeanpihchhf: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NJBNBKMNBOP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5469)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncChessRogueMainStoryFinishScNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub kpdlmkfljai: u32,
}
/// Obf: MIAFPKGAMOM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5431)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncChessRogueNousValueScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ajpmadhmgml: ::core::option::Option<Epddomfgimk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjbodopjfga {
    /// offset: 24
    #[prost(enumeration = "Filmjjmebja", tag = "2")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub kpdlmkfljai: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bkjcadfchab {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub honcdmkpbeg: u32,
}
/// Obf: PCFHMPGKDBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5545)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoCsReq {}
/// Obf: LLELJOADLPI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5474)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetChessRogueNousStoryInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub fnklmmaccmj: ::prost::alloc::vec::Vec<Pjbodopjfga>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub poabjdelngh: ::prost::alloc::vec::Vec<Bkjcadfchab>,
}
/// Obf: IFOFLHFKMKB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5582)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncChessRogueNousSubStoryScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub honcdmkpbeg: u32,
}
/// Obf: FAKMBJPPIIB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5421)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChessRogueNousMainStoryScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub fnklmmaccmj: ::prost::alloc::vec::Vec<Pjbodopjfga>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moiokcdlnhe {
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub idcjmpmjhgc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub eknoajjdpmm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 57
    #[prost(bool, tag = "7")]
    pub hifmfmbcodl: bool,
    /// offset: 56
    #[prost(bool, tag = "8")]
    pub lkdogpnpgpf: bool,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub honcdmkpbeg: u32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub kpdlmkfljai: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub gblljkfoidk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ocghbanlloh {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ampfbgkhjbf: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dice_slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgciapkelaf {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub pdfaheknhnj: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ahngminodkg: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub lflfekeaocl: ::prost::alloc::vec::Vec<Ocghbanlloh>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub mabfmafceoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mookmkekmkc {
    /// offset: 16
    #[prost(map = "uint32, bool", tag = "1")]
    pub pegdmomcfad: ::std::collections::HashMap<u32, bool>,
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub bilcgenigjm: ::prost::alloc::vec::Vec<Hgciapkelaf>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub adlkmlfofpf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddafepbgohk {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub gmildfjfogd: ::core::option::Option<Fdbdlbapdbe>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub fpccpkaogkg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpcinmggcni {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub khcanakmbdj: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IACEIJKMLLN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5546)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ioccacnjigd: ::core::option::Option<Hgciapkelaf>,
}
/// Obf: LJBHHFGLKPD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5480)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEditDiceScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ioccacnjigd: ::core::option::Option<Hgciapkelaf>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: GAJPFLOMGEP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5455)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousDiceUpdateNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ddhkagclblh: ::core::option::Option<Mookmkekmkc>,
}
/// Obf: DFBBBKADPDI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5408)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueNousDiceSurfaceUnlockNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hbkeebkfbfi: u32,
}
/// Obf: JCLGDGOJJLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5513)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoCsReq {}
/// Obf: IHHJCBBEAGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5453)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousGetRogueTalentInfoScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub fpccpkaogkg: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
}
/// Obf: AJCICECLDKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5446)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ckhclkoalke: u32,
}
/// Obf: GGGFNBNGIIP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5586)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChessRogueNousEnableRogueTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub fpccpkaogkg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edkjelmponh {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub heffponlego: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cochllcndjf {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub cdgnajdagke: ::prost::alloc::vec::Vec<Edkjelmponh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npdkagocolg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub eacebomjkjh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gadffiffnhm {
    /// offset: 44
    #[prost(bool, tag = "5")]
    pub amhajdnfbgc: bool,
    /// offset: 40
    #[prost(int32, tag = "8")]
    pub atk: i32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub cdgnajdagke: ::core::option::Option<Cochllcndjf>,
    /// offset: 48
    #[prost(int32, tag = "10")]
    pub hp: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub iielajffdpb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gcfgchamnol {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub pgffgkdopgm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub cmeknajonph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onnmllieeni {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub finish_work_cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub idbdbicpbbg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dejgmbkphec {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub mbnbfbnklgh: u32,
    /// offset: 24
    #[prost(int32, tag = "3")]
    pub attack: i32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fgecddfbfoj: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub index: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub diecmlhjcfe: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub dkhcohkfkfa: u32,
    /// offset: 28
    #[prost(int32, tag = "12")]
    pub hp: i32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub ebmjgpmhdmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfbjnfjhkpo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub bphneolckad: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub total_turns: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub total_auto_turns: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub lplliiclchb: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub cost_time: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub total_damage: u32,
}
/// Obf: BILENDACAMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8178)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraGetDataCsReq {}
/// Obf: BBHANDBNKEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8168)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraGetDataScRsp {
    /// offset: 108
    #[prost(uint32, tag = "1")]
    pub finish_work_cnt: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub hcendlkkhoc: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub cmbjolcgmai: ::prost::alloc::vec::Vec<Onnmllieeni>,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub iomeildmbne: u32,
    /// offset: 84
    #[prost(uint32, tag = "6")]
    pub pigpkidnmdh: u32,
    /// offset: 60
    #[prost(enumeration = "Hdiokenofnj", tag = "7")]
    pub hfpgdcjmnik: i32,
    /// offset: 92
    #[prost(uint32, tag = "8")]
    pub mmfkmegecoi: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "9")]
    pub icbimkieoep: ::prost::alloc::vec::Vec<u32>,
    /// offset: 104
    #[prost(uint32, tag = "10")]
    pub imcgjpmbppj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub jcoagojeapb: ::prost::alloc::vec::Vec<Gadffiffnhm>,
    /// offset: 96
    #[prost(uint32, tag = "12")]
    pub jidbimnmljp: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub fbnekmpiakd: u32,
    /// offset: 72
    #[prost(uint32, tag = "1180")]
    pub enmlpfbmpni: u32,
    /// offset: 76
    #[prost(uint32, tag = "1244")]
    pub nmpcjaoiohj: u32,
    /// offset: 68
    #[prost(uint32, tag = "1379")]
    pub kccacinbeea: u32,
    /// offset: 100
    #[prost(uint32, tag = "1587")]
    pub ggpkmpbbenp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eialjhkfnkg {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8172)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mfffeokdoae {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihbolkmeemg {
    /// offset: 56
    #[prost(message, repeated, tag = "2")]
    pub fjlpligmphb: ::prost::alloc::vec::Vec<Dejgmbkphec>,
    /// offset: 64
    #[prost(map = "uint32, uint32", tag = "3")]
    pub jejbodagoij: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub pkkggligkkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub epjbfaepfni: u32,
    /// offset: 72
    #[prost(enumeration = "ChimeraRoundWorkEndReason", tag = "11")]
    pub end_reason: i32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "14")]
    pub dlfjejinbbc: ::std::collections::HashMap<u32, Cochllcndjf>,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub stt: ::core::option::Option<Hfbjnfjhkpo>,
}
/// Obf: OKKLBJGHEGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8177)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishRound {
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub hcendlkkhoc: u32,
    /// offset: 68
    #[prost(enumeration = "Hdiokenofnj", tag = "4")]
    pub hfpgdcjmnik: i32,
    /// offset: 48
    #[prost(map = "uint32, message", tag = "5")]
    pub gmhemnikfmo: ::std::collections::HashMap<u32, Cochllcndjf>,
    /// offset: 56
    #[prost(message, repeated, tag = "6")]
    pub pkiapmiajha: ::prost::alloc::vec::Vec<Gadffiffnhm>,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub finish_work_cnt: u32,
    /// offset: 72
    #[prost(enumeration = "ChimeraRoundWorkEndReason", tag = "8")]
    pub end_reason: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub icbimkieoep: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub imcgjpmbppj: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "12")]
    pub cmbjolcgmai: ::prost::alloc::vec::Vec<Onnmllieeni>,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub jidbimnmljp: u32,
    /// offset: 16
    #[prost(map = "uint32, message", tag = "14")]
    pub gclaioiingf: ::std::collections::HashMap<u32, Npdkagocolg>,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub ggpkmpbbenp: u32,
}
/// Obf: KNFECAFMDII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8165)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraStartEndlessCsReq {}
/// Obf: KNPELGIAMKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8164)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraStartEndlessScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BPOMECJONGO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8171)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundCsReq {
    /// offset: 56
    #[prost(bool, tag = "2")]
    pub cjeildioioe: bool,
    /// offset: 48
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub pkkggligkkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub nmpcjaoiohj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub fjlpligmphb: ::prost::alloc::vec::Vec<Dejgmbkphec>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub stt: ::core::option::Option<Hfbjnfjhkpo>,
}
/// Obf: LEOEMHHIANI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraFinishEndlessRoundScRsp {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub mmfkmegecoi: u32,
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub pigpkidnmdh: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub nmpcjaoiohj: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub ebdockllkmi: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub iomeildmbne: u32,
    /// offset: 44
    #[prost(bool, tag = "12")]
    pub cjeildioioe: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub dkmkpfdnebl: ::prost::alloc::vec::Vec<Gadffiffnhm>,
}
/// Obf: AEDJDBAJGHH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8161)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraQuitEndlessCsReq {}
/// Obf: KHNHDFIJGPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8169)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraQuitEndlessScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: OIIDOJCEEDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8180)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundCsReq {
    /// offset: 56
    #[prost(bool, tag = "1")]
    pub cjeildioioe: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub pkkggligkkn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<Hfbjnfjhkpo>,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub nmpcjaoiohj: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub fjlpligmphb: ::prost::alloc::vec::Vec<Dejgmbkphec>,
}
/// Obf: MBMLAIKPEEK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8170)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDoFinalRoundScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub dkmkpfdnebl: ::prost::alloc::vec::Vec<Gadffiffnhm>,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub index: u32,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub cjeildioioe: bool,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub enmlpfbmpni: u32,
    /// offset: 68
    #[prost(uint32, tag = "9")]
    pub hcendlkkhoc: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub ggpkmpbbenp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub cmbjolcgmai: ::prost::alloc::vec::Vec<Onnmllieeni>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub finish_work_cnt: u32,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub nmpcjaoiohj: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8167)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jhichkbdmic {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub fjlpligmphb: ::prost::alloc::vec::Vec<Dejgmbkphec>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub dcoonccikgl: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub lineup: ::core::option::Option<Gcfgchamnol>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub fhckfmdkppo: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8174)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lbmlolgehim {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hnaoomkgfcb {
    /// offset: 24
    #[prost(enumeration = "Pdhffpojnjg", tag = "1")]
    pub source_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub llmhaeapgon: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub bhccdffbaam: u32,
}
/// Obf: NEBJABOEDND
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelPlayerRankData {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcboleafmdn {
    /// offset: 56
    #[prost(message, repeated, tag = "1")]
    pub gnjgpfdklbh: ::prost::alloc::vec::Vec<Mafdlbfijmb>,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub aaimonalopd: ::core::option::Option<ChimeraDuelPlayerRankData>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub ngbakcigbmn: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub pggooinmolf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "8")]
    pub cifflebcfgk: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub folmlbolgem: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "11")]
    pub haklmiaencf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub fglekndhmkn: u32,
    /// offset: 76
    #[prost(uint32, tag = "15")]
    pub defhfaglmlc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjnhikigkjc {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nhdgnbkbndb {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub equip: ::core::option::Option<Jjnhikigkjc>,
    /// offset: 48
    #[prost(int32, tag = "4")]
    pub gifjodbplpj: i32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub fgecddfbfoj: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub lleogllhclk: u32,
    /// offset: 32
    #[prost(int32, tag = "12")]
    pub oeeipjdnmok: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glldhghjloa {
    /// offset: 40
    #[prost(string, tag = "2")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub ipinhnfcioe: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub bcgoaipkgik: ::prost::alloc::vec::Vec<Nhdgnbkbndb>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub hp: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub kimkennlheh: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub head_icon: u32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbdlcojkgmi {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub phlamkcllkp: ::core::option::Option<Glldhghjloa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kghddibdabp {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub is_locked: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub grid_fight_equipment_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub ipaobkonifl: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ndjgkjmpphj: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fgecddfbfoj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmojmnkoill {
    /// offset: 25
    #[prost(bool, tag = "6")]
    pub is_locked: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub agbaifpnkii: u32,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub ifigfodopbb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Poaciacejjn {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub dkcmmmpneme: ::prost::alloc::vec::Vec<Kghddibdabp>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub lcjfdchinhl: ::prost::alloc::vec::Vec<Dmojmnkoill>,
}
/// Obf: ILHGAACMJHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9243)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopBuyChimeraCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub fmmiciheocm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub kodoohhpikn: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub gckfooiehha: u32,
}
/// Obf: CPMDNMMDCCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9216)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopBuyChimeraScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: INJCCMKJICJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9212)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopBuyItemCsReq {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub agbaifpnkii: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub jhinlpckmpk: u32,
}
/// Obf: LAOFKEIIEPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9224)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopBuyItemScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: MBOEOEFGEBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9245)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopLockCsReq {
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub is_locked: bool,
    #[prost(oneof = "chimera_duel_shop_lock_cs_req::Kknboacncon", tags = "9, 1")]
    pub kknboacncon: ::core::option::Option<chimera_duel_shop_lock_cs_req::Kknboacncon>,
}
/// Nested message and enum types in `ChimeraDuelShopLockCsReq`.
pub mod chimera_duel_shop_lock_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(uint32, tag = "9")]
        Ndjgkjmpphj(u32),
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Agbaifpnkii(u32),
    }
}
/// Obf: NKNIPLOMJMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9225)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopLockScRsp {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub is_locked: bool,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    #[prost(oneof = "chimera_duel_shop_lock_sc_rsp::Kknboacncon", tags = "4, 3")]
    pub kknboacncon: ::core::option::Option<chimera_duel_shop_lock_sc_rsp::Kknboacncon>,
}
/// Nested message and enum types in `ChimeraDuelShopLockScRsp`.
pub mod chimera_duel_shop_lock_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(uint32, tag = "4")]
        Ndjgkjmpphj(u32),
        /// offset: 24
        #[prost(uint32, tag = "3")]
        Agbaifpnkii(u32),
    }
}
/// Obf: JLAIAPGBEIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9223)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopRefreshCsReq {}
/// Obf: KIDHDGNADCF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9218)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelShopRefreshScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lceddgelbmj {
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub ipinhnfcioe: u32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub kimkennlheh: u32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub idnhbbmlnjk: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub nmpabpjhgpe: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub jgphdbdhkko: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub bajhkgjpfed: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub bcgoaipkgik: ::prost::alloc::vec::Vec<Nhdgnbkbndb>,
    /// offset: 76
    #[prost(uint32, tag = "14")]
    pub hp: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub hgkdhjhkfbp: ::prost::alloc::vec::Vec<u32>,
    #[prost(oneof = "lceddgelbmj::Papiiimekdd", tags = "982, 1596")]
    pub papiiimekdd: ::core::option::Option<lceddgelbmj::Papiiimekdd>,
}
/// Nested message and enum types in `LCEDDGELBMJ`.
pub mod lceddgelbmj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Papiiimekdd {
        /// offset: 24
        #[prost(message, tag = "982")]
        Hkffigbbfae(super::Poaciacejjn),
        /// offset: 24
        #[prost(message, tag = "1596")]
        Pjckobnpfcb(super::Bbdlcojkgmi),
    }
}
/// Obf: DGNHKIDECGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9219)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelGetDataCsReq {}
/// Obf: ALDPPBAIOEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub cfdiklbinhk: ::core::option::Option<Lceddgelbmj>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub cofpfidnonn: ::core::option::Option<Pcboleafmdn>,
}
/// Obf: LJLKLNBNHLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9229)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelUnlockMasterCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ipinhnfcioe: u32,
}
/// Obf: FCIGOCFOGHK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9258)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelUnlockMasterScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ipinhnfcioe: u32,
}
/// Obf: CKMAAIACPBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9213)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelStartGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ipinhnfcioe: u32,
}
/// Obf: MKBBBFIDNNE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9217)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelStartGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub cfdiklbinhk: ::core::option::Option<Lceddgelbmj>,
}
/// Obf: AHBDLPFDPGA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9220)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelEndRoundShopStageCsReq {}
/// Obf: NFPFNFPDFGK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9231)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundShopStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cfdiklbinhk: ::core::option::Option<Lceddgelbmj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebpbmfbfeja {
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub enfkeaegpbj: bool,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub fglekndhmkn: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub cfdiklbinhk: ::core::option::Option<Lceddgelbmj>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub aaimonalopd: ::core::option::Option<ChimeraDuelPlayerRankData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kelkompbona {
    /// offset: 36
    #[prost(int32, tag = "1")]
    pub hp: i32,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub index: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub fgecddfbfoj: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub dkhcohkfkfa: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub ebmjgpmhdmk: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub grid_fight_equipment_id: u32,
    /// offset: 32
    #[prost(enumeration = "Kpepghlknfg", tag = "10")]
    pub status: i32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub diecmlhjcfe: u32,
    /// offset: 64
    #[prost(int32, tag = "12")]
    pub atk: i32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub mbnbfbnklgh: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ndlbffkagbn {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub total_auto_turns: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub odibdclgkbe: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub total_turns: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub lplliiclchb: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub bphneolckad: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub mhdbnnkhbbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idgmaldabbe {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub total_damage: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub iifpjknclgf: ::prost::alloc::vec::Vec<Kelkompbona>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub nmpgpdmhkam: ::core::option::Option<Ndlbffkagbn>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub cost_time: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub eecahbhndhc: ::prost::alloc::vec::Vec<Kelkompbona>,
}
/// Obf: FIPOBGFFNKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9234)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundBattleStageCsReq {
    /// offset: 32
    #[prost(enumeration = "Diikfknehhg", tag = "4")]
    pub nonpimddjnn: i32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<Idgmaldabbe>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub milmhpodlbb: u32,
}
/// Obf: EKICGMEHNGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndRoundBattleStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(enumeration = "Diikfknehhg", tag = "12")]
    pub nonpimddjnn: i32,
    #[prost(
        oneof = "chimera_duel_end_round_battle_stage_sc_rsp::Kknboacncon",
        tags = "1274, 1115"
    )]
    pub kknboacncon: ::core::option::Option<
        chimera_duel_end_round_battle_stage_sc_rsp::Kknboacncon,
    >,
}
/// 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 Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "1274")]
        Cfdiklbinhk(super::Lceddgelbmj),
        /// offset: 24
        #[prost(message, tag = "1115")]
        Cecfdncdbei(super::Ebpbmfbfeja),
    }
}
/// Obf: NHNFGOJKPDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9227)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelEndGameCsReq {}
/// Obf: ABDJMGPOAOK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelEndGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub cecfdncdbei: ::core::option::Option<Ebpbmfbfeja>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Giepfaipadi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub fmmiciheocm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjjhcdgndpd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub jjojffaoedi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub acckecihcgj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjkohcpbgal {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub source: ::core::option::Option<Hnaoomkgfcb>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub fliedgkfnol: u32,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub lheobndkghd: ::core::option::Option<Giepfaipadi>,
    #[prost(oneof = "jjkohcpbgal::Bhnpklcndng", tags = "661, 491, 1931")]
    pub bhnpklcndng: ::core::option::Option<jjkohcpbgal::Bhnpklcndng>,
}
/// Nested message and enum types in `JJKOHCPBGAL`.
pub mod jjkohcpbgal {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bhnpklcndng {
        /// offset: 32
        #[prost(enumeration = "super::Bdejgkkacma", tag = "661")]
        Llcoepjfgpe(i32),
        /// offset: 32
        #[prost(uint32, tag = "491")]
        Bnccmegjonf(u32),
        /// offset: 32
        #[prost(message, tag = "1931")]
        Iaeckedodef(super::Fjjhcdgndpd),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cjhocmlpmjd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flopnjfnaog {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub jooeekmdaeo: ::core::option::Option<Poaciacejjn>,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub nbhldbbbppa: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgedknlbcan {
    #[prost(
        oneof = "lgedknlbcan::Mmcgbgdjipn",
        tags = "14, 13, 12, 10, 7, 11, 9, 2, 5, 8, 6"
    )]
    pub mmcgbgdjipn: ::core::option::Option<lgedknlbcan::Mmcgbgdjipn>,
}
/// Nested message and enum types in `LGEDKNLBCAN`.
pub mod lgedknlbcan {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(message, tag = "14")]
        Alpkknkafbg(super::Jjkohcpbgal),
        /// offset: 24
        #[prost(uint32, tag = "13")]
        Pbcghkngbfc(u32),
        /// offset: 24
        #[prost(message, tag = "12")]
        Pfobplcgggi(super::Nhdgnbkbndb),
        /// offset: 24
        #[prost(uint32, tag = "10")]
        Kbpjkiebbon(u32),
        /// offset: 24
        #[prost(message, tag = "7")]
        Kjhmpboigge(super::Flopnjfnaog),
        /// offset: 24
        #[prost(message, tag = "11")]
        Ficfioenben(super::Cjhocmlpmjd),
        /// offset: 24
        #[prost(uint32, tag = "9")]
        Gckfooiehha(u32),
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Hfokekmcobp(u32),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        Cifflebcfgk(u32),
        /// offset: 24
        #[prost(message, tag = "8")]
        Bhppapongoe(super::Mafdlbfijmb),
        /// offset: 24
        #[prost(uint32, tag = "6")]
        Ngbakcigbmn(u32),
    }
}
/// Obf: BDLPMPLGLPF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9228)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSyncChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Lgedknlbcan>,
}
/// Obf: FPPLEPMEEHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9253)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelChangeLineupCsReq {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub aljojidaapc: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub giecffndleb: u32,
}
/// Obf: HIFFJEEAFAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9250)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelChangeLineupScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GELEDBJOGNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9236)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSellChimeraCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ndjgkjmpphj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HGEBBOPADLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9255)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSellChimeraScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ndjgkjmpphj: u32,
}
/// Obf: KGCGPFEOCBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9249)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSelectGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub fglekndhmkn: u32,
}
/// Obf: KNIBJEJBDLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9257)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSelectGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub fglekndhmkn: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pncngiamlca {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub ipinhnfcioe: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ajfjlckpnam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub bcgoaipkgik: ::prost::alloc::vec::Vec<Nhdgnbkbndb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mafdlbfijmb {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub lineup: ::core::option::Option<Pncngiamlca>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub slot: u32,
}
/// Obf: EINFHDNDOHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9252)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSaveFriendPvpLineupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub slot: u32,
}
/// Obf: GDFEPBJJBJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9232)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelSaveFriendPvpLineupScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub slot: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<Pncngiamlca>,
}
/// Obf: LMOAEPFPCAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9242)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSetFriendDefendLineupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub slot: u32,
}
/// Obf: IALCLGBDMBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9246)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelSetFriendDefendLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub slot: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GHDNIIFHFGB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9240)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelGetFriendListCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpphiojnkgb {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub lineup: ::core::option::Option<Pncngiamlca>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub score_id: u32,
}
/// Obf: KNKGKMFEHLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9215)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChimeraDuelGetFriendListScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub friend_list: ::prost::alloc::vec::Vec<Mpphiojnkgb>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: BALPIPIDLDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9251)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelFinishMasterChallengeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ipinhnfcioe: u32,
}
/// Obf: APNJBEGDHNJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9222)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChimeraDuelFinishMasterChallengeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ipinhnfcioe: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MPGLAPAHADP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9498)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseDeliveryGetDataCsReq {}
/// Obf: MEAJJFGMAPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9488)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseDeliveryGetDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub pcojlmkpael: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: LLGOONIKLAJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9483)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChooseDeliveryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub ihfnfdklfic: u32,
}
/// Obf: EDLIDAKBKMK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9492)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChooseDeliveryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ihfnfdklfic: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9840)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hmmhdekahea {
    #[prost(oneof = "hmmhdekahea::Nebnjdmfelo", tags = "10")]
    pub nebnjdmfelo: ::core::option::Option<hmmhdekahea::Nebnjdmfelo>,
}
/// Nested message and enum types in `HMMHDEKAHEA`.
pub mod hmmhdekahea {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nebnjdmfelo {
        /// offset: 16
        #[prost(bool, tag = "10")]
        Ihpjddciidb(bool),
    }
}
/// Obf: HEENDFJBHCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7209)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkGetInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Degffgkmfjj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub cfjogmjihoe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub script_id: u32,
}
/// Obf: LJDPBAPPHGO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7223)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub dcgdhfjlhcn: ::prost::alloc::vec::Vec<Degffgkmfjj>,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub lnkakgocaof: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub cdgichdiihh: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub hpeklhnpdaj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HAEIIKKNAON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7219)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkUnlockTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ckhclkoalke: u32,
}
/// Obf: LENKELHGNBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7248)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkUnlockTalentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ckhclkoalke: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: OMPIKFLGMCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7203)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkStartScriptCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub bdgmnpijddl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub script_id: u32,
}
/// Obf: NBNMKLMOILM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7207)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkStartScriptScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub script_id: u32,
}
/// Obf: MNFBAGBGMGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7210)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cnoaggfcdal {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nijhccnmega {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub npcbecnbijk: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub kcnekeggagg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub card_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iimhlpbeddh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub kcnekeggagg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub lonfkfcfdnd: ::prost::alloc::vec::Vec<Nijhccnmega>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pegdbkdljdj {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nikcdpgkklf {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kocbhdokfnf {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ieficanecdh {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ndnhcfbfpmh: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub gacha_random: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffdljdageml {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fofgkmonjhj {
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub oekkajjegak: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mddikngbppl {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub jgphdbdhkko: u32,
    #[prost(oneof = "mddikngbppl::Eefkmmobnoj", tags = "14, 3, 2, 13, 8, 9, 12, 1")]
    pub eefkmmobnoj: ::core::option::Option<mddikngbppl::Eefkmmobnoj>,
}
/// Nested message and enum types in `MDDIKNGBPPL`.
pub mod mddikngbppl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Eefkmmobnoj {
        /// offset: 24
        #[prost(message, tag = "14")]
        Icpmabkblcd(super::Cnoaggfcdal),
        /// offset: 24
        #[prost(message, tag = "3")]
        Fdnlipkgblm(super::Pegdbkdljdj),
        /// offset: 24
        #[prost(message, tag = "2")]
        Abipnabidpe(super::Nikcdpgkklf),
        /// offset: 24
        #[prost(message, tag = "13")]
        Bpmebjhdofc(super::Kocbhdokfnf),
        /// offset: 24
        #[prost(message, tag = "8")]
        Hghbdacdjkp(super::Ieficanecdh),
        /// offset: 24
        #[prost(message, tag = "9")]
        Dlngpbmgmkm(super::Ffdljdageml),
        /// offset: 24
        #[prost(message, tag = "12")]
        Beljjjllcbk(super::Fofgkmonjhj),
        /// offset: 24
        #[prost(bool, tag = "1")]
        Alfnniimblm(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lobfokckpkb {
    /// offset: 28
    #[prost(int32, tag = "10")]
    pub pnoijpdmcpg: i32,
    /// offset: 32
    #[prost(int32, tag = "13")]
    pub akklilnjcpl: i32,
    /// offset: 24
    #[prost(int32, tag = "14")]
    pub jekohihjfmk: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Famlghghiod {
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub unique_id: u64,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub nojlmnmpkdp: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub buff_id: u32,
}
/// Obf: OBINJKCBALC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkBuffList {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<Famlghghiod>,
}
/// Obf: LKADELHADBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7221)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkGetOngoingScriptInfoScRsp {
    /// offset: 48
    #[prost(uint32, repeated, tag = "1")]
    pub fknboiimfld: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub habjhgpfgeb: ::core::option::Option<ClockParkBuffList>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub indjeoajjen: u32,
    /// offset: 88
    #[prost(uint32, tag = "7")]
    pub gigaefckiak: u32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub hgdljdafhli: ::core::option::Option<Mddikngbppl>,
    /// offset: 68
    #[prost(uint32, tag = "9")]
    pub script_id: u32,
    /// offset: 84
    #[prost(uint32, tag = "10")]
    pub jippmkbdjjc: u32,
    /// offset: 80
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 76
    #[prost(uint32, tag = "12")]
    pub dcahjelnjnp: u32,
    /// offset: 32
    #[prost(string, tag = "13")]
    pub imjflckfjgf: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "14")]
    pub ngbjmehdkhn: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub jofjeiflgbp: ::core::option::Option<Lobfokckpkb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nkoccglhoml {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjaiagdnpgc {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ceniobbijmf: ::core::option::Option<Iimhlpbeddh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aigedicfhce {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub imgllibjapc: u32,
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Camlfncbfhi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igjllhmjkpc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub gacha_random: u32,
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub imkgokgkdph: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajnkadcokol {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub imgllibjapc: u32,
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moemkblckko {}
/// Obf: DJKMDMLOOOD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7224)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationCsReq {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub jgphdbdhkko: u32,
    #[prost(
        oneof = "clock_park_handle_wait_operation_cs_req::Limeojambpk",
        tags = "10, 1, 14, 13, 15, 11, 2, 8"
    )]
    pub limeojambpk: ::core::option::Option<
        clock_park_handle_wait_operation_cs_req::Limeojambpk,
    >,
}
/// Nested message and enum types in `ClockParkHandleWaitOperationCsReq`.
pub mod clock_park_handle_wait_operation_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Limeojambpk {
        /// offset: 16
        #[prost(message, tag = "10")]
        Iknekejeglm(super::Nkoccglhoml),
        /// offset: 16
        #[prost(message, tag = "1")]
        Jfajebgkpeh(super::Kjaiagdnpgc),
        /// offset: 16
        #[prost(message, tag = "14")]
        Dikedlhgdjj(super::Aigedicfhce),
        /// offset: 16
        #[prost(message, tag = "13")]
        Kboglmplnai(super::Camlfncbfhi),
        /// offset: 16
        #[prost(message, tag = "15")]
        Ejlkeglkgdn(super::Igjllhmjkpc),
        /// offset: 16
        #[prost(message, tag = "11")]
        Aciopoijnef(super::Ajnkadcokol),
        /// offset: 16
        #[prost(message, tag = "2")]
        Mlhnhafplkd(super::Moemkblckko),
        /// offset: 16
        #[prost(uint32, tag = "8")]
        Gigaefckiak(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gipbhlbfdah {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub dcahjelnjnp: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub script_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub ngbjmehdkhn: u32,
    /// offset: 33
    #[prost(bool, tag = "7")]
    pub dmneacgehec: bool,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub hgpkmhfpmbj: bool,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: CLDLKNMOOOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkHandleWaitOperationScRsp {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub dmnecekolaj: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub igbhcbnkebo: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub jgphdbdhkko: u32,
    /// offset: 40
    #[prost(enumeration = "ClockParkPlayStatus", tag = "13")]
    pub lnpghcldokg: i32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7217)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gediccggdgi {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub mhicfgappnb: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7229)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ifegahjadhg {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7202)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ompemghmdpm {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub jgphdbdhkko: u32,
}
/// Obf: PGHBOPEOBHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7235)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pghbopeobha {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "4")]
    pub unique_id: u64,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub jgphdbdhkko: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7215)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onnhchdgbab {
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub jgphdbdhkko: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub habjhgpfgeb: ::core::option::Option<ClockParkBuffList>,
    #[prost(oneof = "onnhchdgbab::Bahfdooagpp", tags = "1877, 992")]
    pub bahfdooagpp: ::core::option::Option<onnhchdgbab::Bahfdooagpp>,
}
/// Nested message and enum types in `ONNHCHDGBAB`.
pub mod onnhchdgbab {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bahfdooagpp {
        /// offset: 24
        #[prost(message, tag = "1877")]
        Ceniobbijmf(super::Iimhlpbeddh),
        /// offset: 24
        #[prost(message, tag = "992")]
        Jofjeiflgbp(super::Lobfokckpkb),
    }
}
/// Obf: KMGDKPACAED
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClockParkFinishScriptScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub nleomlnokcc: ::core::option::Option<Gipbhlbfdah>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Item {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub promotion: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub main_affix_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemList {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub item_list: ::prost::alloc::vec::Vec<Item>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PileItem {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub item_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ItemCost {
    #[prost(oneof = "item_cost::Item", tags = "10, 5, 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, Eq, Hash, ::prost::Oneof)]
    pub enum Item {
        /// offset: 24
        #[prost(message, tag = "10")]
        PileItem(super::PileItem),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        EquipmentUniqueId(u32),
        /// offset: 24
        #[prost(uint32, tag = "9")]
        RelicUniqueId(u32),
    }
}
/// Obf: ItemCostData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ItemCostData {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<ItemCost>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gjjnnbkcjkf {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njpjkjbmkgb {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub rank: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub tid: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub promotion: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hokmninjpbp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub tid: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub main_affix_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
}
/// Obf: Relic
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Relic {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 64
    #[prost(bool, tag = "3")]
    pub is_discarded: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub reforge_sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub main_affix_id: u32,
    /// offset: 76
    #[prost(uint32, tag = "7")]
    pub level: u32,
    /// offset: 72
    #[prost(uint32, tag = "8")]
    pub tid: u32,
    /// offset: 65
    #[prost(bool, tag = "10")]
    pub is_protected: bool,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub dress_avatar_id: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub preview_sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub reforge_block_sub_affix_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbkobpdkfoa {
    #[prost(oneof = "gbkobpdkfoa::Fjianhmabab", tags = "2, 5, 7")]
    pub fjianhmabab: ::core::option::Option<gbkobpdkfoa::Fjianhmabab>,
}
/// Nested message and enum types in `GBKOBPDKFOA`.
pub mod gbkobpdkfoa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fjianhmabab {
        /// offset: 16
        #[prost(message, tag = "2")]
        Fnjbfpaloao(super::Gjjnnbkcjkf),
        /// offset: 16
        #[prost(message, tag = "5")]
        Pagpnoklnom(super::Njpjkjbmkgb),
        /// offset: 16
        #[prost(message, tag = "7")]
        Lcmaddimion(super::Hokmninjpbp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MotionInfo {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub pos: ::core::option::Option<Vector>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub rot: ::core::option::Option<Vector>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Vector4 {
    /// offset: 36
    #[prost(float, tag = "6")]
    pub z: f32,
    /// offset: 28
    #[prost(float, tag = "8")]
    pub w: f32,
    /// offset: 24
    #[prost(float, tag = "9")]
    pub x: f32,
    /// offset: 32
    #[prost(float, tag = "10")]
    pub y: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneMonsterWaveParam {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub hard_level_group: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub cphiinkideb: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub iedebfccknl: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub elite_group: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnebodebelg {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub iebnogooemo: ::prost::alloc::vec::Vec<Bcconkjhdjl>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub role_star: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mndmndklkie {
    #[prost(oneof = "mndmndklkie::TeleportNigger", tags = "1951")]
    pub teleport_nigger: ::core::option::Option<mndmndklkie::TeleportNigger>,
}
/// Nested message and enum types in `MNDMNDKLKIE`.
pub mod mndmndklkie {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum TeleportNigger {
        /// offset: 16
        #[prost(message, tag = "1951")]
        Eigmkojoeei(super::Hnebodebelg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonster {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub max_hp: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub cur_hp: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub extra_info: ::core::option::Option<Mndmndklkie>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub monster_id: u32,
}
/// Obf: SceneMonsterWave
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMonsterWave {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub nmgiabhijjb: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub battle_wave_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub battle_stage_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub monster_list: ::prost::alloc::vec::Vec<SceneMonster>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub monster_param: ::core::option::Option<SceneMonsterWaveParam>,
}
/// Obf: SceneBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneBattleInfo {
    /// offset: 136
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 96
    #[prost(message, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 132
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 144
    #[prost(uint32, tag = "5")]
    pub logic_random_seed: u32,
    /// offset: 112
    #[prost(message, repeated, tag = "7")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<BattleAvatar>,
    /// offset: 128
    #[prost(uint32, tag = "9")]
    pub jaoiokbbmfc: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "10")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
    /// offset: 120
    #[prost(bool, tag = "12")]
    pub encrypt_result: bool,
    /// offset: 124
    #[prost(uint32, tag = "14")]
    pub battle_id: u32,
    /// offset: 140
    #[prost(uint32, tag = "15")]
    pub rounds_limit: u32,
    /// offset: 88
    #[prost(message, optional, tag = "188")]
    pub battle_evolve_build_data: ::core::option::Option<
        BattleGridFightSpecialBattleInfo,
    >,
    /// offset: 80
    #[prost(message, optional, tag = "301")]
    pub battle_grid_fight_data: ::core::option::Option<GridFightInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "466")]
    pub battle_action_event_id: ::core::option::Option<Edcfkacpfnb>,
    /// offset: 104
    #[prost(message, optional, tag = "502")]
    pub battle_fate_data: ::core::option::Option<Pkpfahebjio>,
    /// offset: 24
    #[prost(message, optional, tag = "1053")]
    pub battle_fate_rin_data: ::core::option::Option<Glibgkggejl>,
    /// offset: 32
    #[prost(message, optional, tag = "1427")]
    pub battle_sword_training_data: ::core::option::Option<Kiaicmelimm>,
    /// offset: 56
    #[prost(message, repeated, tag = "1565")]
    pub battle_event: ::prost::alloc::vec::Vec<BattleEventBattleInfo>,
    /// offset: 64
    #[prost(map = "uint32, message", tag = "1712")]
    pub battle_target_info: ::std::collections::HashMap<u32, BattleTargetList>,
    /// offset: 40
    #[prost(message, optional, tag = "1939")]
    pub battle_rogue_magic_info: ::core::option::Option<BattleRogueMagicInfo>,
}
/// Obf: AetherDivideBattleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AetherDivideBattleInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub buff_list: ::prost::alloc::vec::Vec<BattleBuff>,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub logic_random_seed: u32,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub battle_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub battle_avatar_list: ::prost::alloc::vec::Vec<AetherAvatarInfo>,
    /// offset: 60
    #[prost(bool, tag = "14")]
    pub encrypt_result: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<SceneMonsterWave>,
}
/// Obf: LBKMCGDMNJO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AvatarLineup {
    /// offset: 32
    #[prost(enumeration = "AvatarType", tag = "3")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub assist_uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmdpkoelkfl {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub abfcdbocmcf: bool,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: APAMFCKFHLL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kvp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub value: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub key: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjmphaaoefl {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub key: u32,
    /// offset: 28
    #[prost(sint32, tag = "14")]
    pub value: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EquipRelic {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub relic_unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub r#type: u32,
}
/// Obf: HeadFrameInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeadFrameInfo {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub head_frame_item_id: u32,
    /// offset: 24
    #[prost(int64, tag = "15")]
    pub head_frame_expire_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AreaDynamicInfo {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub diy_dynamic_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub dice_slot_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pofnngoceok {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub eiklmfpmjjd: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dice_slot_id: u32,
    /// offset: 32
    #[prost(int64, tag = "10")]
    pub expire_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cllbjdejfnf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub r#type: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub slot: u32,
}
/// Nested message and enum types in `CLLBJDEJFNF`.
pub mod cllbjdejfnf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct Ooidndcpeaf {}
    /// Nested message and enum types in `OOIDNDCPEAF`.
    pub mod ooidndcpeaf {
        #[derive(proto_derive::CmdID)]
        #[derive(
            Clone,
            Copy,
            Debug,
            PartialEq,
            Eq,
            Hash,
            PartialOrd,
            Ord,
            ::prost::Enumeration
        )]
        #[repr(i32)]
        pub enum Dahcibciiad {
            Mneiheiglpo = 0,
            Bpillpjgggb = 1,
            Anhfoppefal = 2,
            Leeoomlkanm = 3,
            Hjomklagmcm = 4,
        }
        impl Dahcibciiad {
            /// String value of the enum field names used in the ProtoBuf definition.
            ///
            /// The values are not transformed in any way and thus are considered stable
            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
            pub fn as_str_name(&self) -> &'static str {
                match self {
                    Self::Mneiheiglpo => "DAHCIBCIIAD_MNEIHEIGLPO",
                    Self::Bpillpjgggb => "DAHCIBCIIAD_BPILLPJGGGB",
                    Self::Anhfoppefal => "DAHCIBCIIAD_ANHFOPPEFAL",
                    Self::Leeoomlkanm => "DAHCIBCIIAD_LEEOOMLKANM",
                    Self::Hjomklagmcm => "DAHCIBCIIAD_HJOMKLAGMCM",
                }
            }
            /// Creates an enum from field names used in the ProtoBuf definition.
            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
                match value {
                    "DAHCIBCIIAD_MNEIHEIGLPO" => Some(Self::Mneiheiglpo),
                    "DAHCIBCIIAD_BPILLPJGGGB" => Some(Self::Bpillpjgggb),
                    "DAHCIBCIIAD_ANHFOPPEFAL" => Some(Self::Anhfoppefal),
                    "DAHCIBCIIAD_LEEOOMLKANM" => Some(Self::Leeoomlkanm),
                    "DAHCIBCIIAD_HJOMKLAGMCM" => Some(Self::Hjomklagmcm),
                    _ => None,
                }
            }
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiipjfdnpah {
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub goejimnendc: ::prost::alloc::vec::Vec<AreaDynamicInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub polmjfiknhn: ::prost::alloc::vec::Vec<Pofnngoceok>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub ofokohgpedo: ::prost::alloc::vec::Vec<Cllbjdejfnf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kaodlpjmefe {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(enumeration = "PlatformType", tag = "6")]
    pub platform: i32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 24
    #[prost(string, tag = "12")]
    pub djonelmifee: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub head_icon: u32,
    /// offset: 76
    #[prost(uint32, tag = "14")]
    pub midbiphkljo: u32,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub dcofphdknij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ContentPackageGetDataCsReq {}
/// Obf: FOBAMBNCFDP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageGetDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<ContentPackageData>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: ContentPackageInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ContentPackageInfo {
    /// offset: 28
    #[prost(enumeration = "ContentPackageStatus", tag = "7")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub content_id: u32,
}
/// Obf: ContentPackageData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageData {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub content_package_list: ::prost::alloc::vec::Vec<ContentPackageInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub cur_content_id: u32,
}
/// Obf: GPDCBDHANON
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7537)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContentPackageSyncDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub data: ::core::option::Option<ContentPackageData>,
}
/// Obf: FEKDLNPGPKP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7548)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ContentPackageTransferScNotify {}
/// Obf: DailyActivityInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyActivityInfo {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub daily_active_point: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub is_has_taken: bool,
}
/// Obf: PKBMBKLIIFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3325)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeApRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub level: u32,
}
/// Obf: BLGFDCAPOOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeApRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GFIIJKCCICO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3393)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDailyActiveInfoCsReq {}
/// Obf: DIJHCMKKLBJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3358)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDailyActiveInfoScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub daily_active_point: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LDABILELOFN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3388)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DailyActiveInfoNotify {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub daily_active_point: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub daily_active_level_list: ::prost::alloc::vec::Vec<DailyActivityInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub daily_active_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HCGENMGNLDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3381)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeAllApRewardCsReq {}
/// Obf: APEIKKFNKAJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3386)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAllApRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub take_reward_level_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HHKPBPHJOMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9296)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSystemDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pkenagkiecb {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub clekaklpnbp: u32,
    /// offset: 32
    #[prost(int64, tag = "15")]
    pub unlock_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cmkmoiganhn {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub fpjmkdndenk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pdeiedgcoba {
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub gnnbmnhoifg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub lnppfhhacpf: ::prost::alloc::vec::Vec<Cmkmoiganhn>,
}
/// Obf: CCNGMFEFNKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9270)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSystemDataRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<DiceCombatAvatar>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub ohfiibeipje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub kcnekeggagg: ::prost::alloc::vec::Vec<Pkenagkiecb>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub dgfnldbflaj: ::core::option::Option<Pdeiedgcoba>,
}
/// Obf: IPGLHOIFDAB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9297)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddItemRsp {
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub unlock_time: i64,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    #[prost(oneof = "add_item_rsp::Fjianhmabab", tags = "6, 2")]
    pub fjianhmabab: ::core::option::Option<add_item_rsp::Fjianhmabab>,
}
/// Nested message and enum types in `AddItemRsp`.
pub mod add_item_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Fjianhmabab {
        /// offset: 16
        #[prost(uint32, tag = "6")]
        AvatarId(u32),
        /// offset: 16
        #[prost(uint32, tag = "2")]
        Clekaklpnbp(u32),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9274)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DiceCombatMainPageRollDiceCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9295)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DiceCombatMainPageRollDiceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: JFGGPGHOANG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9281)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetShopDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njebdkojnga {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub cnffgbmpchd: ::prost::alloc::vec::Vec<Fldkoelbpga>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fldkoelbpga {
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub dofneaphmkh: bool,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub cost: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub kdmngcljdom: u32,
}
/// Obf: IEGHPBPFCGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9265)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub opnfobjopcb: ::prost::alloc::vec::Vec<Njebdkojnga>,
}
/// Obf: IAFNLKNKPBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9284)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyShopGoodCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub kdmngcljdom: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub shop_id: u32,
}
/// Obf: NCGNOILONNI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9272)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyShopGoodScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub opnfobjopcb: ::prost::alloc::vec::Vec<Njebdkojnga>,
}
/// Obf: PENHEEONFHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9283)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModifyAvatarDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub llpcnbjimcn: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
}
/// Obf: NALJOPFBJDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9290)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModifyAvatarDiceRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub avatar: ::core::option::Option<DiceCombatAvatar>,
}
/// Obf: LAPHOALBKBH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9267)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAvatarCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
/// Obf: LCACCGHOGDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9293)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAvatarRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub avatar: ::core::option::Option<DiceCombatAvatar>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ELOCPGOBJFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9273)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishPveStageCsReq {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mpdhnfnciea: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub damage: u32,
    /// offset: 29
    #[prost(bool, tag = "13")]
    pub is_win: bool,
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub ainkfeinnak: bool,
}
/// Obf: DFLIOADBEDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9269)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPveStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub mpdhnfnciea: u32,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub is_win: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9279)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Blbhacnkkfc {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eecijblglng: u32,
    /// offset: 28
    #[prost(int32, tag = "6")]
    pub galohjonkcg: i32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub is_win: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lehiggfkpmn: u32,
    /// offset: 37
    #[prost(bool, tag = "12")]
    pub is_friend: bool,
}
/// Obf: IOEOOJJNGKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9278)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct V2FinishPveStageCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub aelaegoobmb: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub mpdhnfnciea: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub kghbjelhoba: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub fgbijplpobi: u32,
    /// offset: 45
    #[prost(bool, tag = "12")]
    pub is_win: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub eoilkccleif: u32,
    /// offset: 44
    #[prost(bool, tag = "15")]
    pub ainkfeinnak: bool,
}
/// Obf: AFAAPIGOAEN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9298)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct V2FinishPveStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub mpdhnfnciea: u32,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9276)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddknimhhnpa {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub jdgmehcpgll: ::prost::alloc::vec::Vec<Lpgjplmhkfl>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    /// offset: 44
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub lmplljfmfec: ::prost::alloc::vec::Vec<Ehmepomcgng>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub total_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kkiacmjgikn {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub objolnojikc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ohpidoojdhj: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub joikienjnji: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dfjpgilaaon {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub eciokddbepn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub pdhdohaijkd: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub hcckhlmlene: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub dalcmielfdd: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub kmadachjhjc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nacegiamjmg {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cjgghhcilmd: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub kgkejakkldp: bool,
}
/// Obf: JEMBBCBCOIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6998)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDrinkMakerDataCsReq {}
/// Obf: JPDFANKBJNO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6988)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDrinkMakerDataScRsp {
    /// offset: 72
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub emiaiomolpo: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub cjkagedkafl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub fgbelhjakcc: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub onfnednfoll: ::prost::alloc::vec::Vec<Kkiacmjgikn>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub lmogdpmlkfh: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub fhpkjonkhac: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub day: u32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub exp: u32,
}
/// Obf: HAALIJLGHNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6983)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MakeDrinkCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub fgbelhjakcc: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub agcblnphfci: ::core::option::Option<Dfjpgilaaon>,
}
/// Obf: BIFNKEPOOPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6992)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MakeDrinkScRsp {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub kgkejakkldp: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub lejdbhmpbbg: u32,
}
/// Obf: GCOKGACMDNF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6982)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EndDrinkMakerSequenceCsReq {}
/// Obf: JALACKKFDEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6997)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDrinkMakerSequenceScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub adnjjhnmaaj: ::prost::alloc::vec::Vec<Nacegiamjmg>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub bfhgaccogjd: u32,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub fhpkjonkhac: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub guest: ::core::option::Option<Kkiacmjgikn>,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub level: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CEJMDKPGPGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6985)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MakeMissionDrinkCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub agcblnphfci: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub is_save: bool,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub cjgghhcilmd: u32,
}
/// Obf: NALOLCLOBMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6984)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MakeMissionDrinkScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 37
    #[prost(bool, tag = "7")]
    pub kgkejakkldp: bool,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lmogdpmlkfh: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 36
    #[prost(bool, tag = "12")]
    pub is_save: bool,
}
/// Obf: DJALAJMGFHO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6991)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetDrinkMakerDayEndScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hbjijhhmego: u32,
}
/// Obf: IHKCFDECEEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6995)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerChallengeCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub agcblnphfci: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub challenge_id: u32,
}
/// Obf: AIIAOELLFAP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6981)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerChallengeScRsp {
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub kgkejakkldp: bool,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MDJMAMCHFAO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6989)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerUpdateTipsNotify {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fhpkjonkhac: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lefidlicemh {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub agcblnphfci: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub mjjmpmccnjh: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub lnckehdmhld: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub mhndlpidjie: bool,
}
/// Obf: INBGOEJNFLG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7000)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerCheersGetDataCsReq {}
/// Obf: OFANJNFJCGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6990)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DrinkMakerCheersGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub lfnjkncgnee: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub nhfmcmghade: ::prost::alloc::vec::Vec<Lefidlicemh>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub olkjpiikckp: u32,
}
/// Obf: NMKKIFLKMPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6987)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerCheersMakeDrinkCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub mjjmpmccnjh: u32,
    /// offset: 40
    #[prost(bool, tag = "9")]
    pub pcpihpdoigi: bool,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub agcblnphfci: ::core::option::Option<Dfjpgilaaon>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
/// Obf: KOJDMLGPKII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6994)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerCheersMakeDrinkScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub gkbfmpcffoe: ::core::option::Option<Lefidlicemh>,
}
/// Obf: CNAFOICMECG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6986)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerCheersEnterNextGroupCsReq {}
/// Obf: NOMBOPLGJJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6999)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DrinkMakerCheersEnterNextGroupScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub olkjpiikckp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElationActivityAvatar {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElationActivityLevelData {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub is_perfect: bool,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub level_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub boeinfjiile: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub chpcjibgkfk: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ffgfindlmcf: u32,
}
/// Obf: NJKCBFFNNEH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9110)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetElationActivityDataCsReq {}
/// Obf: ONJNHGNCEOE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9101)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetElationActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub level_data_list: ::prost::alloc::vec::Vec<ElationActivityLevelData>,
}
/// Obf: BKMKLMLDHJG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9103)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterElationActivityStageCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub player_selected_avatar_list: ::prost::alloc::vec::Vec<ElationActivityAvatar>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub fixed_avatar_list: ::prost::alloc::vec::Vec<ElationActivityAvatar>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
}
/// Obf: HBPGCJMBKGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9105)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterElationActivityStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub level_id: u32,
}
/// Obf: NHFAHLAIHEJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9104)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElationActivityBattleEndScNotify {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub jcfmcepkeha: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jigfpiobahb: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub perfect_wave: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub level_data: ::core::option::Option<ElationActivityLevelData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nohpjfogflm {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jjijbjdknae: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acakolcgdll {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub mdiijkbhbbi: u32,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub gpphkpehkim: bool,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub npgfnbpfmki: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub kkckmcdgcgk: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub nmjioggnleo: ::prost::alloc::vec::Vec<Nohpjfogflm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Obdbodnjacd {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub lihahpdcikl: u32,
    /// offset: 29
    #[prost(bool, tag = "7")]
    pub mebmamhhgmd: bool,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub jfapniecbko: bool,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub lopnadhjkbf: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub blnhcibkjom: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ihaomlephom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omplekgnlbc {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub fmcghnlbikp: ::prost::alloc::vec::Vec<Obdbodnjacd>,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub pcklcaedjpc: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub kpmknbnoafp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghfekegefac {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub omfgaabelhe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhciimgmiml {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub aoolknmjlni: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Clbncpofnpb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gelljojmefp: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub aoolknmjlni: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub mcghfjcbbmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmjddolalfi {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub count: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub enbegmdifkn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Labmfheepbi {
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub eljebpiokdd: ::prost::alloc::vec::Vec<Bmjddolalfi>,
    /// offset: 48
    #[prost(message, repeated, tag = "4")]
    pub fgjiamooiig: ::prost::alloc::vec::Vec<Clbncpofnpb>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub jeenjphnbli: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint64, tag = "7")]
    pub fekhnekhaak: u64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub ffeilkdlabh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub dfelfgnjgdp: u32,
    /// offset: 64
    #[prost(uint32, tag = "14")]
    pub jfbomkncnie: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Baedibfglde {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ajfhkpngpdb: ::core::option::Option<Labmfheepbi>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub jjhmehgelno: ::prost::alloc::vec::Vec<Ghfekegefac>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub dlcgpenpmnk: ::prost::alloc::vec::Vec<Fhciimgmiml>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Agfggfbnojc {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ammpolonobc: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iilbdjmkelg {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub fgjhnnpoggf: ::prost::alloc::vec::Vec<Agfggfbnojc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moogihhbhfg {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub lmgfegdnchp: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub icncmmeejkm: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub beijkgpgffe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lgflggdmagd {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub beijkgpgffe: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub bfadnhjajbj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Icabanfeihj {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub lcjfdchinhl: ::prost::alloc::vec::Vec<Moogihhbhfg>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub nilekcagimk: ::prost::alloc::vec::Vec<Lgflggdmagd>,
}
/// Obf: BAKKENDDMOL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2559)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetElfRestaurantDataCsReq {}
/// Obf: FDFOELGFBCA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2573)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetElfRestaurantDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub oenljgebcga: ::core::option::Option<Baedibfglde>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ffkcmkjffcm: ::core::option::Option<Omplekgnlbc>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub ibhkokeemoi: ::core::option::Option<Acakolcgdll>,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub milchkiieje: ::core::option::Option<Iilbdjmkelg>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub ahceimgnbnm: ::core::option::Option<Icabanfeihj>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2587)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aleedhcdial {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2594)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jfmkfjjcdkn {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgmjfbcfjfn {
    #[prost(
        oneof = "hgmjfbcfjfn::Enddahpbckj",
        tags = "4, 10, 12, 7, 5, 9, 14, 8, 3, 15, 13, 11"
    )]
    pub enddahpbckj: ::core::option::Option<hgmjfbcfjfn::Enddahpbckj>,
}
/// Nested message and enum types in `HGMJFBCFJFN`.
pub mod hgmjfbcfjfn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Enddahpbckj {
        /// offset: 24
        #[prost(message, tag = "4")]
        Jnbfibdklgb(super::Acakolcgdll),
        /// offset: 24
        #[prost(message, tag = "10")]
        Lemcgnhlooi(super::Obdbodnjacd),
        /// offset: 24
        #[prost(message, tag = "12")]
        Nefhjpjalgo(super::Agfggfbnojc),
        /// offset: 24
        #[prost(uint32, tag = "7")]
        Edgoifoobmh(u32),
        /// offset: 24
        #[prost(message, tag = "5")]
        Hinkdpmaicb(super::Ghfekegefac),
        /// offset: 24
        #[prost(message, tag = "9")]
        Mocnalbmlli(super::Fhciimgmiml),
        /// offset: 24
        #[prost(message, tag = "14")]
        Mfajapgacpa(super::Moogihhbhfg),
        /// offset: 24
        #[prost(uint32, tag = "8")]
        Fdlgknfipmg(u32),
        /// offset: 24
        #[prost(message, tag = "3")]
        Hmgkhcnmddj(super::Lgflggdmagd),
        /// offset: 24
        #[prost(uint32, tag = "15")]
        Kmhmakdfklb(u32),
        /// offset: 24
        #[prost(bool, tag = "13")]
        Pcklcaedjpc(bool),
        /// offset: 24
        #[prost(message, tag = "11")]
        Hgpmmehonld(super::Labmfheepbi),
    }
}
/// Obf: AODEGGFNDJP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2598)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantDataChangeNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Hgmjfbcfjfn>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2553)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eeagaclndfn {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub lopnadhjkbf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnoenkfakek {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub fkmfhaajmmf: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kplhhleggcd {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ihaomlephom: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub lopnadhjkbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkegpaocgcj {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub lopnadhjkbf: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub fkmfhaajmmf: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub ihaomlephom: u32,
}
/// Obf: AADFONOBBKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2560)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantPlantSeedCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub blnhcibkjom: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub fmcghnlbikp: ::prost::alloc::vec::Vec<Kplhhleggcd>,
}
/// Obf: EPDCKMBJMOO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantPlantSeedScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub fpebfljmejl: ::prost::alloc::vec::Vec<Nkegpaocgcj>,
}
/// Obf: GAHILLJECMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2574)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantHarvestCropCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub fmcghnlbikp: ::prost::alloc::vec::Vec<Kplhhleggcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cekmlmoclhf {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub kkdjmimhnae: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "9")]
    pub jocfflkpnol: ::std::collections::HashMap<u32, ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub lopnadhjkbf: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub ihaomlephom: u32,
}
/// Obf: AFOKEPANBEH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2570)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantHarvestCropScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub lgpombcjpkl: ::prost::alloc::vec::Vec<Cekmlmoclhf>,
}
/// Obf: DEJCDBOCLHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2567)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantRecycleSeedCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub fmcghnlbikp: ::prost::alloc::vec::Vec<Kplhhleggcd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecgkekkahgn {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub lopnadhjkbf: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub ihaomlephom: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub feanllocfba: ::core::option::Option<ItemList>,
}
/// Obf: IPFOBFKCDGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2579)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantRecycleSeedScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub hdamnmcdhlh: ::prost::alloc::vec::Vec<Ecgkekkahgn>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FIOHLMBJJDB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2597)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElfRestaurantTakeVillagerRewardCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plohacfcdkf {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub ocjkdcpanjm: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub mmmadinmhfb: u32,
}
/// Obf: HDPBHCKNOBC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2592)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantTakeVillagerRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<Plohacfcdkf>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2552)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ockgmngkiee {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ammpolonobc: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub igoojkmpmdc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2564)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fceehnojaan {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub fkmfhaajmmf: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2585)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hcbcpfnmmmi {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub omfgaabelhe: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub igoojkmpmdc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2565)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghnlnaaaolg {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2563)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hcgnkjhkjmm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub aoolknmjlni: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub igoojkmpmdc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2558)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ijbbckpnpaf {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kheoagdihcc {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub aoolknmjlni: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfckfofongi {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub kinccgndojn: u32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub facnfjfmpnk: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub medlnejhoef: ::prost::alloc::vec::Vec<Kheoagdihcc>,
    /// offset: 37
    #[prost(bool, tag = "14")]
    pub dplfiipiacn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpljjhffodo {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub event_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjebmhibjpl {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub caoflnhbolk: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub bbmelnjbgal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lncaakdimbl {
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub biofdpichlc: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ifgmfcognjf: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub fklnfmahkgd: bool,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub adgnneoeafo: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub dbobkaagpjh: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 41
    #[prost(bool, tag = "13")]
    pub plieoddeehg: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub aoolknmjlni: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ihhkfadnadn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdcmoffkcpi {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub glabgheagmi: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub biofdpichlc: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iaomnbibcnp {
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub cost_time: u32,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub ofmdjamjngn: u32,
    /// offset: 88
    #[prost(uint32, tag = "5")]
    pub gkoongbhomm: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "6")]
    pub pigmdkogade: ::prost::alloc::vec::Vec<Cdcmoffkcpi>,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub ifdkcgenncp: u32,
    /// offset: 76
    #[prost(uint32, tag = "8")]
    pub ploembocige: u32,
    /// offset: 80
    #[prost(uint32, tag = "9")]
    pub hfiblhafonm: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub mfiibgcfabf: ::prost::alloc::vec::Vec<Fjebmhibjpl>,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub fekhnekhaak: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub pnbhfpmpghn: ::prost::alloc::vec::Vec<Kfckfofongi>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub cmodblcaejf: ::prost::alloc::vec::Vec<Lncaakdimbl>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub mgfhebidaol: ::prost::alloc::vec::Vec<Jpljjhffodo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2593)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Goojijdpkip {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FGADBGEMDAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2590)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElfRestaurantBuyShopItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub icaildehhbn: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub icncmmeejkm: u32,
}
/// Obf: GAAODNGGFJF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2576)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantBuyShopItemScRsp {
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub icncmmeejkm: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub glapknmcibi: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub fkmfhaajmmf: ::core::option::Option<ItemCostData>,
}
/// Obf: NDEFINBJPAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2595)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ElfRestaurantFinishTradeOrderCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bfadnhjajbj: u32,
}
/// Obf: LOOPILHHNFD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2589)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ElfRestaurantFinishTradeOrderScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub bfadnhjajbj: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub fkmfhaajmmf: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub glapknmcibi: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2572)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kfliegjgobo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub cobakmlaojc: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2582)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Endidpakmgf {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2586)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mfijfceakha {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_active: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2580)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njmhbeaaooc {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hklddaaecln {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub state: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub region_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkfmgcndhgh {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub dmdkaoolabf: ::prost::alloc::vec::Vec<Hklddaaecln>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6558)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEraFlipperDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEraFlipperDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub data: ::core::option::Option<Kkfmgcndhgh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6562)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<Kkfmgcndhgh>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6557)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChangeEraFlipperDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Kkfmgcndhgh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6555)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResetEraFlipperDataCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub cjeildioioe: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6559)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResetEraFlipperDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Kkfmgcndhgh>,
    /// offset: 36
    #[prost(bool, tag = "15")]
    pub cjeildioioe: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6569)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterEraFlipperDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub state: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub region_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6568)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterEraFlipperDataScRsp {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub region_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6565)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dmiceocogad {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<Kkfmgcndhgh>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ehplfhlnmif {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(double, tag = "7")]
    pub damage: f64,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldlcmmopkng {
    /// offset: 60
    #[prost(enumeration = "Edjkfobbdjf", tag = "2")]
    pub hfpejidddjg: i32,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ehplfhlnmif>,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub djhhpkmhpbc: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub round_cnt: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub battle_target_list: ::prost::alloc::vec::Vec<BattleTarget>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<BattleGridFightSpecialBattleInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub dckigahcnmj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Acnkopcgkdd {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub max_score: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub faglnmdfome: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gomkghjbnfm {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub jekloeppjbk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hloadnfiooo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub dckigahcnmj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub fanpgkbliob: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmmlgkhalla {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    /// offset: 36
    #[prost(enumeration = "Edjkfobbdjf", tag = "8")]
    pub hfpejidddjg: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub cepcglmfpbc: ::prost::alloc::vec::Vec<Gomkghjbnfm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjjhnficdim {
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub exp: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "3")]
    pub jbojbagkiae: ::prost::alloc::vec::Vec<Hloadnfiooo>,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub pofjccbebga: ::prost::alloc::vec::Vec<Acnkopcgkdd>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub hhfaafobkme: ::prost::alloc::vec::Vec<Lmmlgkhalla>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "8")]
    pub hnocfeloafj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub item_value: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub bhaohnceajm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NJHABLKFDLG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7109)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildQueryInfoCsReq {}
/// Obf: LBPHINKJJIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7123)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildQueryInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub jpdoigjngnp: ::prost::alloc::vec::Vec<Ldlcmmopkng>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub cfdiklbinhk: ::core::option::Option<Cjjhnficdim>,
}
/// Obf: HOKOLDJBBMK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7137)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub nenjbdbjnfi: ::core::option::Option<Dkphafpgdlo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub level_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ehplfhlnmif>,
}
/// Obf: GDMLMJECLCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7144)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartLevelScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub oeibhlmdjka: ::core::option::Option<Ldlcmmopkng>,
}
/// Obf: FPMGJDEHNAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7119)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EvolveBuildStartStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
}
/// Obf: BNFCJPEGJFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EvolveBuildStartStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub aepnedjpagk: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub oeibhlmdjka: ::core::option::Option<Ldlcmmopkng>,
}
/// Obf: FJGKJHBJCCG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7103)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildGiveupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
}
/// Obf: OKBILIPEDPP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7107)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildGiveupScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub oeibhlmdjka: ::core::option::Option<Ldlcmmopkng>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CFEDPOMHPCP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7124)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildFinishScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub oeibhlmdjka: ::core::option::Option<Ldlcmmopkng>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub wave: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub level_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub score_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub item_value: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub nlmafmcfhal: bool,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub exp: u32,
    /// offset: 40
    #[prost(enumeration = "Iapiiejhlmp", tag = "15")]
    pub apkkkeipjog: i32,
}
/// Obf: JBGHEJOMOAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7120)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildReRandomStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
}
/// Obf: PIHEAPGDMLC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7117)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildReRandomStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub gmbpffiabhj: ::core::option::Option<Hloadnfiooo>,
}
/// Obf: LBPEMINKHEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7106)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityUpCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jekloeppjbk: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: LJDGGBLKKGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7102)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityUpScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jekloeppjbk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub level: u32,
}
/// Obf: FMGBEEPNNHH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7114)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityDownCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub jekloeppjbk: u32,
}
/// Obf: BJELONPOIAG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7135)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityDownScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub jekloeppjbk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
/// Obf: NILMGDJFACH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7108)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityResetCsReq {
    /// offset: 24
    #[prost(enumeration = "Edjkfobbdjf", tag = "15")]
    pub hfpejidddjg: i32,
}
/// Obf: IPLODDDJKNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7118)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEvolveBuildShopAbilityResetScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub cepcglmfpbc: ::prost::alloc::vec::Vec<Gomkghjbnfm>,
    /// offset: 32
    #[prost(enumeration = "Edjkfobbdjf", tag = "11")]
    pub hfpejidddjg: i32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub item_value: u32,
}
/// Obf: FNIFKDBNLBG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7143)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEvolveBuildCoinNotify {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub item_value: u32,
    /// offset: 24
    #[prost(enumeration = "Edjkfobbdjf", tag = "13")]
    pub hfpejidddjg: i32,
}
/// Obf: EMKKAIGDENF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7126)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub level_id: u32,
}
/// Obf: OBBEOELJNPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7145)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EvolveBuildSkipTeachLevelScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExpeditionInfo {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Obf: DGHLOHPCFKP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2509)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetExpeditionDataCsReq {}
/// Obf: CNLOBEKDKGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetExpeditionDataScRsp {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub bjmgdbchean: i64,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub expedition_info: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub caalnnfjiah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub total_expedition_count: u32,
}
/// Obf: GFGPOLPKOLH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2506)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub expedition: ::prost::alloc::vec::Vec<ExpeditionInfo>,
}
/// Obf: LIIHMEHAHDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2502)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AcceptMultipleExpeditionScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub accept_multi_expedition: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 40
    #[prost(int64, tag = "15")]
    pub bjmgdbchean: i64,
}
/// Obf: PEIGLFGGMJH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2514)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardCsReq {}
/// Obf: MFDJDDKAHKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2535)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMultipleExpeditionRewardScRsp {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 40
    #[prost(int64, tag = "5")]
    pub bjmgdbchean: i64,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub npcmkbnjaba: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2510)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkcilggeefm {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub expedition_info: ::prost::alloc::vec::Vec<ExpeditionInfo>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub caalnnfjiah: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub total_expedition_count: u32,
    /// offset: 48
    #[prost(int64, tag = "13")]
    pub bjmgdbchean: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fggcekhfplh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pkcipjbkafo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcfdjcpfogg {
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub hplnhifhbma: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "3")]
    pub ofhbpngdego: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "5")]
    pub djjkdgefoip: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(map = "uint32, uint32", tag = "6")]
    pub dlbojccdcfi: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "10")]
    pub fibfikobdpg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "11")]
    pub dalpakhckli: ::std::collections::HashMap<u32, Fggcekhfplh>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub jjobbohhomg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DEMKDHAODBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4925)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFantasticStoryActivityDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ofhbpngdego: u32,
}
/// Obf: MHMLENGPLLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4978)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFantasticStoryActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub oniemliconb: ::core::option::Option<Gcfdjcpfogg>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4993)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epmjekohnme {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub oniemliconb: ::core::option::Option<Gcfdjcpfogg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pkcipjbkafo {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "8")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Obf: NLIBEBMOKCI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pkcipjbkafo>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub ofhbpngdego: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub battle_id: u32,
}
/// Obf: HOPLLHBDLBI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4988)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFantasticStoryActivityStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub battle_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub ofhbpngdego: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: NAGIJNLDDEA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4981)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FantasticStoryActivityBattleEndScNotify {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub battle_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub fhbnghinhog: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ofhbpngdego: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjkmgckmnna {
    /// offset: 28
    #[prost(enumeration = "Mohnimlcoda", tag = "1")]
    pub source_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub bneflbpcpoi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jogccinehfj {
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub dihfbeljfia: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub monster_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub affix_id: u32,
    /// offset: 41
    #[prost(bool, tag = "12")]
    pub fniaoaobkba: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkjemhkomjc {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    /// offset: 48
    #[prost(int32, tag = "7")]
    pub hp: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub cffcnedgcjj: ::prost::alloc::vec::Vec<Jogccinehfj>,
    /// offset: 44
    #[prost(enumeration = "FateMasterStatusType", tag = "9")]
    pub status: i32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(int32, tag = "14")]
    pub max_hp: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Clnabfmhffh {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub bkfonknlchp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjljmccgnee {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub kpehhgeknha: ::core::option::Option<Clnabfmhffh>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub ljeafpohncd: ::core::option::Option<Clnabfmhffh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjfdaokikoj {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub ocambknkkgo: ::prost::alloc::vec::Vec<Gkjemhkomjc>,
}
/// Obf: KOLCCDIJBGO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateBuffData {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub cnt: u32,
}
/// Obf: PLMAMHBLJKP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveTraitSourceList {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub cnt: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub source: ::core::option::Option<Fjkmgckmnna>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agpkfblgdih {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub kbgaphfipjf: ::prost::alloc::vec::Vec<ActiveTraitSourceList>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbbhdpcphnn {
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "2")]
    pub buff_amplification_map: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub ngomjifbbbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub iccmjhjlpcd: ::prost::alloc::vec::Vec<Agpkfblgdih>,
    /// offset: 56
    #[prost(message, repeated, tag = "13")]
    pub buff_list: ::prost::alloc::vec::Vec<FateBuffData>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub mhlngfboidp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub jimbjhlmhlo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jdaiofepgcc {
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub gdoblppegkd: bool,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub kdkpdjnmmcm: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Imihimchhip {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub item_value: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub oidjfifjdhl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jimnppnnhel {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub kcblnmmhokg: u32,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub ondcoebnapj: bool,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub aallbbcjgia: ::prost::alloc::vec::Vec<Imihimchhip>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<Jdaiofepgcc>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub mncbflefjck: u32,
    /// offset: 49
    #[prost(bool, tag = "15")]
    pub pnmnpfgcfbj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kclhmjhidob {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub idnhbbmlnjk: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub bkpdkfldldd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Enjdefhfkpi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub bahmhmdompb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Klmngojkein {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub melnkmalhjo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kaopgjbgebf {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(int32, tag = "12")]
    pub value: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub damihcppjab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bfbceoiclab {
    /// offset: 96
    #[prost(message, optional, tag = "1")]
    pub iemekmddioi: ::core::option::Option<Enjdefhfkpi>,
    /// offset: 88
    #[prost(message, repeated, tag = "2")]
    pub lnngkpajklp: ::prost::alloc::vec::Vec<Kaopgjbgebf>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub mhaleihfklg: ::core::option::Option<Nbbhdpcphnn>,
    /// offset: 116
    #[prost(uint32, tag = "5")]
    pub difficulty: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub felmampgmae: ::prost::alloc::vec::Vec<Klmngojkein>,
    /// offset: 104
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub ccopdlokaae: ::core::option::Option<Pjfdaokikoj>,
    /// offset: 108
    #[prost(enumeration = "Emfdlpnogoh", tag = "10")]
    pub status: i32,
    /// offset: 64
    #[prost(message, optional, tag = "11")]
    pub efllphldbpc: ::core::option::Option<Jimnppnnhel>,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub fmigokidkjl: ::core::option::Option<Jfkaomcjikk>,
    /// offset: 80
    #[prost(message, optional, tag = "13")]
    pub lmldelgbjoo: ::core::option::Option<Kclhmjhidob>,
    /// offset: 112
    #[prost(uint32, tag = "15")]
    pub gbmbghapdmg: u32,
    /// offset: 48
    #[prost(message, optional, tag = "706")]
    pub cmcbggklbcf: ::core::option::Option<Annfoagbjbp>,
    /// offset: 72
    #[prost(message, optional, tag = "978")]
    pub godpehnppco: ::core::option::Option<Ibgfkjmmici>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfkaomcjikk {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub queue_position: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub gjdkhbphncg: ::core::option::Option<Kfaiflhpeie>,
}
/// Obf: AMEFCGGAGGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5985)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateHandlePendingActionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub queue_position: u32,
    #[prost(oneof = "fate_handle_pending_action_cs_req::Dmnecekolaj", tags = "3, 14")]
    pub dmnecekolaj: ::core::option::Option<
        fate_handle_pending_action_cs_req::Dmnecekolaj,
    >,
}
/// Nested message and enum types in `FateHandlePendingActionCsReq`.
pub mod fate_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Dmnecekolaj {
        /// offset: 16
        #[prost(message, tag = "3")]
        Hnpbcgilajp(super::Afkjkljjlkn),
        /// offset: 16
        #[prost(message, tag = "14")]
        Npbkaadbhhc(super::Ghajmkceepj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Afkjkljjlkn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pjlejkeofii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghajmkceepj {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub noililelkfb: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub mlkbobieapl: bool,
}
/// Obf: ILLBJPOBLLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5965)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateHandlePendingActionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: HCPNKGMBBIP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5963)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSyncActionResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub clggklnplck: ::prost::alloc::vec::Vec<Ddlhodcinbi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ddlhodcinbi {
    #[prost(
        oneof = "ddlhodcinbi::Mmcgbgdjipn",
        tags = "6, 13, 10, 7, 12, 15, 3, 5, 4, 9, 1, 14, 2, 11, 187, 1436, 1308, 1111, 83, 173, 1009"
    )]
    pub mmcgbgdjipn: ::core::option::Option<ddlhodcinbi::Mmcgbgdjipn>,
}
/// Nested message and enum types in `DDLHODCINBI`.
pub mod ddlhodcinbi {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(message, tag = "6")]
        Ekkabkcclgj(super::Daccnafghfj),
        /// offset: 24
        #[prost(message, tag = "13")]
        Bjedonkmcfe(super::Mmppkfjeogk),
        /// offset: 24
        #[prost(message, tag = "10")]
        Gaefnajaceh(super::Oppndjocbea),
        /// offset: 24
        #[prost(message, tag = "7")]
        Jgkdifdimkn(super::Fliplahlmkm),
        /// offset: 24
        #[prost(message, tag = "12")]
        Mfflklajbdf(super::Dbknlpmgffh),
        /// offset: 24
        #[prost(message, tag = "15")]
        Henlcgaciok(super::Jflohllmojk),
        /// offset: 24
        #[prost(message, tag = "3")]
        Plflnblmmhi(super::Dobhockghbi),
        /// offset: 24
        #[prost(message, tag = "5")]
        Nkpaelihjad(super::Mafjliikiif),
        /// offset: 24
        #[prost(message, tag = "4")]
        Mlpfdmiilbd(super::Anjbjldmdfn),
        /// offset: 24
        #[prost(message, tag = "9")]
        Gigfdpnimgd(super::Afankkdmihc),
        /// offset: 24
        #[prost(message, tag = "1")]
        Jgnmfhfcifn(super::Lmopafoijnf),
        /// offset: 24
        #[prost(message, tag = "14")]
        Okdkhjfhjnd(super::Kajlllaakog),
        /// offset: 24
        #[prost(message, tag = "2")]
        Ccohjlknfon(super::Ahomaahpcig),
        /// offset: 24
        #[prost(message, tag = "11")]
        Milpeakhkel(super::Kgjgeeeknnc),
        /// offset: 24
        #[prost(message, tag = "187")]
        Pldlcjpgcib(super::Lhjbihjbnhi),
        /// offset: 24
        #[prost(message, tag = "1436")]
        Feinkbbjnhp(super::Bdjegabknhn),
        /// offset: 24
        #[prost(message, tag = "1308")]
        Hnfllmllnfi(super::Elemfbmommm),
        /// offset: 24
        #[prost(message, tag = "1111")]
        Ccegfkebemi(super::Hacigdeemcj),
        /// offset: 24
        #[prost(message, tag = "83")]
        Ggglmgkkffm(super::Panagpmiiih),
        /// offset: 24
        #[prost(message, tag = "173")]
        Jkhgejcjoeb(super::Kgobmeoaebl),
        /// offset: 24
        #[prost(message, tag = "1009")]
        Cmhlmlegngm(super::Pikiddeedii),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jflohllmojk {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub kcblnmmhokg: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub mncbflefjck: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgjgeeeknnc {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub efllphldbpc: ::core::option::Option<Jimnppnnhel>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kgobmeoaebl {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub ondcoebnapj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pikiddeedii {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub bahmhmdompb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmopafoijnf {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub pdkamagefek: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub fckiolplani: ::prost::alloc::vec::Vec<FateBuffData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kajlllaakog {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub bfninelcbcn: ::prost::alloc::vec::Vec<Agpkfblgdih>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub cjbincokfpo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahomaahpcig {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub dapjmjmgcfc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub ekjdleffghd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdjegabknhn {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "5")]
    pub icaoknphkgn: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub pphekhllfhc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Panagpmiiih {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub ngomjifbbbp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elemfbmommm {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ecmbbbapajc: ::core::option::Option<Bgnimfmfklh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hacigdeemcj {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub jdfkejddgfc: ::core::option::Option<Fjkmgckmnna>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Daccnafghfj {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub akgjopblpne: ::core::option::Option<Kclhmjhidob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mmppkfjeogk {
    /// offset: 24
    #[prost(enumeration = "Emfdlpnogoh", tag = "15")]
    pub egbfnfcephd: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Legbkmiijoa {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub diidbkijeaf: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub jglnalonldo: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub gcifclingfn: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 48
    #[prost(bool, tag = "9")]
    pub mehpjmpdnna: bool,
    /// offset: 24
    #[prost(double, tag = "10")]
    pub fjdfopnafpp: f64,
    /// offset: 49
    #[prost(bool, tag = "12")]
    pub jmcmpfpdehg: bool,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ecpmgbgllnn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oppndjocbea {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub gcnmkihofgg: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub mikkaejnlal: ::prost::alloc::vec::Vec<Legbkmiijoa>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub ncdbcllahpp: u32,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub lkpnnogpjoi: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub eaockldeogh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub ocambknkkgo: ::prost::alloc::vec::Vec<Gkjemhkomjc>,
    /// offset: 48
    #[prost(bool, tag = "9")]
    pub needlfjjfpl: bool,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub jjdeehamhgf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fliplahlmkm {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub blfmgkpnpgg: ::prost::alloc::vec::Vec<Mjljmccgnee>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dbknlpmgffh {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub gold: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dobhockghbi {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub jimbjhlmhlo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mafjliikiif {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub maibaoaogid: ::core::option::Option<Klmngojkein>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Anjbjldmdfn {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Afankkdmihc {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub mgmpdhkjfim: ::core::option::Option<Kaopgjbgebf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhjbihjbnhi {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub gjpgbbhcafc: ::core::option::Option<Gkjemhkomjc>,
}
/// Obf: OICAPCABFNK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSyncPendingActionScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub fmigokidkjl: ::core::option::Option<Jfkaomcjikk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfaiflhpeie {
    #[prost(oneof = "kfaiflhpeie::Mmcgbgdjipn", tags = "7, 9")]
    pub mmcgbgdjipn: ::core::option::Option<kfaiflhpeie::Mmcgbgdjipn>,
}
/// Nested message and enum types in `KFAIFLHPEIE`.
pub mod kfaiflhpeie {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(message, tag = "7")]
        Hnpbcgilajp(super::Dafhokgicng),
        /// offset: 24
        #[prost(message, tag = "9")]
        Npbkaadbhhc(super::Jcmkkekmhnc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dafhokgicng {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub pdabdejbpel: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kmlomkcmghd {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jcndbkgbllj: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub damihcppjab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jcmkkekmhnc {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub lgfjpbjobpc: ::prost::alloc::vec::Vec<Kmlomkcmghd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejcccigmhom {
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub nkhiimhclcd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub gjfkkffjdah: ::core::option::Option<Hijclodmbpo>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub gmgohblfman: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub bdibpimapoc: ::core::option::Option<Gcecagoeldp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hijclodmbpo {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub pidfdpidjmn: ::core::option::Option<Hjhmndbjpnd>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub oafljgckiaj: ::core::option::Option<Hjhmndbjpnd>,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "12")]
    pub bdjecejakij: ::std::collections::HashMap<u32, Hjhmndbjpnd>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub bjjdjfjmgdi: ::prost::alloc::vec::Vec<Hjfceebagmf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gcecagoeldp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub cfikmgkpofh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub npdokajookd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjhmndbjpnd {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "2")]
    pub ljdljkcmiic: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub total_count: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub kaenlkdnomf: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub dkjedbhlopp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MFAGCMDGHPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5959)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateQueryCsReq {}
/// Obf: DOFDHCNMNMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5973)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateQueryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub lflcdngalme: ::core::option::Option<Ejcccigmhom>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub oeibhlmdjka: ::core::option::Option<Bfbceoiclab>,
}
/// Obf: KMDNHNAEPBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5987)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateStartCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kpnhgdglicn>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub difficulty: u32,
}
/// Obf: KEMGFAPBFNL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5994)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateStartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub oeibhlmdjka: ::core::option::Option<Bfbceoiclab>,
}
/// Obf: OGCKAGAMDJP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5969)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateBattleStartCsReq {}
/// Obf: HIEGKBMFNMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5998)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateBattleStartScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: OEMOJOKKKNL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5953)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateChangeLineupCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kpnhgdglicn>,
}
/// Obf: GBOIDHOLFGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5957)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateChangeLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: IBECCHLNDFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5960)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopBuyGoodsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub coclmanmaai: u32,
}
/// Obf: GMDDANCGGBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5971)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopBuyGoodsScRsp {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub coclmanmaai: u32,
}
/// Obf: BPFLBBKOPNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5974)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopSellBuffCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub jdifhpafpid: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub pcjobdnleai: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub pmcpiecgehh: bool,
}
/// Obf: LBNKGCMFNCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5970)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopSellBuffScRsp {
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub pmcpiecgehh: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub jdifhpafpid: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub pcjobdnleai: u32,
}
/// Obf: HJFALMNEFDC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5967)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopRefreshGoodsCsReq {}
/// Obf: OPABCPDGGAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5979)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateShopRefreshGoodsScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub pnmnpfgcfbj: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<Jdaiofepgcc>,
}
/// Obf: OPHOEIDJDMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5983)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopLockGoodsCsReq {
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub is_locked: bool,
}
/// Obf: JPNPDPIBNBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5956)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopLockGoodsScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub is_locked: bool,
}
/// Obf: JHOFKNCODLC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5952)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopLeaveCsReq {}
/// Obf: LIBBPNHIGAG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5964)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateShopLeaveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Annfoagbjbp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub blfmgkpnpgg: ::prost::alloc::vec::Vec<Mjljmccgnee>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgnimfmfklh {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub source: ::core::option::Option<Fjkmgckmnna>,
    /// offset: 16
    #[prost(map = "uint32, double", tag = "14")]
    pub opemkbpffdn: ::std::collections::HashMap<u32, f64>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibgfkjmmici {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub opoidpjffpk: ::prost::alloc::vec::Vec<Bgnimfmfklh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5968)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fgemjlfihhl {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5993)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jolgfgcfmal {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdhlhneachp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "10")]
    pub avatar_type: i32,
    /// offset: 36
    #[prost(bool, tag = "15")]
    pub is_upgraded: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjfceebagmf {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "2")]
    pub lanhcgfhcdb: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<Hdhlhneachp>,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub difficulty: u32,
    /// offset: 84
    #[prost(uint32, tag = "7")]
    pub okoicdengfk: u32,
    /// offset: 56
    #[prost(map = "uint32, uint32", tag = "8")]
    pub dbifajibgac: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "9")]
    pub lnngkpajklp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "11")]
    pub bkpdkfldldd: u32,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub idnhbbmlnjk: u32,
    /// offset: 64
    #[prost(uint32, repeated, tag = "13")]
    pub felmampgmae: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "15")]
    pub level_id: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "302")]
    pub dhbpgmpmpol: ::std::collections::HashMap<u32, u32>,
}
/// Obf: HLECBNECIJA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5990)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateSettleScNotify {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub lnbbppklbfa: ::core::option::Option<Hjfceebagmf>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
}
/// Obf: EFGLGFMMNJI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5976)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateTakeExpRewardCsReq {}
/// Obf: PNJAABBGEII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5995)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateTakeExpRewardScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub hpjmjeajkac: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub hkefkhjoepj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kdanackpjip {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ccooceeakfi: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub jbgenfikggf: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub jhmnigagock: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9896)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dieodgppedc {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9870)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncboendmdic {
    /// offset: 48
    #[prost(message, repeated, tag = "2")]
    pub ldejlfkjbcl: ::prost::alloc::vec::Vec<Gcjclfolbpp>,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub hinfjmimbin: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub illhhmhbjcg: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub nfaoagifkeg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub pdabdejbpel: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub hbdmblapemh: ::prost::alloc::vec::Vec<Kdanackpjip>,
}
/// Obf: DFDCPCNBPAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9897)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateRinStartStoryFightCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ccooceeakfi: u32,
}
/// Obf: NCENFLDDJEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9874)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateRinStartStoryFightScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: DHGDFOIKEDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9895)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateRinStartHouguMapFightCsReq {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub jbifgihhmno: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub ccooceeakfi: u32,
}
/// Obf: KBFCICJOJPE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateRinStartHouguMapFightScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: KDIHMOLCGED
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9865)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FateRinStartChallengeFightCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub klfbkkmegff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub ccooceeakfi: u32,
}
/// Obf: GIGMJINJFJC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9884)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FateRinStartChallengeFightScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gcjclfolbpp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ckgphnndacn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub hpoocchjnen: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub opbnnkhnael: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub nkddbpgdaee: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9872)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goelkobocdi {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub ldejlfkjbcl: ::prost::alloc::vec::Vec<Gcjclfolbpp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9883)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmehlelafji {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub ldejlfkjbcl: ::prost::alloc::vec::Vec<Gcjclfolbpp>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9890)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knljdbnopkd {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub pnjmdofoeee: ::core::option::Option<Gcjclfolbpp>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9867)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eilmegelllj {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub pdabdejbpel: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9893)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aikichnepke {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9873)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnnncipmpkh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub edcigejlffh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub nfaoagifkeg: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9869)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ocoekdndegj {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ppmjkdbnhca: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9879)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fnhbhpdjacf {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub nfaoagifkeg: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9878)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghclliagdep {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub nkddbpgdaee: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9898)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kdmoonkplpi {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub illhhmhbjcg: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9876)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ppgfkfiaahl {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub nmfgecjbplj: ::core::option::Option<Kdanackpjip>,
    /// offset: 32
    #[prost(enumeration = "BattleEndStatus", tag = "12")]
    pub end_status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbmjoipjplh {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub djfgdmidehj: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub ofbedjiaeoa: u32,
    /// offset: 24
    #[prost(enumeration = "FeverTimeBattleRank", tag = "9")]
    pub oingnajmfnl: i32,
}
/// Obf: AEGLEIHJKFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7155)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFeverTimeActivityDataCsReq {}
/// Obf: FBKBHENKCPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7154)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFeverTimeActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub gndefeaednj: ::prost::alloc::vec::Vec<Jbmjoipjplh>,
}
/// Obf: GNFDDFJAEEC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7153)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeverTimeActivityBattleEndScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub turn_left: u32,
    /// offset: 32
    #[prost(enumeration = "FeverTimeBattleRank", tag = "12")]
    pub lddhcplnkka: i32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub fajdffhodip: u32,
}
/// Obf: JIPHBIACDPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7160)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub avatar_list: ::prost::alloc::vec::Vec<Kpnhgdglicn>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub cjhdabdkghp: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mflaimhfabp: u32,
}
/// Obf: NMHDDOGNHGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7151)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFeverTimeActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(30025)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kijefpfaijc {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub account_ip_port: u32,
    /// offset: 40
    #[prost(uint64, tag = "4")]
    pub pmloioiahcf: u64,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub platform: u32,
    /// offset: 24
    #[prost(string, tag = "8")]
    pub fight_token: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub account_ip: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub ljkmpimkomo: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub mlklbjjhgio: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub uid: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30078)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jeoilkkmkcn {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint64, tag = "9")]
    pub secret_key_seed: u64,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub mlklbjjhgio: u32,
    /// offset: 32
    #[prost(uint64, tag = "14")]
    pub server_timestamp_ms: u64,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30093)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Femjlemcefd {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gcopdpolecj: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(30088)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oeamnaajjhi {
    /// offset: 24
    #[prost(uint64, tag = "13")]
    pub client_time_ms: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30081)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Imkkkjfheio {
    /// offset: 32
    #[prost(uint64, tag = "1")]
    pub server_time_ms: u64,
    /// offset: 24
    #[prost(uint64, tag = "9")]
    pub client_time_ms: u64,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30086)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oocnbnhoici {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub kaedkfomadj: ::core::option::Option<Bfbhkjljjbj>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(30047)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mcklincmdkk {
    /// offset: 16
    #[prost(bytes = "vec", tag = "5")]
    pub lnbkffideej: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub omfpickpocp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30026)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Icklaninjdb {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub omfpickpocp: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "9")]
    pub lnbkffideej: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30013)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Comjkpomila {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub server_tick: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "6")]
    pub lnbkffideej: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint64, tag = "10")]
    pub server_time_ms: u64,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub omfpickpocp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajjmgkhebfh {
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub fjkdoidebjc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub diedpkcldbf: ::core::option::Option<Comjkpomila>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dabkpefpbol {
    /// offset: 24
    #[prost(bytes = "vec", tag = "6")]
    pub ighfgadjcmg: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub eikoebdegga: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edecdffdaib {
    /// offset: 56
    #[prost(uint32, repeated, tag = "3")]
    pub fjkdoidebjc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub eikoebdegga: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub jhblcegchbe: ::prost::alloc::vec::Vec<Dabkpefpbol>,
    /// offset: 24
    #[prost(bytes = "vec", tag = "8")]
    pub fjlpjjnihlc: ::prost::alloc::vec::Vec<u8>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub bpdmeelpdlf: ::prost::alloc::vec::Vec<Ajjmgkhebfh>,
    /// offset: 40
    #[prost(message, repeated, tag = "12")]
    pub dkggjgdajdd: ::prost::alloc::vec::Vec<Comjkpomila>,
    /// offset: 64
    #[prost(bytes = "vec", tag = "14")]
    pub ighfgadjcmg: ::prost::alloc::vec::Vec<u8>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mmcijkkaeii {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub room_ext_info: ::core::option::Option<Offmcodmkdl>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdabdppphbn {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub linomgedmhc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub cjpdgbplfig: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub alalebdjgha: u32,
}
/// Obf: IIAOPKANEKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3625)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFightActivityDataCsReq {}
/// Obf: KDMLMIFIMHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightActivityDataScRsp {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub falbalfnoff: ::prost::alloc::vec::Vec<Cdabdppphbn>,
    /// offset: 48
    #[prost(bool, tag = "10")]
    pub cfdbdgefjjn: bool,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "15")]
    pub edgpaojeenn: ::std::collections::HashMap<u32, u32>,
}
/// Obf: KLABGDHBEDN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3693)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightActivityDataChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub falbalfnoff: ::prost::alloc::vec::Vec<Cdabdppphbn>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "11")]
    pub edgpaojeenn: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Doiblffdhdg {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
}
/// Obf: NLLDALGJENF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageCsReq {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub dbkhhcggknn: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub maccjkcggii: ::prost::alloc::vec::Vec<Doiblffdhdg>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Obf: LAEGLNJINGN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3688)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterFightActivityStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub dbkhhcggknn: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: HKMMGCDNILJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3681)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeFightActivityRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dbkhhcggknn: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Obf: CPHCFHCEGOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3686)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeFightActivityRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub dbkhhcggknn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opednenfcin {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub bkcelhnlpmn: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub hfadpmmfnck: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub bihmgjnkeoh: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub add_score: u32,
    /// offset: 48
    #[prost(enumeration = "Dilhpbmcofk", tag = "9")]
    pub ipddikphgpe: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub majngjcjnnh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub dhjanofgdnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Liknjlciagi {
    /// offset: 40
    #[prost(uint64, tag = "1")]
    pub time_stamp: u64,
    /// offset: 36
    #[prost(float, tag = "4")]
    pub x: f32,
    /// offset: 28
    #[prost(float, tag = "6")]
    pub y: f32,
    /// offset: 24
    #[prost(float, tag = "10")]
    pub z: f32,
    /// offset: 32
    #[prost(float, tag = "13")]
    pub njdhhmlehfl: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Enfdmfgijdc {
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub interact_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub makkjmndddn: ::core::option::Option<Liknjlciagi>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub mobcpdjgefk: u32,
    /// offset: 44
    #[prost(int32, tag = "5")]
    pub mfpjbeafflg: i32,
    /// offset: 40
    #[prost(int32, tag = "6")]
    pub aekjckodefp: i32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub config_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub elffjoopkjj: u32,
    /// offset: 48
    #[prost(int32, tag = "14")]
    pub ngicbopfbjf: i32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub ebclhmbbaeh: ::core::option::Option<Liknjlciagi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Biccmepjmdo {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub unique_id: i32,
    /// offset: 36
    #[prost(int32, tag = "4")]
    pub direction: i32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub gooamhhlhpj: ::core::option::Option<Kiakknflepn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amdjafahkel {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub gooamhhlhpj: ::core::option::Option<Kiakknflepn>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub gahfpgcpaja: u32,
    /// offset: 40
    #[prost(int32, tag = "12")]
    pub unique_id: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub cdmkbchlpab: ::prost::alloc::vec::Vec<Bjmphaaoefl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhhgbmieboe {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub fdkpcnbcgeg: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub jlahnbimkpd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iajmclglaac {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub phokgkfbhjf: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub phhmkhnpjjk: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<Fhhgbmieboe>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dphajpeadaf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lieljcgknjn {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pgmabehjjab: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub acimpfcleef: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Honbpdejdcc {
    /// offset: 64
    #[prost(map = "uint32, uint32", tag = "1")]
    pub iaigniieobh: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub mlaokgbinne: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub nnfddhnbgai: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub jalddficgoh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub section_id: u32,
    /// offset: 80
    #[prost(uint64, tag = "8")]
    pub start_time_stamp: u64,
    /// offset: 56
    #[prost(message, repeated, tag = "9")]
    pub ikjdcghhaem: ::prost::alloc::vec::Vec<Lieljcgknjn>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub knppcfcichd: ::prost::alloc::vec::Vec<Iajmclglaac>,
    /// offset: 88
    #[prost(uint32, tag = "12")]
    pub gpceageapjl: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub gocbcmibhgn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcbncbnoaae {
    /// offset: 104
    #[prost(uint64, tag = "1")]
    pub level_state_start_timestamp: u64,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub gomohkcjibp: ::core::option::Option<Amdjafahkel>,
    /// offset: 64
    #[prost(message, repeated, tag = "3")]
    pub foemkkbncni: ::prost::alloc::vec::Vec<Honbpdejdcc>,
    /// offset: 72
    #[prost(message, optional, tag = "4")]
    pub eaijchcnmeb: ::core::option::Option<Llolfgckkjb>,
    /// offset: 88
    #[prost(message, repeated, tag = "5")]
    pub hmaihhcbfkp: ::prost::alloc::vec::Vec<Enfdmfgijdc>,
    /// offset: 116
    #[prost(bool, tag = "6")]
    pub eblpglfjnel: bool,
    /// offset: 96
    #[prost(message, repeated, tag = "7")]
    pub cfbccnchbmo: ::prost::alloc::vec::Vec<Nkgaipkinje>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub hncbacaoffj: ::core::option::Option<Dfeahikpklo>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub cbhmlanhmab: ::prost::alloc::vec::Vec<Biccmepjmdo>,
    /// offset: 112
    #[prost(uint32, tag = "10")]
    pub level_state: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub aiijhniipkh: ::prost::alloc::vec::Vec<Jgncjoinemp>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub eeblfgkclpl: ::prost::alloc::vec::Vec<Amdjafahkel>,
    /// offset: 80
    #[prost(message, repeated, tag = "15")]
    pub igmgbggbhhl: ::prost::alloc::vec::Vec<Amdjafahkel>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhebfhdkaio {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub region_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gechepgeikf {
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub nlicfefaple: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub noghncpggmi: ::prost::alloc::vec::Vec<Lhebfhdkaio>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub cnhjpnendjj: ::prost::alloc::vec::Vec<Enfdmfgijdc>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub hegpigmbclo: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub fjkdoidebjc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(bool, tag = "11")]
    pub fdbnnlfjgpd: bool,
    /// offset: 48
    #[prost(message, repeated, tag = "15")]
    pub dgbcnedpglb: ::prost::alloc::vec::Vec<Pjpaolmbkec>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ldnbpinbpkb {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ocpmgbpnmed: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub knbgbcebldf: ::core::option::Option<Pcbncbnoaae>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mpkpfcnkecg {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub kolgnpbhccd: ::core::option::Option<Amdjafahkel>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub cbhmlanhmab: ::prost::alloc::vec::Vec<Biccmepjmdo>,
    /// offset: 56
    #[prost(message, repeated, tag = "9")]
    pub hmaihhcbfkp: ::prost::alloc::vec::Vec<Enfdmfgijdc>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub gimogcaadeh: ::prost::alloc::vec::Vec<Amdjafahkel>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub jcfcmnodnpa: ::prost::alloc::vec::Vec<Amdjafahkel>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ngjlhmahidd {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub level_state: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub foemkkbncni: ::prost::alloc::vec::Vec<Honbpdejdcc>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ocpmgbpnmed: u32,
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub level_state_start_timestamp: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnhbcbidfbe {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub dphajpeadaf: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub nikichnogjd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mdkflgdejcn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fgjakgpjckb {
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub nicbadcocba: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub rank: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub jdgmehcpgll: ::prost::alloc::vec::Vec<Pnhbcbidfbe>,
    /// offset: 36
    #[prost(int32, tag = "12")]
    pub mhahljplcii: i32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub kmfapdjcklf: u32,
    /// offset: 44
    #[prost(int32, tag = "15")]
    pub elpdajbofee: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ncgplafmdcj {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub ikjdcghhaem: ::prost::alloc::vec::Vec<Lieljcgknjn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kiakknflepn {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub mdngadjpmch: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub alikfdckgjb: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub mofehokgeje: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbchhgdhkig {
    /// offset: 24
    #[prost(int32, tag = "1")]
    pub z: i32,
    /// offset: 32
    #[prost(int32, tag = "6")]
    pub x: i32,
    /// offset: 28
    #[prost(int32, tag = "7")]
    pub y: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjpaolmbkec {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub unique_id: i32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub pos_index: ::core::option::Option<Kiakknflepn>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub gdiggoljibj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fcoenpkoebp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub jekloeppjbk: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub biacklbmmap: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub gahfpgcpaja: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub opmgdnnaejf: ::core::option::Option<Jbchhgdhkig>,
    /// offset: 48
    #[prost(enumeration = "Eilnmpefgom", tag = "15")]
    pub owner_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ejhiifcipmb {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub nlkhkhfiohl: ::prost::alloc::vec::Vec<Pjpaolmbkec>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nkgaipkinje {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub onhhlcknhhh: ::core::option::Option<Kiakknflepn>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hajjkfaijbd {
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub bhpcoapagma: bool,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub item: ::core::option::Option<Nkgaipkinje>,
    #[prost(oneof = "hajjkfaijbd::Piepadodedd", tags = "8, 15")]
    pub piepadodedd: ::core::option::Option<hajjkfaijbd::Piepadodedd>,
}
/// Nested message and enum types in `HAJJKFAIJBD`.
pub mod hajjkfaijbd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Piepadodedd {
        /// offset: 16
        #[prost(uint32, tag = "8")]
        Elgolplgfkj(u32),
        /// offset: 16
        #[prost(bool, tag = "15")]
        Dajhcekhnbh(bool),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbneiiglhdh {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub lnigpedgcfi: ::prost::alloc::vec::Vec<Hajjkfaijbd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfmaaajfloa {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub loglbcpnael: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub lhhjfmmcbaf: u32,
    #[prost(oneof = "pfmaaajfloa::Hgeokhhjaie", tags = "2, 1")]
    pub hgeokhhjaie: ::core::option::Option<pfmaaajfloa::Hgeokhhjaie>,
}
/// Nested message and enum types in `PFMAAAJFLOA`.
pub mod pfmaaajfloa {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Hgeokhhjaie {
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Fjlcmpapiga(u32),
        /// offset: 24
        #[prost(message, tag = "1")]
        Ebemkmgccgj(super::Nkgaipkinje),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llolfgckkjb {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub cnlndhjcpaf: ::prost::alloc::vec::Vec<Pfmaaajfloa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dfeahikpklo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub jkfahhnmkgo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub langnefhagj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Necnannngbn {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub dohlbhllafo: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub dcdoelcpohb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bpdkjkjgecm {
    #[prost(oneof = "bpdkjkjgecm::Pnblcphjnno", tags = "10")]
    pub pnblcphjnno: ::core::option::Option<bpdkjkjgecm::Pnblcphjnno>,
}
/// Nested message and enum types in `BPDKJKJGECM`.
pub mod bpdkjkjgecm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Pnblcphjnno {
        /// offset: 24
        #[prost(message, tag = "10")]
        Njfnfnbkemk(super::Necnannngbn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jgncjoinemp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub pos_index: ::core::option::Option<Liknjlciagi>,
    /// offset: 44
    #[prost(bool, tag = "5")]
    pub bhpcoapagma: bool,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub shape: ::core::option::Option<Bpdkjkjgecm>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub show_type: u32,
    /// offset: 40
    #[prost(int32, tag = "11")]
    pub unique_id: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdlgmiioach {
    #[prost(oneof = "fdlgmiioach::Nnihphpegij", tags = "14, 11")]
    pub nnihphpegij: ::core::option::Option<fdlgmiioach::Nnihphpegij>,
}
/// Nested message and enum types in `FDLGMIIOACH`.
pub mod fdlgmiioach {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nnihphpegij {
        /// offset: 16
        #[prost(uint32, tag = "14")]
        Nndncaegdfi(u32),
        /// offset: 16
        #[prost(uint32, tag = "11")]
        ExtraId(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Leijjpbkbkg {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub mpgpeofgdcn: ::core::option::Option<Fdlgmiioach>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub dhjanofgdnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hnoenbkdpfh {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub cpikeighmgb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hcflappbpop {
    /// offset: 32
    #[prost(uint64, tag = "10")]
    pub time_stamp: u64,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub nmnkdookmpc: u32,
    #[prost(
        oneof = "hcflappbpop::Ebfmchooaog",
        tags = "220, 2019, 647, 1959, 1065, 265, 159, 1678, 1315, 443, 1653, 1172, 295, 672"
    )]
    pub ebfmchooaog: ::core::option::Option<hcflappbpop::Ebfmchooaog>,
}
/// Nested message and enum types in `HCFLAPPBPOP`.
pub mod hcflappbpop {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ebfmchooaog {
        /// offset: 24
        #[prost(message, tag = "220")]
        Knbgbcebldf(super::Ldnbpinbpkb),
        /// offset: 24
        #[prost(message, tag = "2019")]
        Mkpdgfemjma(super::Mpkpfcnkecg),
        /// offset: 24
        #[prost(message, tag = "647")]
        Igdlinldkkk(super::Ngjlhmahidd),
        /// offset: 24
        #[prost(message, tag = "1959")]
        Hephjjolhpi(super::Fgjakgpjckb),
        /// offset: 24
        #[prost(message, tag = "1065")]
        Dgcdfcmiagb(super::Ncgplafmdcj),
        /// offset: 24
        #[prost(message, tag = "265")]
        Kbljahkcndn(super::Fcoenpkoebp),
        /// offset: 24
        #[prost(message, tag = "159")]
        Fimobdmhlnd(super::Ejhiifcipmb),
        /// offset: 24
        #[prost(message, tag = "1678")]
        Oppgliepbpg(super::Fbneiiglhdh),
        /// offset: 24
        #[prost(message, tag = "1315")]
        Oflmaaobieb(super::Llolfgckkjb),
        /// offset: 24
        #[prost(message, tag = "443")]
        Hncbacaoffj(super::Dfeahikpklo),
        /// offset: 24
        #[prost(message, tag = "1653")]
        Jicjmdjfmna(super::Jgncjoinemp),
        /// offset: 24
        #[prost(message, tag = "1172")]
        Mpgpeofgdcn(super::Leijjpbkbkg),
        /// offset: 24
        #[prost(message, tag = "295")]
        Lglfacnkkld(super::Enfdmfgijdc),
        /// offset: 24
        #[prost(message, tag = "672")]
        Ddopjjiifio(super::Hnoenbkdpfh),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhmpcnecebg {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub collinoieee: ::prost::alloc::vec::Vec<Hcflappbpop>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omlgpgpjgjk {
    /// offset: 48
    #[prost(uint64, tag = "4")]
    pub dnfceekgakj: u64,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub hephjjolhpi: ::core::option::Option<Fgjakgpjckb>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub knbgbcebldf: ::core::option::Option<Pcbncbnoaae>,
    /// offset: 56
    #[prost(uint64, tag = "10")]
    pub time_stamp: u64,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub apidhhklgej: ::core::option::Option<Gechepgeikf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jljobfcibbc {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dphajpeadaf: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub jlahnbimkpd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpcimihkcgg {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub jlahnbimkpd: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dphajpeadaf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nonkablnhem {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pgmabehjjab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nndmmmhdgih {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pgmabehjjab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hccjojgjngk {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bhhehppheki {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emnnnchnpkp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub opmgdnnaejf: ::core::option::Option<Jbchhgdhkig>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub biacklbmmap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilepjclbbjd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pbigejhgleh {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub mpgpeofgdcn: ::core::option::Option<Fdlgmiioach>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eephehaefof {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Opihmoohipc {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub dhjanofgdnp: u64,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub ainkfeinnak: bool,
    /// offset: 40
    #[prost(enumeration = "Dilhpbmcofk", tag = "3")]
    pub ipddikphgpe: i32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub damage: u32,
    /// offset: 33
    #[prost(bool, tag = "10")]
    pub olnmgffjmoj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlidbldlbbm {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub lmplljfmfec: ::prost::alloc::vec::Vec<Ehmepomcgng>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub eoilkccleif: u32,
    /// offset: 49
    #[prost(bool, tag = "7")]
    pub olnmgffjmoj: bool,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub aelaegoobmb: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub jdgmehcpgll: ::prost::alloc::vec::Vec<Lpgjplmhkfl>,
    /// offset: 56
    #[prost(uint64, tag = "11")]
    pub dhjanofgdnp: u64,
    /// offset: 40
    #[prost(enumeration = "Dilhpbmcofk", tag = "12")]
    pub ipddikphgpe: i32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub kghbjelhoba: u32,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub fgbijplpobi: u32,
    /// offset: 48
    #[prost(bool, tag = "15")]
    pub ainkfeinnak: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpjoincgbbp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub djfgdmidehj: u32,
    /// offset: 24
    #[prost(enumeration = "Bglimcbglaj", tag = "4")]
    pub oingnajmfnl: i32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
}
/// Obf: CKPAPNKFBHD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7259)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFightFestDataCsReq {}
/// Obf: HNOJGAGPFBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7273)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFightFestDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub giljleoaoma: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub score_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub challenge_list: ::prost::alloc::vec::Vec<Lpjoincgbbp>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epcngneembi {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Obf: IKJDKNKJBGI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7287)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub avatar_list: ::prost::alloc::vec::Vec<Epcngneembi>,
    /// offset: 48
    #[prost(enumeration = "FightFestType", tag = "3")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub giljleoaoma: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Obf: LCGFKNIAMBE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7294)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartFightFestScRsp {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 36
    #[prost(enumeration = "FightFestType", tag = "4")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Obf: OPIKBFAICKP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7269)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FightFestScoreUpdateNotify {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub jodnmfefpfd: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub score_id: u32,
}
/// Obf: JJEHDBECIMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7298)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FightFestUnlockSkillNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub amagkdcbfgl: u32,
}
/// Obf: JEGBMCKBMOB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7253)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FightFestUpdateChallengeRecordNotify {
    /// offset: 40
    #[prost(enumeration = "Bglimcbglaj", tag = "1")]
    pub hmbbbnkaild: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub challenge_id: u32,
    /// offset: 24
    #[prost(enumeration = "Bglimcbglaj", tag = "10")]
    pub rank: i32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub djfgdmidehj: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub turn_left: u32,
}
/// Obf: ENBAEEHAEBD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7257)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FightFestUpdateCoinNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub item_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gijbcjpelbg {
    /// offset: 32
    #[prost(int32, tag = "3")]
    pub oddlbglacko: i32,
    /// offset: 36
    #[prost(enumeration = "Dilhpbmcofk", tag = "7")]
    pub ipddikphgpe: i32,
    /// offset: 24
    #[prost(uint64, tag = "11")]
    pub dhjanofgdnp: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oplfjchfncg {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub clggklnplck: ::prost::alloc::vec::Vec<Gijbcjpelbg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Hdhpahifepm {
    /// offset: 24
    #[prost(float, tag = "10")]
    pub x: f32,
    /// offset: 28
    #[prost(float, tag = "11")]
    pub y: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ebmclnpbhjh {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub item_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub mhklpamdkbn: ::core::option::Option<Hdhpahifepm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cellcckjigl {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nmnkdookmpc: u32,
    #[prost(oneof = "cellcckjigl::Ebfmchooaog", tags = "1590, 24, 826, 233, 1897")]
    pub ebfmchooaog: ::core::option::Option<cellcckjigl::Ebfmchooaog>,
}
/// Nested message and enum types in `CELLCCKJIGL`.
pub mod cellcckjigl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ebfmchooaog {
        /// offset: 24
        #[prost(message, tag = "1590")]
        Dcciljibpnk(super::Gfhckbhcndf),
        /// offset: 24
        #[prost(message, tag = "24")]
        Fheoaodaclk(super::Ambafemggld),
        /// offset: 24
        #[prost(message, tag = "826")]
        Nleomlnokcc(super::Hidpfiaallb),
        /// offset: 24
        #[prost(message, tag = "233")]
        Knbgbcebldf(super::Mbdobechoja),
        /// offset: 24
        #[prost(message, tag = "1897")]
        Ndjkpabpjho(super::Plagfaclpdl),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eaccojlopjl {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub cdamkbglnko: ::prost::alloc::vec::Vec<Cellcckjigl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfhckbhcndf {
    /// offset: 57
    #[prost(bool, tag = "1")]
    pub fdbnnlfjgpd: bool,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub ihplbmkacip: u32,
    /// offset: 56
    #[prost(bool, tag = "3")]
    pub aijjakifabf: bool,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub cjjmdmocpdj: u32,
    /// offset: 80
    #[prost(uint32, tag = "5")]
    pub gnamnbdiekg: u32,
    /// offset: 84
    #[prost(enumeration = "Ejlgeokijkh", tag = "6")]
    pub dojgfckagkb: i32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub ddpbfaenjjn: u32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub fhdbcdepbak: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub team_a: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "10")]
    pub oibchbjchje: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub nfplnbkifcf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub fkdfhhlldeb: u32,
    /// offset: 76
    #[prost(uint32, tag = "13")]
    pub dnoleomjhlh: u32,
    /// offset: 48
    #[prost(enumeration = "Ejlgeokijkh", tag = "14")]
    pub mbnnikfmldg: i32,
    /// offset: 72
    #[prost(uint32, tag = "15")]
    pub level_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "514")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lndnibfbgac {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub mdkflgdejcn: u32,
    /// offset: 40
    #[prost(int32, tag = "3")]
    pub kdmpkipaidj: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 28
    #[prost(int32, tag = "10")]
    pub pdemophanla: i32,
    /// offset: 32
    #[prost(int32, tag = "14")]
    pub total_damage: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hidpfiaallb {
    /// offset: 45
    #[prost(bool, tag = "1")]
    pub is_win: bool,
    /// offset: 44
    #[prost(bool, tag = "2")]
    pub is_friend: bool,
    /// offset: 40
    #[prost(enumeration = "Hejphkgcnba", tag = "8")]
    pub lhniiohnifl: i32,
    /// offset: 36
    #[prost(int32, tag = "9")]
    pub add_score: i32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub biepffbbjhg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub odcopmfbhnk: ::prost::alloc::vec::Vec<Lndnibfbgac>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fdkpcnbcgeg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Pboffjnbfmi {
    /// offset: 148
    #[prost(int32, tag = "1")]
    pub hp: i32,
    /// offset: 84
    #[prost(int32, tag = "2")]
    pub max_hp: i32,
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub skill_id: u32,
    /// offset: 152
    #[prost(enumeration = "Cihoeepibai", tag = "4")]
    pub foaggpdeelf: i32,
    /// offset: 76
    #[prost(float, tag = "5")]
    pub time: f32,
    /// offset: 140
    #[prost(enumeration = "Gpeefaoibnb", tag = "6")]
    pub ghchjaodjmf: i32,
    /// offset: 56
    #[prost(message, optional, tag = "7")]
    pub velocity: ::core::option::Option<Hdhpahifepm>,
    /// offset: 64
    #[prost(int32, tag = "8")]
    pub attack: i32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub position: ::core::option::Option<Hdhpahifepm>,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub forward: ::core::option::Option<Hdhpahifepm>,
    /// offset: 92
    #[prost(uint32, tag = "11")]
    pub ldpmamjnogj: u32,
    /// offset: 128
    #[prost(uint32, tag = "12")]
    pub bgjcocdahlc: u32,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub acginicehml: ::core::option::Option<Hdhpahifepm>,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub pimfiphjjli: ::core::option::Option<Hdhpahifepm>,
    /// offset: 101
    #[prost(bool, tag = "25")]
    pub plckakedcam: bool,
    /// offset: 100
    #[prost(bool, tag = "175")]
    pub on_field: bool,
    /// offset: 120
    #[prost(float, tag = "291")]
    pub radius: f32,
    /// offset: 156
    #[prost(uint32, tag = "372")]
    pub fliedgkfnol: u32,
    /// offset: 136
    #[prost(uint32, tag = "769")]
    pub ddpbfaenjjn: u32,
    /// offset: 104
    #[prost(uint32, tag = "890")]
    pub level: u32,
    /// offset: 116
    #[prost(uint32, tag = "919")]
    pub ihlfjoheime: u32,
    /// offset: 96
    #[prost(uint32, tag = "944")]
    pub tech_id: u32,
    /// offset: 132
    #[prost(enumeration = "FightMarbleHpChangeType", tag = "1100")]
    pub hdlkkfcmcpj: i32,
    /// offset: 72
    #[prost(uint32, tag = "1196")]
    pub fhdbcdepbak: u32,
    /// offset: 102
    #[prost(bool, tag = "1600")]
    pub has_shield: bool,
    /// offset: 124
    #[prost(float, tag = "1617")]
    pub ampckjngioo: f32,
    /// offset: 108
    #[prost(uint32, tag = "1619")]
    pub buff_id: u32,
    /// offset: 68
    #[prost(int32, tag = "1944")]
    pub gifjodbplpj: i32,
    /// offset: 144
    #[prost(uint32, tag = "1973")]
    pub ipjlompbpfi: u32,
    /// offset: 112
    #[prost(uint32, tag = "1988")]
    pub text_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ambafemggld {
    /// offset: 112
    #[prost(uint32, tag = "1")]
    pub queue_position: u32,
    /// offset: 64
    #[prost(uint32, tag = "2")]
    pub dbjlghgdkeb: u32,
    /// offset: 102
    #[prost(bool, tag = "3")]
    pub mkakpeahbdh: bool,
    /// offset: 84
    #[prost(float, tag = "4")]
    pub total_time: f32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub fkgaigoehnh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub cdddbpdoofh: ::prost::alloc::vec::Vec<Pboffjnbfmi>,
    /// offset: 104
    #[prost(uint32, tag = "7")]
    pub acfinmjepej: u32,
    /// offset: 92
    #[prost(enumeration = "Ckhkfieaaii", tag = "8")]
    pub moajkmoekgp: i32,
    /// offset: 101
    #[prost(bool, tag = "9")]
    pub round_team_a: bool,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub hhnfknphhoi: u32,
    /// offset: 80
    #[prost(uint32, tag = "11")]
    pub emoji_id: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "12")]
    pub hndckmndocd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub round: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "14")]
    pub kghfcilhgjl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "15")]
    pub tech_id: u32,
    /// offset: 100
    #[prost(bool, tag = "181")]
    pub round_first_team_a: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "263")]
    pub ellmnbjoldl: ::prost::alloc::vec::Vec<Pboffjnbfmi>,
    /// offset: 72
    #[prost(uint32, tag = "347")]
    pub popmbkkmaje: u32,
    /// offset: 76
    #[prost(uint32, tag = "1478")]
    pub einhgipfnbg: u32,
    /// offset: 108
    #[prost(uint32, tag = "1795")]
    pub anlofaljcpo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbdobechoja {
    /// offset: 80
    #[prost(uint32, tag = "1")]
    pub round: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub cjjmdmocpdj: ::core::option::Option<Ghjbbhooobc>,
    /// offset: 84
    #[prost(float, tag = "3")]
    pub lmodidjmjih: f32,
    /// offset: 88
    #[prost(bool, tag = "4")]
    pub round_first_team_a: bool,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub win_score: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub fdkpcnbcgeg: u32,
    /// offset: 64
    #[prost(message, optional, tag = "8")]
    pub dcciljibpnk: ::core::option::Option<Gfhckbhcndf>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub ocmembaklmm: ::prost::alloc::vec::Vec<Lijfhhmgbfe>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub oibchbjchje: ::core::option::Option<Ghjbbhooobc>,
    /// offset: 72
    #[prost(enumeration = "Dnlhkfilmlb", tag = "13")]
    pub phase: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub najeipkgaco: ::prost::alloc::vec::Vec<Lijfhhmgbfe>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "15")]
    pub kghfcilhgjl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Plagfaclpdl {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub mhklpamdkbn: ::core::option::Option<Hdhpahifepm>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub fdkpcnbcgeg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ghjbbhooobc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub kpljdhjncdi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub jaicomfnbem: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub epdmklfcjfa: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub ppmhkahhdkg: ::prost::alloc::vec::Vec<Npgcefkjoin>,
    /// offset: 56
    #[prost(bool, tag = "10")]
    pub hide_line: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub team: ::prost::alloc::vec::Vec<Lijfhhmgbfe>,
    /// offset: 57
    #[prost(bool, tag = "15")]
    pub plckakedcam: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lijfhhmgbfe {
    /// offset: 40
    #[prost(float, tag = "1")]
    pub radius: f32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub ihlfjoheime: u32,
    /// offset: 48
    #[prost(int32, tag = "4")]
    pub attack: i32,
    /// offset: 58
    #[prost(bool, tag = "5")]
    pub is_dead: bool,
    /// offset: 56
    #[prost(bool, tag = "6")]
    pub has_shield: bool,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub buff_id: u32,
    /// offset: 60
    #[prost(int32, tag = "8")]
    pub max_hp: i32,
    /// offset: 59
    #[prost(bool, tag = "9")]
    pub mkakpeahbdh: bool,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub position: ::core::option::Option<Hdhpahifepm>,
    /// offset: 57
    #[prost(bool, tag = "12")]
    pub on_field: bool,
    /// offset: 72
    #[prost(int32, tag = "13")]
    pub hp: i32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub forward: ::core::option::Option<Hdhpahifepm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npgcefkjoin {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub tech_id: u32,
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub active: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbilgcpcjod {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub ophfdhgblpj: u32,
    /// offset: 52
    #[prost(bool, tag = "3")]
    pub bkfonknlchp: bool,
    /// offset: 36
    #[prost(enumeration = "Nhhjaonhddg", tag = "4")]
    pub state: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub item_list: ::prost::alloc::vec::Vec<Dlbgongjbnc>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub score_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub ifocjcocdbh: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub dhjanofgdnp: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub rank: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub hp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jecnoeljlko {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub lpopkegolhb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub bpbmjbidiic: u32,
    /// offset: 48
    #[prost(int32, tag = "5")]
    pub hijjdgbomdl: i32,
    /// offset: 56
    #[prost(uint64, tag = "7")]
    pub fikhcebopmi: u64,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub bfcgoellnip: ::prost::alloc::vec::Vec<Jbilgcpcjod>,
    /// offset: 52
    #[prost(enumeration = "Pfphjfegdaa", tag = "11")]
    pub cur_state: i32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub knbgbcebldf: ::core::option::Option<Ipgijfnaflc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dflihggnbdb {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub edigeanpbnl: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub row: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ipgijfnaflc {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub op_list: ::prost::alloc::vec::Vec<Mnoomfiafpf>,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub likmimcfpkc: u32,
    /// offset: 92
    #[prost(uint32, tag = "3")]
    pub fhefkogamhk: u32,
    /// offset: 80
    #[prost(uint32, tag = "4")]
    pub djjodjaaiga: u32,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub igdofklailh: u32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "7")]
    pub mncpgdnoiam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "8")]
    pub cur_hp: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub jdfpkamfhap: ::core::option::Option<Lajglhccned>,
    /// offset: 48
    #[prost(message, repeated, tag = "10")]
    pub item_list: ::prost::alloc::vec::Vec<Dlbgongjbnc>,
    /// offset: 84
    #[prost(enumeration = "Nhhjaonhddg", tag = "11")]
    pub lhniiohnifl: i32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub jjjblajdedc: u32,
    /// offset: 76
    #[prost(uint32, tag = "14")]
    pub energy_info: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub buff_list: ::prost::alloc::vec::Vec<Gmgablbkjmc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jfjdmgomjof {
    /// offset: 32
    #[prost(enumeration = "Ablccphiomi", tag = "1")]
    pub jnieikokbgk: i32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub kgocfeinbin: ::core::option::Option<Ipgijfnaflc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Plhpjckdedi {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmbcnfkfabk {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub data: ::core::option::Option<Jecnoeljlko>,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30193)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmomcmjofgg {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub data: ::core::option::Option<Jecnoeljlko>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30158)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ieogedfaelp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ehiellklpck: ::core::option::Option<Jecnoeljlko>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30188)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Godeellflen {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub jmiomljdcnn: ::core::option::Option<Jecnoeljlko>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub enjmgojpnoe: ::core::option::Option<Jecnoeljlko>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okipfienkif {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ggcmcddgeib: ::core::option::Option<Dflihggnbdb>,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub dgklocjhknh: ::prost::alloc::vec::Vec<Jfjdmgomjof>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub opmgdnnaejf: ::core::option::Option<Dflihggnbdb>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub eaffaccbaaa: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30186)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnglljknkhg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub eaffaccbaaa: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub ihbohkkcgcp: ::core::option::Option<Ipgijfnaflc>,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub bdcnnnnllhj: bool,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30147)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbfdmfjkoop {
    /// offset: 36
    #[prost(enumeration = "Nhhjaonhddg", tag = "3")]
    pub state: i32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub hp: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub ifocjcocdbh: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub bpbmjbidiic: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub item_list: ::prost::alloc::vec::Vec<Dlbgongjbnc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Beogfndkcil {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub pifnijhpljc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30113)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhlmfdbfcec {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub pifnijhpljc: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30171)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kinfingmick {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub pifnijhpljc: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub objcjgpihad: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eagcpepioio {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub data: ::core::option::Option<Jecnoeljlko>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dlbgongjbnc {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fmehkpkhgja: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub dggcfdkjdpo: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub odfedcplnem: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub pnghfklcnbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mnoomfiafpf {
    /// offset: 24
    #[prost(enumeration = "Fncfihafggn", tag = "2")]
    pub op_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub mpkcanfhchg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmgablbkjmc {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub param: u32,
    /// offset: 28
    #[prost(enumeration = "Fdicbbegkeo", tag = "14")]
    pub buff_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klgjdilnndh {
    /// offset: 56
    #[prost(enumeration = "Nhhjaonhddg", tag = "1")]
    pub lhniiohnifl: i32,
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub score_id: u32,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub oclbmmnnmfc: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub item_list: ::prost::alloc::vec::Vec<Dlbgongjbnc>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub ophfdhgblpj: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub jdfpkamfhap: ::core::option::Option<Lajglhccned>,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub fhefkogamhk: u32,
    /// offset: 64
    #[prost(uint32, tag = "9")]
    pub energy_info: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub dhjanofgdnp: u32,
    /// offset: 49
    #[prost(bool, tag = "13")]
    pub anmlapadelo: bool,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub igdofklailh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhmepbagoff {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub fikhcebopmi: u64,
    /// offset: 40
    #[prost(int32, tag = "3")]
    pub hijjdgbomdl: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub bfcgoellnip: ::prost::alloc::vec::Vec<Klgjdilnndh>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub pbeplkmnakf: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub naokgngbhao: u32,
    /// offset: 48
    #[prost(enumeration = "Amdmkhkohnf", tag = "10")]
    pub cur_state: i32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub knbgbcebldf: ::core::option::Option<Ipgijfnaflc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkbdakmldmc {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub gnabnedkphh: ::prost::alloc::vec::Vec<Dflihggnbdb>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub mmlnampfaka: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub use_item_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub dgklocjhknh: ::prost::alloc::vec::Vec<Jfjdmgomjof>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajohoigmcnn {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub llcpohadbkb: ::core::option::Option<Ipgijfnaflc>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub use_item_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhaplemdkgn {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30104)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Llfikhhpjeb {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub data: ::core::option::Option<Bhmepbagoff>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eefdjlpdcfo {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub dpjlmfbadmm: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub emlbkokeaoh: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub pbeplkmnakf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30136)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcmgfcdnaie {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgeofjjkfnf {
    /// offset: 32
    #[prost(enumeration = "Ckgofmfnipp", tag = "2")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub data: ::core::option::Option<Bhmepbagoff>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30145)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojlhciddfdf {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub llcpohadbkb: ::core::option::Option<Ipgijfnaflc>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub pbapicndidn: ::core::option::Option<Okipfienkif>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30169)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Opaoiblfjom {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub llcpohadbkb: ::core::option::Option<Ipgijfnaflc>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub pbapicndidn: ::core::option::Option<Pkbdakmldmc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdpefgcigfb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30130)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbdjajakcff {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lphchejempd {
    /// offset: 24
    #[prost(enumeration = "Nhhjaonhddg", tag = "1")]
    pub state: i32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub dhjanofgdnp: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fojdklchckg {
    /// offset: 60
    #[prost(int32, tag = "1")]
    pub hijjdgbomdl: i32,
    /// offset: 40
    #[prost(enumeration = "Iffkdfpjecm", tag = "4")]
    pub cur_state: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub bfcgoellnip: ::prost::alloc::vec::Vec<Lphchejempd>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub knbgbcebldf: ::core::option::Option<Ipgijfnaflc>,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub naokgngbhao: u32,
    /// offset: 48
    #[prost(uint64, tag = "14")]
    pub fikhcebopmi: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgejhkfilme {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30172)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkbjoghcfoa {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub khefahcphbl: ::core::option::Option<Fojdklchckg>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30180)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbmpobjdaff {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub khefahcphbl: ::core::option::Option<Fojdklchckg>,
    /// offset: 32
    #[prost(enumeration = "Dikcfaicohb", tag = "14")]
    pub reason: i32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(30184)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpddoadgcmg {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub naokgngbhao: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub bfcgoellnip: ::prost::alloc::vec::Vec<Lphchejempd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Boinncfonae {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub cjpdgbplfig: u32,
    /// offset: 36
    #[prost(enumeration = "Dilhpbmcofk", tag = "3")]
    pub ipddikphgpe: i32,
    /// offset: 48
    #[prost(uint64, tag = "8")]
    pub dhjanofgdnp: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub cast_skill_info_list: ::prost::alloc::vec::Vec<Hdlcapdikji>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub mnhpdbedjlb: u32,
}
/// Obf: DFKEBOHGDKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2258)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimGameDataCsReq {}
/// Obf: BNFGMKBICKJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2271)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimGameDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub kegaohgoald: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub cpfcmklcmfg: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub cfdiklbinhk: ::core::option::Option<Dghpidmdojm>,
}
/// Obf: AGDNLAAKGDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2262)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterFiveDimGameCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub oeibhlmdjka: ::core::option::Option<Blphonlbnbo>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ppjfmbigigb: ::core::option::Option<Ahclmagahpn>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub hkgdhopgckf: ::core::option::Option<MotionInfo>,
}
/// Obf: IBAAHKDOHDB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2257)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterFiveDimGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: BGBIBDECAFH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2255)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveFiveDimGameCsReq {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub pjlkehonhed: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub hkgdhopgckf: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(enumeration = "Kfdepbclenf", tag = "8")]
    pub kehgfmamepd: i32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub cogdlbmppnm: u32,
}
/// Obf: OMFLOBEGHNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2259)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveFiveDimGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub client_pos_version: u32,
}
/// Obf: FPAKIHDJMIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2269)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateFiveDimGameDataCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gabodfdmpmm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ppjfmbigigb: ::core::option::Option<Ahclmagahpn>,
}
/// Obf: PKFCCICBLGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2268)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateFiveDimGameDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: BOFJIOEKDFK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2265)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimGameTransferCsReq {
    /// offset: 44
    #[prost(enumeration = "Kfdepbclenf", tag = "1")]
    pub kehgfmamepd: i32,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ppjfmbigigb: ::core::option::Option<Ahclmagahpn>,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub oeibhlmdjka: ::core::option::Option<Blphonlbnbo>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub cogdlbmppnm: u32,
}
/// Obf: AGBDHJMJFHD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2272)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimGameTransferScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: DCJGNLLAHEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2253)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimGameDataUpdateScNotify {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub hbjljjajhoi: bool,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub cfdiklbinhk: ::core::option::Option<Dghpidmdojm>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub client_pos_version: u32,
}
/// Obf: IBCFCAOKMOP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2261)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimJumpEnergyChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cpfcmklcmfg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddhkgaknoek {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub jidcdlcbkhg: u32,
}
/// Obf: NPPLIGADGDF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2254)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimMoneyScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub jidcdlcbkhg: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub gjhkpigeiio: u32,
}
/// Obf: CMJAOMBHJNL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2251)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimMoneyChangeScNotify {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub oepccmapffh: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub kfbjgfjhgek: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikfdijleoja {}
/// Obf: NFEJKBHMEOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2252)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimMoneyDataScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub kfbjgfjhgek: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub oepccmapffh: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AssistSimpleInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pos: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub dressed_skin_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hhjannigckm {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub egllmgllhdl: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Icmgdjbdfea {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub lmppdgofomf: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub nckjlaejndp: ::core::option::Option<Hhjannigckm>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub max_level: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub fbogdahndka: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pibfidoepap {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub gnifodgcpaa: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub fffngbkhoea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jmocdmhfejg {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub kgbhikkljmk: ::core::option::Option<Pibfidoepap>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejakbkoeepc {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub bhdklajpmbj: ::core::option::Option<Jmocdmhfejg>,
}
/// Obf: FriendGridFightRecord
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FriendGridFightRecord {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Paefdelfkjk {
    /// offset: 48
    #[prost(enumeration = "BattleRecordType", tag = "3")]
    pub display_type: i32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub bamdehaicda: ::core::option::Option<FriendGridFightRecord>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub kblklgdcomf: ::core::option::Option<Ejakbkoeepc>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub amldhbmigen: ::core::option::Option<Icmgdjbdfea>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSimpleInfo {
    /// offset: 84
    #[prost(bool, tag = "1")]
    pub is_banned: bool,
    /// offset: 80
    #[prost(uint32, tag = "2")]
    pub chat_bubble_id: u32,
    /// offset: 40
    #[prost(string, tag = "3")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "4")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 88
    #[prost(uint32, tag = "5")]
    pub head_icon: u32,
    /// offset: 116
    #[prost(uint32, tag = "6")]
    pub personal_card: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub player_outfit_data: ::core::option::Option<Cjlcpmdgibo>,
    /// offset: 132
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 72
    #[prost(string, tag = "9")]
    pub platform_nick: ::prost::alloc::string::String,
    /// offset: 104
    #[prost(enumeration = "FriendOnlineStatus", tag = "10")]
    pub online_status: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub assist_simple_info_list: ::prost::alloc::vec::Vec<AssistSimpleInfo>,
    /// offset: 108
    #[prost(uint32, tag = "12")]
    pub uid: u32,
    /// offset: 48
    #[prost(string, tag = "13")]
    pub platform_uuid: ::prost::alloc::string::String,
    /// offset: 120
    #[prost(int64, tag = "14")]
    pub last_active_time: i64,
    /// offset: 128
    #[prost(enumeration = "PlatformType", tag = "15")]
    pub platform: i32,
    /// offset: 112
    #[prost(uint32, tag = "48")]
    pub gender: u32,
    /// offset: 64
    #[prost(message, optional, tag = "837")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 96
    #[prost(int64, tag = "1034")]
    pub update_time: i64,
}
/// Obf: DisplayEquipmentInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisplayEquipmentInfo {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub exp: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub promotion: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub rank: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayRelicInfo {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub exp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub tid: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub main_affix_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarDetailInfo {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub enhanced_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub rank: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub pos: u32,
    /// offset: 68
    #[prost(uint32, tag = "5")]
    pub dressed_skin_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub skilltree_list: ::prost::alloc::vec::Vec<AvatarSkillTree>,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub exp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub equipment: ::core::option::Option<DisplayEquipmentInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub relic_list: ::prost::alloc::vec::Vec<DisplayRelicInfo>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub avatar_type: u32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub promotion: u32,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
    /// offset: 76
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edegahhanmf {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mbhjnpeilcl: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub plkagmlbcdg: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub openpjjladd: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub igenpdkhdmc: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub lcddmlimaga: u32,
}
/// Obf: PlayerRecordInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerRecordInfo {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub eoggpdhkkbj: ::core::option::Option<Edegahhanmf>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub jjkikobajlf: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub mimeceafdnk: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub ppfddfahled: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub dioiifahakk: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub neckjbhekhe: u32,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub mhoijfebapa: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub kcbinjnibno: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub algeolgnfbl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohkdpnbgpoa {
    /// offset: 25
    #[prost(bool, tag = "2")]
    pub makolelflfh: bool,
    /// offset: 27
    #[prost(bool, tag = "3")]
    pub dcjecfmmibc: bool,
    /// offset: 26
    #[prost(bool, tag = "5")]
    pub gnfddpemmfn: bool,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub pfbhgahafmd: bool,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub iojeaocobbf: bool,
}
/// Obf: PlayerDetailInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerDetailInfo {
    /// offset: 136
    #[prost(bool, tag = "1")]
    pub is_banned: bool,
    /// offset: 64
    #[prost(string, tag = "2")]
    pub djonelmifee: ::prost::alloc::string::String,
    /// offset: 124
    #[prost(uint32, tag = "3")]
    pub head_icon: u32,
    /// offset: 56
    #[prost(string, tag = "4")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 128
    #[prost(uint32, tag = "5")]
    pub hcgmagdfaao: u32,
    /// offset: 24
    #[prost(string, tag = "6")]
    pub ijkomikfkek: ::prost::alloc::string::String,
    /// offset: 148
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    /// offset: 137
    #[prost(bool, tag = "8")]
    pub hieapdnnnei: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub record_info: ::core::option::Option<PlayerRecordInfo>,
    /// offset: 132
    #[prost(uint32, tag = "11")]
    pub world_level: u32,
    /// offset: 112
    #[prost(uint32, tag = "12")]
    pub gejfmbbhnln: u32,
    /// offset: 116
    #[prost(enumeration = "PlatformType", tag = "13")]
    pub platform: i32,
    /// offset: 72
    #[prost(string, tag = "14")]
    pub nickname: ::prost::alloc::string::String,
    /// offset: 144
    #[prost(uint32, tag = "15")]
    pub level: u32,
    /// offset: 120
    #[prost(uint32, tag = "230")]
    pub gender: u32,
    /// offset: 140
    #[prost(uint32, tag = "649")]
    pub kinoehkmfml: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "880")]
    pub assist_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 88
    #[prost(message, optional, tag = "1096")]
    pub dhkfcdaghdm: ::core::option::Option<Cjlcpmdgibo>,
    /// offset: 48
    #[prost(message, optional, tag = "1159")]
    pub aihndiafgpm: ::core::option::Option<Oiipjfdnpah>,
    /// offset: 104
    #[prost(message, optional, tag = "1414")]
    pub boklabglefl: ::core::option::Option<Ohkdpnbgpoa>,
    /// offset: 96
    #[prost(message, optional, tag = "1703")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
}
/// Obf: FriendSimpleInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendSimpleInfo {
    /// offset: 48
    #[prost(enumeration = "PlayingState", tag = "1")]
    pub playing_state: i32,
    /// offset: 16
    #[prost(string, tag = "2")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(int64, tag = "3")]
    pub create_time: i64,
    /// offset: 52
    #[prost(bool, tag = "9")]
    pub is_marked: bool,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub mboihjlijdg: ::core::option::Option<Paefdelfkjk>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
}
/// Obf: FriendApplyInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendApplyInfo {
    /// offset: 32
    #[prost(int64, tag = "5")]
    pub apply_time: i64,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
}
/// Obf: FriendRecommendInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendRecommendInfo {
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub jinlahlmdln: bool,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerAssistInfo {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub assist_avatar: ::core::option::Option<DisplayAvatarDetailInfo>,
}
/// Obf: FriendChallengeLineup
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendChallengeLineup {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub buff_two: u32,
    /// offset: 32
    #[prost(string, tag = "10")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub buff_one: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub eejcpnaeklj: u32,
}
/// Obf: FriendChallengeClearanceInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FriendChallengeClearanceInfo {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub lmppdgofomf: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub megbipbafbp: ::core::option::Option<PlayerChallengeTierceRecord>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
    #[prost(
        oneof = "friend_challenge_clearance_info::Edkohaamonh",
        tags = "1338, 651, 1920"
    )]
    pub edkohaamonh: ::core::option::Option<
        friend_challenge_clearance_info::Edkohaamonh,
    >,
}
/// Nested message and enum types in `FriendChallengeClearanceInfo`.
pub mod friend_challenge_clearance_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Edkohaamonh {
        /// offset: 24
        #[prost(message, tag = "1338")]
        ChallengeDefault(super::ChallengeStatistics),
        /// offset: 24
        #[prost(message, tag = "651")]
        ChallengeStory(super::ChallengeStoryStatistics),
        /// offset: 24
        #[prost(message, tag = "1920")]
        ChallengeBoss(super::ChallengeBossStatistics),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glilleneijk {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub gnifodgcpaa: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub fffngbkhoea: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmfehehpgab {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub mgcacgflkek: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub mbdkajbeppf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fkcnepijjao {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub feflajiodhb: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub dcoklhpbajo: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub jnccogchnmb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oimlmdhohap {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ielfobfpdpa: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub apanplbmonn: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub kphjdopbmen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgpihmllngm {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub hjfhoeaaggc: ::core::option::Option<Nmfehehpgab>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub mhaibamjgim: ::core::option::Option<Oimlmdhohap>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub bfgelckjjpn: ::core::option::Option<Fkcnepijjao>,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub endljenkbmf: ::core::option::Option<Glilleneijk>,
}
/// Obf: PlayerChallengePeakRecordMobData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerChallengePeakRecordMobData {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub cycles_used: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<ChallengeLineupList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "12")]
    pub mcjnllbbdhn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub peak_id: u32,
}
/// Obf: PlayerChallengePeakRecordBossData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerChallengePeakRecordBossData {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub djfgdmidehj: u32,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub hamdkihgkgo: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub mcjnllbbdhn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub peak_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub best_cycle_count: u32,
    /// offset: 41
    #[prost(bool, tag = "14")]
    pub cfldompacki: bool,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lineup: ::core::option::Option<ChallengeLineupList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbfhocobpmk {
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub hdchfbkdceb: ::prost::alloc::vec::Vec<PlayerChallengePeakRecordMobData>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub cdffigjlgmm: ::core::option::Option<PlayerChallengePeakRecordBossData>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbjdmdkkmfi {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Khfegofphhc {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cfnemeidmid {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub holpmkohach: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moogabjbjag {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub challenge_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbkjgbmmkfi {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub peak_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ienccmeaiaj {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gnifodgcpaa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljjieaplooi {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub division_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kgbafbemicb {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub aacgbebgdpe: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub mndcibfejop: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njmobnilihi {
    /// offset: 32
    #[prost(enumeration = "DevelopmentType", tag = "3")]
    pub nelhehhfccm: i32,
    /// offset: 40
    #[prost(int64, tag = "10")]
    pub time: i64,
    #[prost(
        oneof = "njmobnilihi::Nnmaomhpnbk",
        tags = "668, 1259, 712, 1411, 1610, 1857, 1662, 1446, 1595, 244"
    )]
    pub nnmaomhpnbk: ::core::option::Option<njmobnilihi::Nnmaomhpnbk>,
}
/// Nested message and enum types in `NJMOBNILIHI`.
pub mod njmobnilihi {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nnmaomhpnbk {
        /// offset: 24
        #[prost(message, tag = "668")]
        Dcodkladijm(super::Khfegofphhc),
        /// offset: 24
        #[prost(message, tag = "1259")]
        Eljoebbhdpb(super::Moogabjbjag),
        /// offset: 24
        #[prost(uint32, tag = "712")]
        AvatarId(u32),
        /// offset: 24
        #[prost(uint32, tag = "1411")]
        Kajcfpkegbp(u32),
        /// offset: 24
        #[prost(message, tag = "1610")]
        Iibjegjmokj(super::Cfnemeidmid),
        /// offset: 24
        #[prost(uint32, tag = "1857")]
        PanelId(u32),
        /// offset: 24
        #[prost(message, tag = "1662")]
        Agkkafefgob(super::Jbkjgbmmkfi),
        /// offset: 24
        #[prost(message, tag = "1446")]
        Imilifmdlbi(super::Ienccmeaiaj),
        /// offset: 24
        #[prost(message, tag = "1595")]
        Bnndodhikce(super::Ljjieaplooi),
        /// offset: 24
        #[prost(message, tag = "244")]
        Dhkcmbfcalh(super::Kgbafbemicb),
    }
}
/// Obf: ADKDAKFNFMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2925)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendListInfoCsReq {}
/// Obf: JLHNEDPPFOO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2978)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendListInfoScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub black_list: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub friend_list: ::prost::alloc::vec::Vec<FriendSimpleInfo>,
}
/// Obf: NHAAPILNALO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2993)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPlayerDetailInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
/// Obf: KFLGFDDDOPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2958)]
#[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 = "7")]
    pub retcode: u32,
}
/// Obf: GFCNKHPBPOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2988)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendApplyListInfoCsReq {}
/// Obf: FBFKDPMGFNL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2981)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendApplyListInfoScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub send_apply_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub receive_apply_list: ::prost::alloc::vec::Vec<FriendApplyInfo>,
}
/// Obf: CHBNOHMCMGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2986)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ApplyFriendCsReq {
    /// offset: 28
    #[prost(enumeration = "FriendApplySource", tag = "13")]
    pub source: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: GIMLCCAKGDG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2947)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ApplyFriendScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: MGENDBNGEEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2926)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncApplyFriendScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub friend_apply_info: ::core::option::Option<FriendApplyInfo>,
}
/// Obf: BLEJGGNFNEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2913)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HandleFriendCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub is_accept: bool,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub uid: u32,
}
/// Obf: DOELBKLNLIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2971)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleFriendScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub is_accept: bool,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub friend_info: ::core::option::Option<FriendSimpleInfo>,
}
/// Obf: OMGAOCOIILH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2940)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncHandleFriendScNotify {
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub is_accept: bool,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub friend_info: ::core::option::Option<FriendSimpleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: KIKEJIAMKPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2933)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteFriendCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub lmhdomcmgnl: u32,
}
/// Obf: LBBIGDCILDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2938)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteFriendScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: DMPDJIEMJJD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2939)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncDeleteFriendScNotify {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: ALJJJEFJLKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2904)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddBlacklistCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub uid: u32,
}
/// Obf: JMABIKHOJOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2911)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddBlacklistScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub black_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: DKKELLBOGIO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2936)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncAddBlacklistScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub uid: u32,
}
/// Obf: FGNGBABEENA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2948)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendRecommendListInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub ddnkhdikael: bool,
}
/// Obf: AMCGEGIPAKJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2945)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendListInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<FriendRecommendInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: HMOGLECADPG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2969)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetFriendRemarkNameCsReq {
    /// offset: 16
    #[prost(string, tag = "5")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub uid: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub reason: u32,
}
/// Obf: CDLCLGLKBLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2965)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetFriendRemarkNameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "8")]
    pub remark_name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2930)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReportPlayerCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub uid: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub ollblnagmpc: u32,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub imnojncggni: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2942)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReportPlayerScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: ACHFMFGCOJF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2972)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteBlacklistCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub uid: u32,
}
/// Obf: DAMBPIKLCBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2980)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteBlacklistScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub uid: u32,
}
/// Obf: IJBGABAFCEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2984)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SearchPlayerCsReq {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub ddnkhdikael: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MLBAKKMGDLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2921)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SearchPlayerScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub simple_info_list: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub result_uid_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: IEIMIFAEADO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2905)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAssistListCsReq {
    /// offset: 25
    #[prost(bool, tag = "2")]
    pub lkbaenbkjce: bool,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub ddnkhdikael: bool,
}
/// Obf: KCKOECDINAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2941)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAssistListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub assist_list: ::prost::alloc::vec::Vec<PlayerAssistInfo>,
}
/// Obf: KIKIGDGMPEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2910)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAssistCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: EFFMBFDAJDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2943)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAssistScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: HMMPDJAOMKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2929)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurAssistCsReq {}
/// Obf: FBCPGPMNECG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2963)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurAssistScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub odhmgpnecfo: ::core::option::Option<PlayerAssistInfo>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: CJMNHDLJKLE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2934)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAssistHistoryCsReq {}
/// Obf: BHCMCLJHEGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2996)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAssistHistoryScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lliplpndimc: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ofekhchhofd: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub efonjlmdfih: u32,
}
/// Obf: OKHINFPCHAN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2973)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewAssistHistoryNotify {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ofekhchhofd: u32,
}
/// Obf: OPDCHJINMMK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2912)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeAssistRewardCsReq {}
/// Obf: ENEHBCOCEGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2935)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeAssistRewardScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub oilhlecgbch: ::prost::alloc::vec::Vec<Kaodlpjmefe>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: KDHABGDIAPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurAssistChangedNotify {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub odhmgpnecfo: ::core::option::Option<PlayerAssistInfo>,
}
/// Obf: IFPAENCHHHE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2944)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPlatformPlayerInfoCsReq {
    /// offset: 16
    #[prost(string, repeated, tag = "10")]
    pub epibjamijfi: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 32
    #[prost(enumeration = "PlatformType", tag = "11")]
    pub platform: i32,
}
/// Obf: NOAGHDALEJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2949)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlatformPlayerInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub friend_recommend_list: ::prost::alloc::vec::Vec<PlayerSimpleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CNDFNIHMPKC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2915)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendLoginInfoCsReq {}
/// Obf: NMAOECIJEBA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2918)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendLoginInfoScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub black_uid_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub show_red_dot_flag: bool,
    /// offset: 45
    #[prost(bool, tag = "8")]
    pub is_allow_other_apply: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub friend_uid_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: DGEEIJCMHHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2953)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetForbidOtherApplyFriendCsReq {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub pbnjdhfchhc: bool,
}
/// Obf: JJJJPBCNDCC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2952)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetForbidOtherApplyFriendScRsp {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub pbnjdhfchhc: bool,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: IONJONGACJL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2920)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetFriendMarkCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub bijjojnjhdo: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub reason: u32,
}
/// Obf: MHBMDBMICFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2914)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetFriendMarkScRsp {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub bijjojnjhdo: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: IILCDMAHMDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2989)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendAssistListCsReq {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub ddnkhdikael: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub eejgcfbjkak: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub hhfpjhmeijk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "Pidahabflbl", tag = "9")]
    pub hfolaoikolb: i32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub target_side: u32,
}
/// Obf: MEDJBBOGLNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2982)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendAssistListScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub target_side: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub assist_list: ::prost::alloc::vec::Vec<PlayerAssistInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjndcnijbei {
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onkdapokgac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okfkppngcod {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub peak_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onkdapokgac>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjmgdljajcm {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub dnigkdkippj: ::prost::alloc::vec::Vec<Okfkppngcod>,
}
/// Obf: ChallengePeakBossFriendLineupRecommendation
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChallengePeakBossFriendLineupRecommendation {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
    /// offset: 41
    #[prost(bool, tag = "7")]
    pub hard_mode_has_passed: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onkdapokgac>,
    /// offset: 40
    #[prost(bool, tag = "12")]
    pub is_hard_mode: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojjjdpnokhg {
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub finished_target_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub lineup_list: ::prost::alloc::vec::Vec<ChallengeLineupList>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub aoliedbcnbn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmknangpdgh {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub passed_level: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub emohljhpopc: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Onkdapokgac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Offmdbmmnfm {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub lineup_list: ::prost::alloc::vec::Vec<Bmknangpdgh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fpdcinmdjce {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub player_info: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub remark_name: ::prost::alloc::string::String,
    #[prost(oneof = "fpdcinmdjce::Kjfekhdebik", tags = "11, 12, 2, 5, 15, 1403")]
    pub kjfekhdebik: ::core::option::Option<fpdcinmdjce::Kjfekhdebik>,
}
/// Nested message and enum types in `FPDCINMDJCE`.
pub mod fpdcinmdjce {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kjfekhdebik {
        /// offset: 40
        #[prost(message, tag = "11")]
        Nhmopchjehn(super::FriendChallengeLineup),
        /// offset: 40
        #[prost(message, tag = "12")]
        Bnafkmmlgfe(super::Cjndcnijbei),
        /// offset: 40
        #[prost(message, tag = "2")]
        Lmhiokfmdne(super::Mjmgdljajcm),
        /// offset: 40
        #[prost(message, tag = "5")]
        Kcnahjcmnji(super::ChallengePeakBossFriendLineupRecommendation),
        /// offset: 40
        #[prost(message, tag = "15")]
        Nhkcfoalapd(super::Ojjjdpnokhg),
        /// offset: 40
        #[prost(message, tag = "1403")]
        Kppdembpedo(super::Offmdbmmnfm),
    }
}
/// Obf: NKOBPKLEDFP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2966)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendRecommendLineupCsReq {
    /// offset: 28
    #[prost(enumeration = "Jfnjkappnof", tag = "4")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub key: u32,
}
/// Obf: BKALMLMEEPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2955)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub key: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub mgkckhiiicl: ::prost::alloc::vec::Vec<Fpdcinmdjce>,
    /// offset: 44
    #[prost(bool, tag = "14")]
    pub aldbiiiglom: bool,
    /// offset: 36
    #[prost(enumeration = "Jfnjkappnof", tag = "15")]
    pub r#type: i32,
}
/// Obf: HONDEKOHJHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2916)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailCsReq {
    /// offset: 32
    #[prost(enumeration = "Jfnjkappnof", tag = "2")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub key: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub uid: u32,
}
/// Obf: OLLGFBLPHOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2906)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRecommendLineupDetailScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub key: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub knhhajdngjg: ::prost::alloc::vec::Vec<DisplayAvatarDetailInfo>,
    /// offset: 40
    #[prost(enumeration = "Jfnjkappnof", tag = "7")]
    pub r#type: i32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub uid: u32,
}
/// Obf: HPPJFBCNNPG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2919)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendBattleRecordDetailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub uid: u32,
}
/// Obf: DJIFIBOJKFP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendBattleRecordDetailScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub epnlmhpcdkl: ::prost::alloc::vec::Vec<FriendChallengeClearanceInfo>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub hciefehceno: ::core::option::Option<Bgpihmllngm>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub lgibjlfbfcg: ::prost::alloc::vec::Vec<Dbfhocobpmk>,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub uid: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub bamdehaicda: ::core::option::Option<Hbjdmdkkmfi>,
}
/// Obf: PJJAIIONOPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2998)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendDevelopmentInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub uid: u32,
}
/// Obf: JJFIJODMGGB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2962)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDevelopmentInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub embpenneijh: ::prost::alloc::vec::Vec<Njmobnilihi>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: JDKEAPHHLBM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1925)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetGachaInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GachaCeilingAvatar {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub repeated_cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaCeiling {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<GachaCeilingAvatar>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub ceiling_num: u32,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub is_claimed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Neimlknmdbm {
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub gfanbhaekok: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub ojnefbjhcck: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub mmelnchidnc: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub ejgnmcamela: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GachaInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaInfo {
    /// offset: 72
    #[prost(int64, tag = "1")]
    pub begin_time: i64,
    /// offset: 100
    #[prost(uint32, tag = "2")]
    pub mmelnchidnc: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub item_detail_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub history_url: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub nhbbhempjjm: u32,
    /// offset: 88
    #[prost(int64, tag = "7")]
    pub end_time: i64,
    /// offset: 48
    #[prost(uint32, repeated, tag = "9")]
    pub onihomceljk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "12")]
    pub glljfpenlhd: u32,
    /// offset: 84
    #[prost(uint32, tag = "13")]
    pub gacha_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub prize_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(string, tag = "15")]
    pub detail_url: ::prost::alloc::string::String,
}
/// Obf: LDPGAPPKBBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1978)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaInfoScRsp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub gpnlddlbolm: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub ogmpkdhkpaj: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub kkknjdbnjpm: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub akmdbpnehde: ::prost::alloc::vec::Vec<Neimlknmdbm>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub gacha_info_list: ::prost::alloc::vec::Vec<GachaInfo>,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub gacha_random: u32,
}
/// Obf: JEADDEILJLE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1993)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DoGachaCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub gacha_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub simulate_magic: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub gacha_random: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub gacha_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GachaItem {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub token_item: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub gacha_item: ::core::option::Option<Item>,
    /// offset: 48
    #[prost(bool, tag = "6")]
    pub is_new: bool,
}
/// Obf: IAOPGJEOHOM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub gacha_item_list: ::prost::alloc::vec::Vec<GachaItem>,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub gacha_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub nhbbhempjjm: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub ldbckjipdhf: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub gacha_num: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub ceiling_num: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub gpnlddlbolm: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub glljfpenlhd: u32,
}
/// Obf: GHJGEGJAODM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1988)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetGachaCeilingCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gacha_type: u32,
}
/// Obf: DFNMFPBNPDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1981)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGachaCeilingScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub gacha_type: u32,
}
/// Obf: AMIHACOLKBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1986)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeGachaCeilingCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub gacha_type: u32,
}
/// Obf: PJBNPPDIDDC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1947)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeGachaCeilingScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub gacha_type: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub gacha_ceiling: ::core::option::Option<GachaCeiling>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub transfer_item_list: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GIMKMEOLAAO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1926)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGachaDecideItemCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub ojnefbjhcck: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub gacha_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub gfanbhaekok: u32,
}
/// Obf: EAAECDKBAFC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1913)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGachaDecideItemScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub nblojldlbeb: ::core::option::Option<Neimlknmdbm>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: GridFightGameInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameInfo {
    #[prost(
        oneof = "grid_fight_game_info::Leoiaofbbfa",
        tags = "15, 11, 13, 14, 7, 4, 10, 5, 1, 8"
    )]
    pub leoiaofbbfa: ::core::option::Option<grid_fight_game_info::Leoiaofbbfa>,
}
/// Nested message and enum types in `GridFightGameInfo`.
pub mod grid_fight_game_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Leoiaofbbfa {
        /// offset: 16
        #[prost(message, tag = "15")]
        Faocfbofcjp(super::GridFightGameBasicInfo),
        /// offset: 16
        #[prost(message, tag = "11")]
        Gcklionkmjc(super::GridFightGameItemsInfo),
        /// offset: 16
        #[prost(message, tag = "13")]
        Ebhdiogalie(super::GridFightGameShopInfo),
        /// offset: 16
        #[prost(message, tag = "14")]
        Klcpaahdpjf(super::GridFightLevelInfo),
        /// offset: 16
        #[prost(message, tag = "7")]
        Dbagkjnpdol(super::GridFightGameOrbInfo),
        /// offset: 16
        #[prost(message, tag = "4")]
        Lldboiangdn(super::GridFightGameAugmentSync),
        /// offset: 16
        #[prost(message, tag = "10")]
        Oahoapcidmk(super::GridFightGameTraitInfo),
        /// offset: 16
        #[prost(message, tag = "5")]
        Ejipiniknck(super::GridFightGameTeamInfo),
        /// offset: 16
        #[prost(message, tag = "1")]
        Kfbieanenkj(super::Fiijnpbfjbg),
        /// offset: 16
        #[prost(message, tag = "8")]
        Cklnmdamjcb(super::Mcnfdkkkabh),
    }
}
/// Obf: MPIMAEMCEFH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightCurrentInfo {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub jldddldnfef: ::core::option::Option<Clfaboekmji>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub ljngpckpjlf: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub fmigokidkjl: ::core::option::Option<GridFightPendingAction>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub nagdjgmmcbe: ::prost::alloc::vec::Vec<GridFightGameInfo>,
    /// offset: 68
    #[prost(bool, tag = "12")]
    pub is_overlock: bool,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub division_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub caagabepppe: ::core::option::Option<GridFightGameData>,
}
/// Obf: GEPAFBJBGBH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightCurrentTask {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub nlidekjofmg: u32,
}
/// Obf: HGEAOCGDCHD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSyncCurrentTaskInfo {
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub onpcdaelhgp: ::core::option::Option<GridFightCurrentTask>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub cammiijdekp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmbmnflmkpi {
    /// offset: 28
    #[prost(enumeration = "GridFightLockType", tag = "10")]
    pub lmicdnnabnm: i32,
    /// offset: 24
    #[prost(enumeration = "GridFightLockReason", tag = "12")]
    pub ibcpakjapff: i32,
}
/// Obf: NIHNGPKHEPC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameBasicInfo {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub miidimocpeb: ::prost::alloc::vec::Vec<RoleTrackEquipmentInfo>,
    /// offset: 96
    #[prost(uint32, tag = "2")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 132
    #[prost(uint32, tag = "3")]
    pub gold: u32,
    /// offset: 104
    #[prost(uint32, tag = "4")]
    pub jlocmdidpci: u32,
    /// offset: 128
    #[prost(uint32, tag = "5")]
    pub ndainflolpj: u32,
    /// offset: 112
    #[prost(uint32, tag = "6")]
    pub ppkkhhneohb: u32,
    /// offset: 108
    #[prost(uint32, tag = "7")]
    pub affcflfifph: u32,
    /// offset: 116
    #[prost(uint32, tag = "8")]
    pub gdakcoicida: u32,
    /// offset: 92
    #[prost(uint32, tag = "9")]
    pub ehnjdidabhd: u32,
    /// offset: 120
    #[prost(uint32, tag = "10")]
    pub miceojbakgn: u32,
    /// offset: 100
    #[prost(uint32, tag = "12")]
    pub grid_fight_cur_level_exp: u32,
    /// offset: 124
    #[prost(uint32, tag = "13")]
    pub knfoccpojea: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "14")]
    pub onhdklimlnm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "15")]
    pub bepmodicona: u32,
    /// offset: 48
    #[prost(message, optional, tag = "643")]
    pub gajgbbfelel: ::core::option::Option<Gmbmnflmkpi>,
    /// offset: 56
    #[prost(string, tag = "953")]
    pub anibgaaiahf: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(uint32, repeated, tag = "1509")]
    pub jcmccghfian: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "1649")]
    pub fmeohkhgmjm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(string, tag = "1889")]
    pub gbgobpoopgo: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(message, optional, tag = "2022")]
    pub bhjfjeeggmc: ::core::option::Option<GridFightSyncCurrentTaskInfo>,
}
/// Obf: CDEAABODKCP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameRoleInfo {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub role_star: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub pnjiphjjong: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub unique_id: u32,
    /// offset: 40
    #[prost(map = "string, uint32", tag = "10")]
    pub grid_fight_value_init_component: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        u32,
    >,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "14")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub pos_index: u32,
}
/// Obf: GGAKNLJJNEI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridGameNpcInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub pos_index: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub pnjiphjjong: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DDAMEHEPOBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameForgeItemInfo {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub lclpejheaid: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub pos_index: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub ckjakknohek: ::prost::alloc::vec::Vec<Mbpdipljmkn>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fphpfjlajdk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub lkmemklgiik: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pos_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nbpejfhikjl {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub olppmeamffo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CHKCPJLBOGE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitElationEffectUpdate {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub pojgkjenena: ::prost::alloc::vec::Vec<Fhceiohladg>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "12")]
    pub banbecdcdhg: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub dnncagjioap: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjflpmnpffk {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub mdnagangnkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldmnihifdfg {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub bpjkhdnbpoe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hjcfnepjkdm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub jmlamkfmkon: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MGBHKCMHDOK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitEffectInfo {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub effect_id: u32,
    #[prost(
        oneof = "grid_fight_trait_effect_info::Nebnjdmfelo",
        tags = "80, 665, 812, 602, 1162, 1515, 1626"
    )]
    pub nebnjdmfelo: ::core::option::Option<grid_fight_trait_effect_info::Nebnjdmfelo>,
}
/// 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 Nebnjdmfelo {
        /// offset: 16
        #[prost(uint32, tag = "80")]
        TraitCoreRole(u32),
        /// offset: 16
        #[prost(message, tag = "665")]
        AvatarCoreInfo(super::Nbpejfhikjl),
        /// offset: 16
        #[prost(uint32, tag = "812")]
        Ecemncjbfop(u32),
        /// offset: 16
        #[prost(message, tag = "602")]
        Jlclhaknmll(super::GridFightTraitElationEffectUpdate),
        /// offset: 16
        #[prost(message, tag = "1162")]
        Mphgipconlf(super::Bjflpmnpffk),
        /// offset: 16
        #[prost(message, tag = "1515")]
        Kjfioepkobm(super::Hjcfnepjkdm),
        /// offset: 16
        #[prost(message, tag = "1626")]
        Koepocadldi(super::Ldmnihifdfg),
    }
}
/// Obf: JLKCBOIFJKC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightTraitSyncInfo {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub trait_id: u32,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub is_recover: bool,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub enplacdljga: ::core::option::Option<GridFightTraitEffectInfo>,
}
/// Obf: FBNGHMHHHLL
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridGameTraitInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub cgieodogaie: u32,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub afkkldmaedj: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub layer: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub olppmeamffo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub trait_effect_list: ::prost::alloc::vec::Vec<GridFightTraitEffectInfo>,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igkkilffnjk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub blaeaafanbm: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub leocefmkaem: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hogjecbmfhd {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub daooobljolb: ::prost::alloc::vec::Vec<Igkkilffnjk>,
}
/// Obf: HKFECLCHBFJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameTeamInfo {
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<GridGameRoleInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub kcompkmjcmc: ::prost::alloc::vec::Vec<Fphpfjlajdk>,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub pmeoppdamlm: ::prost::alloc::vec::Vec<GridGameForgeItemInfo>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "13")]
    pub pleiphjgfie: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<GridGameNpcInfo>,
}
/// Obf: FFOGFOBHDEK
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameTraitInfo {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<GridGameTraitInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub daooobljolb: ::prost::alloc::vec::Vec<Igkkilffnjk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Afcbkjefkpg {
    /// offset: 40
    #[prost(enumeration = "Bgmlejcofpk", tag = "3")]
    pub ccdggdmhmlf: i32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub progress: u32,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub cbacamkjfmi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub clhlmnaplnc: ::core::option::Option<GridFightDropInfo>,
    /// offset: 44
    #[prost(enumeration = "Ibbdhfaefnh", tag = "14")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcnfdkkkabh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub bhobppbbnil: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ibbkkfgeeph: ::prost::alloc::vec::Vec<Afcbkjefkpg>,
}
/// Obf: LALKBPJANIH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightConsumableInfo {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub round_cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
}
/// Obf: IJDLENJJBHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEquipmentInfo {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub grid_fight_equipment_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub source: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "14")]
    pub convert_property_to_fixpoint: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub iodijbehegf: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Elglkeaplgm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub grid_fight_equipment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pgecgkekfnc {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub lpfgigjdlfm: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Flfhacpldje {
    #[prost(oneof = "flfhacpldje::Ofjbcedflkl", tags = "1, 8")]
    pub ofjbcedflkl: ::core::option::Option<flfhacpldje::Ofjbcedflkl>,
}
/// Nested message and enum types in `FLFHACPLDJE`.
pub mod flfhacpldje {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Ofjbcedflkl {
        /// offset: 24
        #[prost(message, tag = "1")]
        Bdpimpjojbk(super::Pgecgkekfnc),
        /// offset: 24
        #[prost(uint32, tag = "8")]
        Gold(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mbpdipljmkn {
    #[prost(oneof = "mbpdipljmkn::Ofjbcedflkl", tags = "8")]
    pub ofjbcedflkl: ::core::option::Option<mbpdipljmkn::Ofjbcedflkl>,
}
/// Nested message and enum types in `MBPDIPLJMKN`.
pub mod mbpdipljmkn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Ofjbcedflkl {
        /// offset: 24
        #[prost(message, tag = "8")]
        Ggmpegmehpd(super::Elglkeaplgm),
    }
}
/// Obf: CONONEALNOF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemsInfo {
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ipmkomehbmp: ::prost::alloc::vec::Vec<GridFightConsumableInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njbgfhdpfno {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub role_star: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eljohiohpmj {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ijmkbobghbd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cckpbikoibb {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub lkmemklgiik: u32,
}
/// Obf: HDEIAANGMDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightShopGoodsInfo {
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub lhgifdnpide: bool,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub kdkpdjnmmcm: u32,
    #[prost(oneof = "grid_fight_shop_goods_info::Aelhflgjmjn", tags = "1210, 409, 533")]
    pub aelhflgjmjn: ::core::option::Option<grid_fight_shop_goods_info::Aelhflgjmjn>,
}
/// Nested message and enum types in `GridFightShopGoodsInfo`.
pub mod grid_fight_shop_goods_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Aelhflgjmjn {
        /// offset: 24
        #[prost(message, tag = "1210")]
        Bdpimpjojbk(super::Njbgfhdpfno),
        /// offset: 24
        #[prost(message, tag = "409")]
        Lliblkcjemi(super::Eljohiohpmj),
        /// offset: 24
        #[prost(message, tag = "533")]
        Inbccaifhnl(super::Cckpbikoibb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bophdckjmmn {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub weight: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ckkdaemfdpa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Monjncpinkn {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub fijpicnpkig: ::prost::alloc::vec::Vec<Bophdckjmmn>,
}
/// Obf: POCJDMMANBM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameShopInfo {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub opdcmcfofaa: u32,
    /// offset: 56
    #[prost(bool, tag = "5")]
    pub abgekpjhhia: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub dldjeopknmb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub abbngcpecai: ::core::option::Option<Monjncpinkn>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub nfgmopccpic: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<GridFightShopGoodsInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhncminfonj {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub loghlgkifen: u32,
}
/// Obf: GIDEDMOPFKF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightGamePortalBuffInfo {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub portal_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahkdpciiela {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub monster_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub role_star: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub imdklkoninf: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub loghlgkifen: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnakhancngk {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ocpepemnnek: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub pblbbdbdlek: ::prost::alloc::vec::Vec<Ahkdpciiela>,
}
/// Obf: KKBGIPCAGGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEncounterInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub ifiioiikjho: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub monster_wave_list: ::prost::alloc::vec::Vec<Pnakhancngk>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub epphofdaemi: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub cjadmfdobai: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub boamllhpnec: ::core::option::Option<GridFightDropInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdjbbilmhlc {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lndkcpbjdkh: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub moadbalhmfd: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub bpdabhgfbfo: ::prost::alloc::vec::Vec<GridFightEncounterInfo>,
}
/// Obf: NBGDEFLFLMI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSupplyRoleInfo {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NCKOKDHNJDC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLayerInfo {
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub lloebdlmljo: bool,
    #[prost(oneof = "grid_fight_layer_info::Efeclpjfocm", tags = "95")]
    pub efeclpjfocm: ::core::option::Option<grid_fight_layer_info::Efeclpjfocm>,
}
/// Nested message and enum types in `GridFightLayerInfo`.
pub mod grid_fight_layer_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Efeclpjfocm {
        /// offset: 24
        #[prost(message, tag = "95")]
        Mpobbipmnnj(super::Mdjbbilmhlc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgmclfhajnj {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub ncghkpempdp: ::prost::alloc::vec::Vec<Ahkdpciiela>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Keepbbdicfn {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub pdiaoldmbll: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub loghlgkifen: u32,
}
/// Obf: LHLMPOHKPKG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSectionRecordInfo {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub dcahjelnjnp: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub node_type: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub section_id: u32,
    #[prost(oneof = "grid_fight_section_record_info::Mmhkpjjnhdk", tags = "1758")]
    pub mmhkpjjnhdk: ::core::option::Option<grid_fight_section_record_info::Mmhkpjjnhdk>,
}
/// Nested message and enum types in `GridFightSectionRecordInfo`.
pub mod grid_fight_section_record_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmhkpjjnhdk {
        /// offset: 24
        #[prost(message, tag = "1758")]
        Gfcegepfcdb(super::Keepbbdicfn),
    }
}
/// Obf: BHBAILHMCOI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightDamageSttInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub jfchlabgfjo: ::prost::alloc::vec::Vec<Nfidndfhjgn>,
    /// offset: 40
    #[prost(message, repeated, tag = "12")]
    pub eegpiljdlbg: ::prost::alloc::vec::Vec<Plfkmencdmm>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub apabpafgcia: ::prost::alloc::vec::Vec<Kinjhhbjnjp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gangphpgfcl {
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub fnjnkkmnkim: ::prost::alloc::vec::Vec<GridFightSectionRecordInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub nkbidlblonc: ::core::option::Option<GridFightDamageSttInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jkpoihgiffg {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub section_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dcahjelnjnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Accmeoiceod {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub gkjidbegbjp: ::prost::alloc::vec::Vec<Jkpoihgiffg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Laamiajfomc {
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub pnjclpnfiga: bool,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub affix_id: u32,
}
/// Obf: BEEFLEJAOCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLevelInfo {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub coebcngcnoo: ::core::option::Option<Gangphpgfcl>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub lhebnolnjhe: ::core::option::Option<Accmeoiceod>,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub dcahjelnjnp: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub hekmejlmgff: ::prost::alloc::vec::Vec<Lhncminfonj>,
    /// offset: 84
    #[prost(uint32, tag = "8")]
    pub emohljhpopc: u32,
    /// offset: 64
    #[prost(message, optional, tag = "9")]
    pub impnahbcadn: ::core::option::Option<GridFightLayerInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub boss_info: ::core::option::Option<Kgmclfhajnj>,
    /// offset: 56
    #[prost(message, repeated, tag = "11")]
    pub cffcnedgcjj: ::prost::alloc::vec::Vec<Laamiajfomc>,
    /// offset: 88
    #[prost(uint32, tag = "14")]
    pub section_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub grid_fight_portal_buff_list: ::prost::alloc::vec::Vec<
        GridFightGamePortalBuffInfo,
    >,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ibpdpcogdep {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ldbnompcokk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfbcbnmkfak {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub dojdfbenbec: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub cmehhmeekpo: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
}
/// Obf: DBONCGFHHDN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameOrbInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub odcmjgheomg: ::prost::alloc::vec::Vec<Pfbcbnmkfak>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub mdkgcikomli: ::prost::alloc::vec::Vec<Ibpdpcogdep>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fadheigjenf {
    /// offset: 24
    #[prost(map = "string, uint32", tag = "1")]
    pub hjmaedkcone: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fiijnpbfjbg {
    /// offset: 16
    #[prost(map = "string, uint32", tag = "3")]
    pub pockgkdflkk: ::std::collections::HashMap<::prost::alloc::string::String, u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub ifljpndpdoa: u32,
}
/// Obf: HKDACEAEDDE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameData {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub klckaojamnh: ::prost::alloc::vec::Vec<GridFightGameItemInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjeiciegahf {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub ooeocgllhfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(enumeration = "Jdcapbnpook", tag = "12")]
    pub jmnjlfacclm: i32,
}
/// Obf: NJKFOJJDGGG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemInfo {
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub gbeagmeaepb: ::core::option::Option<Mjeiciegahf>,
    #[prost(
        oneof = "grid_fight_game_item_info::Fmeklffdpgg",
        tags = "477, 1784, 1577, 140, 1389, 1293, 1696, 1626, 1438, 1851, 1917, 481, 556, 454, 1186, 1168, 953, 1539, 1607, 656, 107, 219, 2005, 514, 1245, 1440, 60, 1015, 496, 1624, 893, 1022, 1410, 732, 1818, 1324"
    )]
    pub fmeklffdpgg: ::core::option::Option<grid_fight_game_item_info::Fmeklffdpgg>,
}
/// 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 Fmeklffdpgg {
        /// offset: 24
        #[prost(message, tag = "477")]
        Hagaefmehba(super::Lfoclbemiem),
        /// offset: 24
        #[prost(message, tag = "1784")]
        Fhkfmfknmch(super::Akhehambleb),
        /// offset: 24
        #[prost(message, tag = "1577")]
        Chheglgpcch(super::Onlfoiondaf),
        /// offset: 24
        #[prost(message, tag = "140")]
        Ijaffocbkji(super::Fbfbmmaafcp),
        /// offset: 24
        #[prost(message, tag = "1389")]
        Pdmoledafif(super::Kpkdjdeikbm),
        /// offset: 24
        #[prost(message, tag = "1293")]
        Fcpgfbadial(super::Ipgchdeccnb),
        /// offset: 24
        #[prost(message, tag = "1696")]
        Ljbbfdmaeoh(super::Lhmligphokp),
        /// offset: 24
        #[prost(message, tag = "1626")]
        Lfbglmmdmcd(super::Hhnbclpndfi),
        /// offset: 24
        #[prost(message, tag = "1438")]
        Glgpbllicag(super::Fhbhihjaopb),
        /// offset: 24
        #[prost(message, tag = "1851")]
        Dnlgbjlpdce(super::Elppdahklbe),
        /// offset: 24
        #[prost(message, tag = "1917")]
        Gnmcjefjokp(super::Jeiegmecgen),
        /// offset: 24
        #[prost(message, tag = "481")]
        Pdhedggopgl(super::Cnbhpjfflef),
        /// offset: 24
        #[prost(message, tag = "556")]
        Bbglcdjplmf(super::Hdoliecdhao),
        /// offset: 24
        #[prost(message, tag = "454")]
        Ejeehdpbhli(super::Opjaleikfac),
        /// offset: 24
        #[prost(message, tag = "1186")]
        Ekliopiekii(super::Bjigofoaepl),
        /// offset: 24
        #[prost(message, tag = "1168")]
        Fkbigancepd(super::Fafbdgceahd),
        /// offset: 24
        #[prost(message, tag = "953")]
        Nphcpbdklch(super::Pikkaebhikf),
        /// offset: 24
        #[prost(message, tag = "1539")]
        Clfnpnnifge(super::Aggddajlaeb),
        /// offset: 24
        #[prost(message, tag = "1607")]
        Aogffceckpk(super::Fbdljkebphm),
        /// offset: 24
        #[prost(message, tag = "656")]
        Cmbmnlhaecg(super::Ohblollnhic),
        /// offset: 24
        #[prost(message, tag = "107")]
        Lbfbinfmgnf(super::Ildefhmidkp),
        /// offset: 24
        #[prost(message, tag = "219")]
        Flelibajpec(super::Fcabignmapl),
        /// offset: 24
        #[prost(message, tag = "2005")]
        Pnmlhbjoabc(super::Gilmfecebfe),
        /// offset: 24
        #[prost(message, tag = "514")]
        Fboladpflfl(super::Dbfgkbnaknh),
        /// offset: 24
        #[prost(message, tag = "1245")]
        Kphbblhophf(super::Kbekjkncmcl),
        /// offset: 24
        #[prost(message, tag = "1440")]
        Oajoeeodjao(super::Hcifbgjcpdm),
        /// offset: 24
        #[prost(message, tag = "60")]
        Khnnnfbiama(super::Hpmncenlcab),
        /// offset: 24
        #[prost(message, tag = "1015")]
        Amgajdklhfo(super::Klihjcnoejp),
        /// offset: 24
        #[prost(message, tag = "496")]
        Pdadfogablj(super::Gfomaiaidfa),
        /// offset: 24
        #[prost(message, tag = "1624")]
        Ibnbalopkmm(super::Ppbjjjmjobn),
        /// offset: 24
        #[prost(message, tag = "893")]
        Indgppmdfnd(super::Ieomgiblhjb),
        /// offset: 24
        #[prost(message, tag = "1022")]
        Pkpfnhikhon(super::Ieminjafcpm),
        /// offset: 24
        #[prost(message, tag = "1410")]
        Niocabolglo(super::Kpmocbiimhh),
        /// offset: 24
        #[prost(message, tag = "732")]
        Pgcbfhoplep(super::Cehdamjjfoe),
        /// offset: 24
        #[prost(message, tag = "1818")]
        Kehciieolmd(super::Bkikognaeck),
        /// offset: 24
        #[prost(message, tag = "1324")]
        Inhgpdpnill(super::Hehobdgmmjm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfoclbemiem {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub node_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dcahjelnjnp: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub section_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub elpodiaagek: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Akhehambleb {
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub start_time: i64,
    /// offset: 24
    #[prost(int64, tag = "12")]
    pub kahfefacfie: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onlfoiondaf {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub jjnggkpakme: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub interval: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub pnfoopncdch: u32,
    /// offset: 40
    #[prost(int64, tag = "8")]
    pub start_time: i64,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub jmcjkppkaif: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fbfbmmaafcp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub nbpfmfmkjhi: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub emfcemphopi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpkdjdeikbm {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cjcomkhdagm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ipgchdeccnb {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub node_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pijbifaifoa: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub clbeeglkmim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhmligphokp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub dikfebajmek: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hhnbclpndfi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub dikfebajmek: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhbhihjaopb {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub dcahjelnjnp: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dmlfggdecdn: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub oddkkgojhfo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Elppdahklbe {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeiegmecgen {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "7")]
    pub nadghdjchpi: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cnbhpjfflef {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_effect: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub ojnefbjhcck: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdoliecdhao {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Opjaleikfac {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjigofoaepl {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fafbdgceahd {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub trait_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub afkkldmaedj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pikkaebhikf {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub pgebcgldnmn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gilmfecebfe {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub eophmlbepgk: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub pebcblblmph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dbfgkbnaknh {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub khhfiepdhhd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Aggddajlaeb {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub inlhpjmoomo: u32,
    /// offset: 32
    #[prost(double, tag = "12")]
    pub idonffoacil: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpmocbiimhh {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ieogefblnel: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub mdnagangnkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bkikognaeck {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pebcblblmph: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub dnmfnfcloom: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hehobdgmmjm {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub trait_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbdljkebphm {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub mdnagangnkk: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "10")]
    pub jpihlkgcbpc: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohblollnhic {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub trait_id: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub andipjedgmg: bool,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub hohdofkjjdj: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ildefhmidkp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ckkdaemfdpa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fcabignmapl {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ckkdaemfdpa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kbekjkncmcl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub caoadmakkpm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hcifbgjcpdm {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpmncenlcab {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Klihjcnoejp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub igohojejigp: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub nfbjinklllk: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub jpdcdkleibd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub eeeljeknnog: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub lljlccddlni: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gfomaiaidfa {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ieogefblnel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ppbjjjmjobn {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub binkjcpgoab: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub blaeaafanbm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ieomgiblhjb {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub nffhcbdfaba: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub iijhfjfpihk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ifpajbfohln {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub section_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dcahjelnjnp: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub role_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ieminjafcpm {
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub icdhapacgeh: ::prost::alloc::vec::Vec<Ifpajbfohln>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cehdamjjfoe {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub mdnagangnkk: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ennojcbajen: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub jnjbmfjhbhd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Clfaboekmji {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub mioapagnamc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PPGEBEBPMJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridGameAugmentInfo {
    /// offset: 25
    #[prost(bool, tag = "10")]
    pub nekjgidpcai: bool,
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub aekokmpifln: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub augment_id: u32,
}
/// Obf: OMINPDAIBLP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightGameAugmentAdd {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub mcpikehdmnd: ::core::option::Option<GridGameAugmentInfo>,
}
/// Obf: ECLKNNECNFK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightGameAugmentUpdate {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub mcpikehdmnd: ::core::option::Option<GridGameAugmentInfo>,
}
/// Obf: KGFNICBCMOA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameAugmentSync {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<GridGameAugmentInfo>,
}
/// Obf: AEFBLHALOFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8578)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightGetDataCsReq {}
/// Obf: JABAHAPIBBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8443)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub dhfoflfclah: ::core::option::Option<GridFightCurrentInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub lflcdngalme: ::core::option::Option<GridFightSystemInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kndolafnjed {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8601)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcipomdgbca {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub dhfoflfclah: ::core::option::Option<GridFightCurrentInfo>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epkfpidhmoc {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub mdnagangnkk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub jfcjnhnbmcb: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8716)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gebbmdcolch {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub conjcemahgn: ::prost::alloc::vec::Vec<Epkfpidhmoc>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8408)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Alnfebkhcfc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: FLGMGNEOFBH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightConsumableUpdateInfo {
    /// offset: 24
    #[prost(int32, tag = "2")]
    pub hfnnnghbhgg: i32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub round_cnt: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub num: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Obf: AOFOEOIJEHF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGameItemSyncInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub pfmdkhiddlb: ::prost::alloc::vec::Vec<GridFightConsumableUpdateInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
}
/// Obf: PIHKLPJGEPM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPlayerLevelSyncInfo {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub hfmklapekfa: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fmjddihbelc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub grid_fight_lineup_hp: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ppkkhhneohb: u32,
}
/// Obf: HONNGJEMGGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightShopSyncInfo {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub abgekpjhhia: bool,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub opdcmcfofaa: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub abbngcpecai: ::core::option::Option<Monjncpinkn>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub nfgmopccpic: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<GridFightShopGoodsInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glpcekmklgg {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moenfcdkgmj {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub portal_buff_id: u32,
}
/// Obf: AINFNFIDGFF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightLevelSyncInfo {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub dcahjelnjnp: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub section_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub impnahbcadn: ::core::option::Option<GridFightLayerInfo>,
}
/// Obf: MMEDLCAENAL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightOrbSyncInfo {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ldbnompcokk: u32,
}
/// Obf: FBCIJONDIJE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightTraitTrackSyncInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub onhdklimlnm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub ghjlddedjli: bool,
}
/// Obf: JJOBHGFOGHP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RoleTrackEquipmentInfo {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub bgfficlckhe: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub priority: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub mcjmhbiecmn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "12")]
    pub source: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdkhmnkaecp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub miidimocpeb: ::prost::alloc::vec::Vec<RoleTrackEquipmentInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kepiegkpfij {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub moadbalhmfd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpgkbldladf {
    #[prost(oneof = "jpgkbldladf::Mnlchejkdho", tags = "2, 3, 6")]
    pub mnlchejkdho: ::core::option::Option<jpgkbldladf::Mnlchejkdho>,
}
/// Nested message and enum types in `JPGKBLDLADF`.
pub mod jpgkbldladf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mnlchejkdho {
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Aokpcnjjbao(u32),
        /// offset: 24
        #[prost(message, tag = "3")]
        Kbboajpmncn(super::GridFightCurrentTask),
        /// offset: 24
        #[prost(uint32, tag = "6")]
        Cepehneoioh(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjcajkhncdh {
    #[prost(oneof = "hjcajkhncdh::Mnlchejkdho", tags = "9, 3, 1")]
    pub mnlchejkdho: ::core::option::Option<hjcajkhncdh::Mnlchejkdho>,
}
/// Nested message and enum types in `HJCAJKHNCDH`.
pub mod hjcajkhncdh {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mnlchejkdho {
        /// offset: 24
        #[prost(message, tag = "9")]
        Aigpjlhbneh(super::Afcbkjefkpg),
        /// offset: 24
        #[prost(message, tag = "3")]
        Jniobapdkln(super::Afcbkjefkpg),
        /// offset: 24
        #[prost(uint32, tag = "1")]
        Mlagbpiankg(u32),
    }
}
/// Obf: KFNCAIHIHCM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncData {
    #[prost(
        oneof = "grid_fight_sync_data::Mnlchejkdho",
        tags = "1830, 1071, 1726, 2016, 2004, 457, 542, 873, 1865, 450, 359, 1938, 1114, 1061, 1769, 1253, 1578, 294, 1073, 806, 281, 386, 304, 586, 612, 1132, 815, 1446, 666, 1226, 261, 1293, 917, 1233, 1463, 755, 528, 1222, 130, 1993, 1077, 247, 1388, 68, 562, 1681, 165, 67, 911, 1633, 1097, 456, 235, 1501, 1420"
    )]
    pub mnlchejkdho: ::core::option::Option<grid_fight_sync_data::Mnlchejkdho>,
}
/// Nested message and enum types in `GridFightSyncData`.
pub mod grid_fight_sync_data {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mnlchejkdho {
        /// offset: 16
        #[prost(message, tag = "1830")]
        Pidddhkpddm(super::GridGameRoleInfo),
        /// offset: 16
        #[prost(message, tag = "1071")]
        Cfocdalncbp(super::GridGameRoleInfo),
        /// offset: 16
        #[prost(uint32, tag = "1726")]
        Hfcboioaeck(u32),
        /// offset: 16
        #[prost(message, tag = "2016")]
        Lmoleldikma(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(message, tag = "2004")]
        Ddbkeopkpfi(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(message, tag = "457")]
        Pengedecbnf(super::GridFightGameItemSyncInfo),
        /// offset: 16
        #[prost(uint32, tag = "542")]
        ItemValue(u32),
        /// offset: 16
        #[prost(message, tag = "873")]
        Plpheiblpdl(super::GridFightPlayerLevelSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1865")]
        GridFightLineupHp(super::Fmjddihbelc),
        /// offset: 16
        #[prost(uint32, tag = "450")]
        Bpcfdpnhiel(u32),
        /// offset: 16
        #[prost(message, tag = "359")]
        Mofniojhbbl(super::GridFightShopSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1938")]
        Fmigokidkjl(super::GridFightPendingAction),
        /// offset: 16
        #[prost(message, tag = "1114")]
        Hpiighoelbh(super::Moenfcdkgmj),
        /// offset: 16
        #[prost(message, tag = "1061")]
        Ooichlamnig(super::GridFightLevelSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1769")]
        Afilipbhmoo(super::GridFightOrbSyncInfo),
        /// offset: 16
        #[prost(message, tag = "1253")]
        Dmhmichjbcb(super::GridFightSectionRecordInfo),
        /// offset: 16
        #[prost(message, tag = "1578")]
        Leaddfojfkd(super::GridFightGameAugmentUpdate),
        /// offset: 16
        #[prost(uint32, tag = "294")]
        Mddkjgpjoaf(u32),
        /// offset: 16
        #[prost(uint32, tag = "1073")]
        Pmfbiglpjja(u32),
        /// offset: 16
        #[prost(uint32, tag = "806")]
        Knfoccpojea(u32),
        /// offset: 16
        #[prost(uint32, tag = "281")]
        Bepmodicona(u32),
        /// offset: 16
        #[prost(message, tag = "386")]
        Hkhjjcmkkje(super::GridFightTraitSyncInfo),
        /// offset: 16
        #[prost(message, tag = "304")]
        Hgndmoodnkf(super::GridFightTraitTrackSyncInfo),
        /// offset: 16
        #[prost(uint32, tag = "586")]
        Gdakcoicida(u32),
        /// offset: 16
        #[prost(uint32, tag = "612")]
        Miceojbakgn(u32),
        /// offset: 16
        #[prost(uint32, tag = "1132")]
        Jlocmdidpci(u32),
        /// offset: 16
        #[prost(message, tag = "815")]
        Nkbidlblonc(super::GridFightDamageSttInfo),
        /// offset: 16
        #[prost(message, tag = "1446")]
        Fgodnplcech(super::Kepiegkpfij),
        /// offset: 16
        #[prost(message, tag = "666")]
        Ejmdhdjcgdi(super::GridGameNpcInfo),
        /// offset: 16
        #[prost(message, tag = "1226")]
        Dhleolknami(super::GridGameNpcInfo),
        /// offset: 16
        #[prost(uint32, tag = "261")]
        Njcefejbeop(u32),
        /// offset: 16
        #[prost(message, tag = "1293")]
        Olckalfilkk(super::GridGameForgeItemInfo),
        /// offset: 16
        #[prost(message, tag = "917")]
        Fekcpkaphho(super::GridGameForgeItemInfo),
        /// offset: 16
        #[prost(uint32, tag = "1233")]
        Oaccghihlba(u32),
        /// offset: 16
        #[prost(message, tag = "1463")]
        Eikhfbckifa(super::GridFightGameAugmentAdd),
        /// offset: 16
        #[prost(message, tag = "755")]
        Bmgfdikdobe(super::Mdkhmnkaecp),
        /// offset: 16
        #[prost(message, tag = "528")]
        Goochgkbipn(super::GridFightGameItemInfo),
        /// offset: 16
        #[prost(uint32, tag = "1222")]
        Gohhjlapmbb(u32),
        /// offset: 16
        #[prost(uint32, tag = "130")]
        Dgeohflhahi(u32),
        /// offset: 16
        #[prost(message, tag = "1993")]
        Ldkdjaejmpa(super::Jpgkbldladf),
        /// offset: 16
        #[prost(message, tag = "1077")]
        Jomfjhochjp(super::Gmbmnflmkpi),
        /// offset: 16
        #[prost(uint32, tag = "247")]
        Kalkcjffjik(u32),
        /// offset: 16
        #[prost(message, tag = "1388")]
        Gojingmmail(super::Fphpfjlajdk),
        /// offset: 16
        #[prost(message, tag = "68")]
        Cpcjghcglij(super::Fphpfjlajdk),
        /// offset: 16
        #[prost(uint32, tag = "562")]
        Dekgklgidgi(u32),
        /// offset: 16
        #[prost(message, tag = "1681")]
        Ahmmhghnhmi(super::Pfbcbnmkfak),
        /// offset: 16
        #[prost(uint32, tag = "165")]
        Ooagjadojnb(u32),
        /// offset: 16
        #[prost(uint32, tag = "67")]
        Cdkjhjnfdih(u32),
        /// offset: 16
        #[prost(uint32, tag = "911")]
        Ldppdhgnchl(u32),
        /// offset: 16
        #[prost(message, tag = "1633")]
        Hjmaedkcone(super::Fadheigjenf),
        /// offset: 16
        #[prost(message, tag = "1097")]
        Ppjfpnmifhl(super::Glpcekmklgg),
        /// offset: 16
        #[prost(uint32, tag = "456")]
        Logjnaicjpa(u32),
        /// offset: 16
        #[prost(message, tag = "235")]
        Mhfoelcfjgk(super::Laamiajfomc),
        /// offset: 16
        #[prost(message, tag = "1501")]
        Bkddcfhelnb(super::Hogjecbmfhd),
        /// offset: 16
        #[prost(message, tag = "1420")]
        Ckndfnacipo(super::Hjcajkhncdh),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Abplalchnfa {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub ooeocgllhfo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub jkpjfkcbiem: ::prost::alloc::vec::Vec<GridFightSyncData>,
    /// offset: 40
    #[prost(enumeration = "GridFightUpdateSrcType", tag = "13")]
    pub grid_update_src: i32,
}
/// Obf: OILCMCPNBEO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8602)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncUpdateResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub gcpnihhbggd: ::prost::alloc::vec::Vec<Abplalchnfa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhegmhkhaad {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub pos_index: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
}
/// Obf: GEKBDAKFNHK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8522)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdatePosCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub aakdhmhcmlp: ::prost::alloc::vec::Vec<Mhegmhkhaad>,
}
/// Obf: LMKKDOLLDJK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8631)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdatePosScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub aakdhmhcmlp: ::prost::alloc::vec::Vec<Mhegmhkhaad>,
}
/// Obf: IPHBHKOOGBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8680)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightRecycleRoleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
}
/// Obf: JGAEMGBIAIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8449)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightRecycleRoleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8608)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Koiamdkefkh {
    /// offset: 24
    #[prost(enumeration = "GridFightEquipDressSource", tag = "2")]
    pub cpfcnoajcgk: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub mdnagangnkk: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pebcblblmph: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jiomocfomoa {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8570)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bdncooanaea {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub ehdakfehpmf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub nnfecnicmod: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub jcnlcnfhhdg: u32,
    /// offset: 36
    #[prost(enumeration = "GridFightEquipCraftSource", tag = "13")]
    pub source: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8488)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mflddcifajn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bdddlofnchn {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub mdnagangnkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpjkbfkakjh {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub mdnagangnkk: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub pebcblblmph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bebijakfnlo {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pebcblblmph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gbjhjgcojbc {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mdnagangnkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amfifnocdof {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub mdnagangnkk: u32,
}
/// Obf: LMIFHAMFCFE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightConsumableTargetInfo {
    #[prost(
        oneof = "grid_fight_consumable_target_info::Nebnjdmfelo",
        tags = "1461, 1646, 453, 1600, 1794"
    )]
    pub nebnjdmfelo: ::core::option::Option<
        grid_fight_consumable_target_info::Nebnjdmfelo,
    >,
}
/// Nested message and enum types in `GridFightConsumableTargetInfo`.
pub mod grid_fight_consumable_target_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nebnjdmfelo {
        /// offset: 16
        #[prost(message, tag = "1461")]
        Aalcfbogfkp(super::Bdddlofnchn),
        /// offset: 16
        #[prost(message, tag = "1646")]
        Imilghelnbj(super::Hpjkbfkakjh),
        /// offset: 16
        #[prost(message, tag = "453")]
        Kmcbbkihbkf(super::Bebijakfnlo),
        /// offset: 16
        #[prost(message, tag = "1600")]
        Aeoikfnkaap(super::Gbjhjgcojbc),
        /// offset: 16
        #[prost(message, tag = "1794")]
        Hlkkcafgcij(super::Amfifnocdof),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8572)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moionldjgji {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub param: ::core::option::Option<GridFightConsumableTargetInfo>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8647)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kahaoojhjpk {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8447)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oebklepmmke {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pfikcnfbghe: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8699)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhnlbdmkpem {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8718)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikmocjbmgoj {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_get_all: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub cbmgdbjhlho: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8664)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnhdgcblpgd {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8595)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gdhfmhkfeal {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fknnkcklfmd: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub nmgiabhijjb: ::core::option::Option<GridFightDropInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8682)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfeflimjogo {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8422)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hmbdoohkibc {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8692)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lkdmcpdhegm {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8644)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cegiakadmhp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8514)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cfheknfnmip {
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub is_locked: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8661)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cgbkkgnfmkl {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8483)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jboopapnfdc {
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub ciboniohelb: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub cgafcmiakli: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8492)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbeeklpiemk {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Endfbbdffdh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nbnldhbello {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub role_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub weight: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhcohljiaii {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub num: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub role_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8470)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cnoapamndoa {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub lfjlnahjnbe: ::prost::alloc::vec::Vec<Nbnldhbello>,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub kgoehkjionm: ::prost::alloc::vec::Vec<Lhcohljiaii>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: PEFKOGMGEIC
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPortalBuffActionInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub nphoimeedhm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub plpjncdkmad: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub daemebckhik: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub gmlnoohjchm: u32,
}
/// Obf: IHGANLCNHBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPendingAugmentInfo {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub fegdeoehlfd: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub kkiobdhkppk: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub augment_id: u32,
}
/// Obf: IPFFLNPMCEG
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightAugmentActionInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub cebffdfmkgk: ::prost::alloc::vec::Vec<GridFightPendingAugmentInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngnkiiohbai {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub olppmeamffo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub effect_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hnphlahjpob {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub daemebckhik: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub plpjncdkmad: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iakedfliofd {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub plpjncdkmad: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub jjpmdbcpjba: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub daemebckhik: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub ionlfbnmofp: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub mfbaklcbpcj: ::prost::alloc::vec::Vec<GridFightSupplyRoleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Legpfiaploo {
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub nkdegmkkhpb: bool,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub effect_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub trait_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub lajlghplaaa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub egjdildeakp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dphpakflnod {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hjpdalhdjhc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhjiojnnpdm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub kbecjmllcej: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: COGDEMPCLHA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightRecommendEquipmentActionInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub kbecjmllcej: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FGLLAJMCPKM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightForgeRoleActionInfo {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub lclpejheaid: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub ckjakknohek: ::prost::alloc::vec::Vec<Pgecgkekfnc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkjmgfophhn {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub ckjakknohek: ::prost::alloc::vec::Vec<Flfhacpldje>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lclpejheaid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Geibjkjdoho {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub fjbfgeigmhf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub effect_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjalehomfkh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub olppmeamffo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub effect_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpenenimefe {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ghbbciiphkj: ::core::option::Option<GridFightDropInfo>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub quest_id: u32,
    /// offset: 36
    #[prost(bool, tag = "11")]
    pub ijjdehipoel: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cffdcicdakk {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub ekbogbmpapj: ::prost::alloc::vec::Vec<Bpenenimefe>,
}
/// Obf: CHCHAJIANIM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightPendingAction {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub queue_position: u32,
    #[prost(
        oneof = "grid_fight_pending_action::Fgliodajfml",
        tags = "339, 1379, 52, 775, 334, 1071, 628, 111, 2033, 527, 1479, 139, 1548, 1986, 1005"
    )]
    pub fgliodajfml: ::core::option::Option<grid_fight_pending_action::Fgliodajfml>,
}
/// Nested message and enum types in `GridFightPendingAction`.
pub mod grid_fight_pending_action {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fgliodajfml {
        /// offset: 24
        #[prost(message, tag = "339")]
        Mffcplbnhcf(super::GridFightPortalBuffActionInfo),
        /// offset: 24
        #[prost(message, tag = "1379")]
        Ibchmbniplk(super::GridFightAugmentActionInfo),
        /// offset: 24
        #[prost(message, tag = "52")]
        Pkhjlkngcgh(super::Ngnkiiohbai),
        /// offset: 24
        #[prost(message, tag = "775")]
        Bakakodkecm(super::Hnphlahjpob),
        /// offset: 24
        #[prost(message, tag = "334")]
        Jlpopeajhmf(super::Legpfiaploo),
        /// offset: 24
        #[prost(message, tag = "1071")]
        Nndgejflggf(super::Dphpakflnod),
        /// offset: 24
        #[prost(message, tag = "628")]
        Lgnphhbgkfh(super::Hjpdalhdjhc),
        /// offset: 24
        #[prost(message, tag = "111")]
        Fikagbaeoap(super::Iakedfliofd),
        /// offset: 24
        #[prost(message, tag = "2033")]
        Hokcpppljio(super::Mhjiojnnpdm),
        /// offset: 24
        #[prost(message, tag = "527")]
        Hhnpehmbdkd(super::GridFightRecommendEquipmentActionInfo),
        /// offset: 24
        #[prost(message, tag = "1479")]
        Hhnhgjmogdd(super::GridFightForgeRoleActionInfo),
        /// offset: 24
        #[prost(message, tag = "139")]
        Cfdipfkbfjb(super::Fkjmgfophhn),
        /// offset: 24
        #[prost(message, tag = "1548")]
        Lajgnnboldg(super::Geibjkjdoho),
        /// offset: 24
        #[prost(message, tag = "1986")]
        Lfidnoaecmn(super::Bjalehomfkh),
        /// offset: 24
        #[prost(message, tag = "1005")]
        Iohjgoenapf(super::Cffdcicdakk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lapoafhdncm {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub jcapcnljgfc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epljjnhcjif {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cjpomfidloa {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub augment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Giolaaklded {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub augment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkldoelmein {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohainohgkcm {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub moadbalhmfd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dgildldmgei {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hmnmjkchabe {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub loafkkafbok: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdkgkidcbka {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub bcigppfmljb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pccgpnafmhp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub bcigppfmljb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfonapfhaob {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pfikcnfbghe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fnnfhnkhidd {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pfikcnfbghe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Idojadmfgkf {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ratio: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejefkjgakoo {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub effect_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub menfbedcbhb: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub trait_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kccphhgcpmp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jllfidambcn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dfmgejccbpd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nidjpblndlh {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nnfpcapdenh {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajdfpfhbfjm {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nemakfjpgdf {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fkilnigokbf {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub role_id: u32,
}
/// Obf: AFPDIFAPAEA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8445)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandlePendingActionCsReq {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub queue_position: u32,
    #[prost(
        oneof = "grid_fight_handle_pending_action_cs_req::Fgliodajfml",
        tags = "2023, 1901, 1939, 656, 1607, 690, 1162, 301, 1142, 497, 827, 349, 374, 1304, 1095, 885, 210, 1748, 1884, 1593, 1247"
    )]
    pub fgliodajfml: ::core::option::Option<
        grid_fight_handle_pending_action_cs_req::Fgliodajfml,
    >,
}
/// Nested message and enum types in `GridFightHandlePendingActionCsReq`.
pub mod grid_fight_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Fgliodajfml {
        /// offset: 24
        #[prost(message, tag = "2023")]
        Mffcplbnhcf(super::Lapoafhdncm),
        /// offset: 24
        #[prost(message, tag = "1901")]
        Dcphlhnlnkf(super::Epljjnhcjif),
        /// offset: 24
        #[prost(message, tag = "1939")]
        Ibchmbniplk(super::Cjpomfidloa),
        /// offset: 24
        #[prost(message, tag = "656")]
        Dajdbbepmma(super::Giolaaklded),
        /// offset: 24
        #[prost(message, tag = "1607")]
        Pkhjlkngcgh(super::Gkldoelmein),
        /// offset: 24
        #[prost(message, tag = "690")]
        Bakakodkecm(super::Ohainohgkcm),
        /// offset: 24
        #[prost(message, tag = "1162")]
        Jlpopeajhmf(super::Nidjpblndlh),
        /// offset: 24
        #[prost(message, tag = "301")]
        Kebdkgkejdd(super::Nnfpcapdenh),
        /// offset: 24
        #[prost(message, tag = "1142")]
        Nndgejflggf(super::Ajdfpfhbfjm),
        /// offset: 24
        #[prost(message, tag = "497")]
        Lgnphhbgkfh(super::Nemakfjpgdf),
        /// offset: 24
        #[prost(message, tag = "827")]
        Fikagbaeoap(super::Hmnmjkchabe),
        /// offset: 24
        #[prost(message, tag = "349")]
        Iacbcobmgjb(super::Dfmgejccbpd),
        /// offset: 24
        #[prost(message, tag = "374")]
        Hokcpppljio(super::Pdkgkidcbka),
        /// offset: 24
        #[prost(message, tag = "1304")]
        Emmphlkjajn(super::Dgildldmgei),
        /// offset: 24
        #[prost(message, tag = "1095")]
        Hhnpehmbdkd(super::Pccgpnafmhp),
        /// offset: 24
        #[prost(message, tag = "885")]
        Hhnhgjmogdd(super::Lfonapfhaob),
        /// offset: 24
        #[prost(message, tag = "210")]
        Cfdipfkbfjb(super::Fnnfhnkhidd),
        /// offset: 24
        #[prost(message, tag = "1748")]
        Nfbjinklllk(super::Idojadmfgkf),
        /// offset: 24
        #[prost(message, tag = "1884")]
        Lajgnnboldg(super::Ejefkjgakoo),
        /// offset: 24
        #[prost(message, tag = "1593")]
        Lfidnoaecmn(super::Fkilnigokbf),
        /// offset: 24
        #[prost(message, tag = "1247")]
        Iohjgoenapf(super::Kccphhgcpmp),
    }
}
/// Obf: CJLEJIGIKOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8798)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandlePendingActionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub queue_position: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8464)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iaabdbbjhol {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub is_overlock: bool,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ljngpckpjlf: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub division_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8779)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhocojljppa {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub dhfoflfclah: ::core::option::Option<GridFightCurrentInfo>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8794)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cfidojgkbhb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8539)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ggamiknedge {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8763)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aameaobegka {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8679)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fgmkgoiiffl {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8468)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pajhfekapmn {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub egapegckdfj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8745)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abcbkhaieog {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: LHDIOCPFGHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8478)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightEnterBattleStageCsReq {}
/// Obf: NGIPBCJPFPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8695)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEnterBattleStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Obf: GEDDNPGHNGP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHpModifyInfo {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ioaohndejnb: u32,
    /// offset: 28
    #[prost(enumeration = "GridFightUpdateGlobalHpReason", tag = "9")]
    pub reason: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub eobofdogddm: u32,
    /// offset: 40
    #[prost(int32, tag = "11")]
    pub odjebdnbllc: i32,
    /// offset: 24
    #[prost(int32, tag = "13")]
    pub bmmaddocjog: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nfpldmfclha {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub kdbmpkjkaki: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Geemfdbdmdh {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub lhiaodnjiic: ::core::option::Option<Nfpldmfclha>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub pbmahojbagg: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub edclipcehao: ::core::option::Option<Nfpldmfclha>,
}
/// Obf: ELDJBEKOLHB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8459)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightEndBattleStageNotify {
    /// offset: 108
    #[prost(uint32, tag = "1")]
    pub dmniljegico: u32,
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub nkbidlblonc: ::core::option::Option<GridFightDamageSttInfo>,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub jpkhbelghcg: u32,
    /// offset: 96
    #[prost(uint32, tag = "5")]
    pub dcahjelnjnp: u32,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub emohljhpopc: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub hflpdcjdiac: u32,
    /// offset: 80
    #[prost(uint32, tag = "8")]
    pub oglocdmnnim: u32,
    /// offset: 16
    #[prost(map = "uint32, message", tag = "9")]
    pub afffconcdmg: ::std::collections::HashMap<u32, GridFightDropInfo>,
    /// offset: 76
    #[prost(bool, tag = "13")]
    pub cbhjkfncdad: bool,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub section_id: u32,
    /// offset: 100
    #[prost(uint32, tag = "323")]
    pub clfnpmghmfc: u32,
    /// offset: 72
    #[prost(uint32, tag = "471")]
    pub oahfcppimlf: u32,
    /// offset: 84
    #[prost(uint32, tag = "1105")]
    pub odjebdnbllc: u32,
    /// offset: 104
    #[prost(uint32, tag = "1115")]
    pub occohkimgcn: u32,
    /// offset: 40
    #[prost(message, optional, tag = "1250")]
    pub aeocoghmebg: ::core::option::Option<Geemfdbdmdh>,
    /// offset: 32
    #[prost(message, repeated, tag = "1429")]
    pub hmkokacnhjh: ::prost::alloc::vec::Vec<GridFightHpModifyInfo>,
    /// offset: 64
    #[prost(uint32, tag = "1637")]
    pub pagpkokmdbk: u32,
    /// offset: 88
    #[prost(uint32, tag = "1987")]
    pub lkcjapigend: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8650)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilcpglaaadl {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8757)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Flhidbdffkg {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gpcfhmlmdhc {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Afpjpeabfkh {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub eakbfelddbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhknpbjdfic {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub role_id: u32,
}
/// Obf: PHIFCNHKOAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8620)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightTraitUpdateCsReq {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub effect_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub trait_id: u32,
    #[prost(
        oneof = "grid_fight_trait_update_cs_req::Nebnjdmfelo",
        tags = "897, 1879, 1854"
    )]
    pub nebnjdmfelo: ::core::option::Option<grid_fight_trait_update_cs_req::Nebnjdmfelo>,
}
/// Nested message and enum types in `GridFightTraitUpdateCsReq`.
pub mod grid_fight_trait_update_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nebnjdmfelo {
        /// offset: 24
        #[prost(message, tag = "897")]
        Ffbepflbhpl(super::Gpcfhmlmdhc),
        /// offset: 24
        #[prost(message, tag = "1879")]
        Jlclhaknmll(super::Afpjpeabfkh),
        /// offset: 24
        #[prost(message, tag = "1854")]
        Lfidnoaecmn(super::Mhknpbjdfic),
    }
}
/// Obf: IEKGANLHMHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8554)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightTraitUpdateScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8519)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mcdbjhocghi {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub trait_id: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub bjdoinahdln: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8668)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iifppbcfbbc {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hlhhligpnom {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub mcjmhbiecmn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "6")]
    pub source: i32,
    /// offset: 48
    #[prost(bool, tag = "9")]
    pub bjdoinahdln: bool,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub priority: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub bgfficlckhe: u32,
}
/// Obf: FDBMEIIMMJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8689)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightUpdateEquipTrackCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub dkeidonndcj: ::prost::alloc::vec::Vec<Hlhhligpnom>,
    /// offset: 32
    #[prost(enumeration = "GridFightEquipTrackSource", tag = "14")]
    pub source: i32,
}
/// Obf: KLLHNFLCDGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8729)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightUpdateEquipTrackScRsp {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epeldfbccek {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub bgfficlckhe: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub priority: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8584)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Poibjkbdlli {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub bfcmlcjmlol: ::prost::alloc::vec::Vec<Epeldfbccek>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8413)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Llpmakihapl {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8498)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aaghpdhcooi {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub lkmemklgiik: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8552)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lcfaagejgbg {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8581)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ndamfdidkgb {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub moadbalhmfd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8697)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aiddodlhdle {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8768)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Agoblkjfjdl {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub oopfnfigpkb: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub nfbjinklllk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8702)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emfjdodngif {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plfkmencdmm {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub role_star: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub role_id: u32,
    /// offset: 41
    #[prost(bool, tag = "3")]
    pub dignechkini: bool,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub ogibpmbelkc: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(double, tag = "10")]
    pub total_damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Kinjhhbjnjp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub trait_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub layer: u32,
    /// offset: 32
    #[prost(double, tag = "13")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Nfidndfhjgn {
    /// offset: 40
    #[prost(double, tag = "1")]
    pub damage: f64,
    /// offset: 24
    #[prost(double, tag = "11")]
    pub kinkmheaanp: f64,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub augment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gocigpcdkdj {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub pagpkokmdbk: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub emohljhpopc: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub section_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub lkcjapigend: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub fdgkboiehbd: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub fmeohkhgmjm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub aacgbebgdpe: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub dcahjelnjnp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oedhmahdecc {
    /// offset: 96
    #[prost(message, repeated, tag = "3")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<GridGameTraitInfo>,
    /// offset: 172
    #[prost(uint32, tag = "6")]
    pub lljjcookanh: u32,
    /// offset: 88
    #[prost(message, repeated, tag = "7")]
    pub oaigagabcmk: ::prost::alloc::vec::Vec<GridFightGamePortalBuffInfo>,
    /// offset: 128
    #[prost(message, repeated, tag = "8")]
    pub sync_augment_info: ::prost::alloc::vec::Vec<GridGameAugmentInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub basic: ::core::option::Option<Gocigpcdkdj>,
    /// offset: 120
    #[prost(message, repeated, tag = "13")]
    pub eegpiljdlbg: ::prost::alloc::vec::Vec<Plfkmencdmm>,
    /// offset: 56
    #[prost(message, repeated, tag = "393")]
    pub kcompkmjcmc: ::prost::alloc::vec::Vec<Fphpfjlajdk>,
    /// offset: 104
    #[prost(message, repeated, tag = "636")]
    pub grid_game_role_list: ::prost::alloc::vec::Vec<GridGameRoleInfo>,
    /// offset: 136
    #[prost(uint32, repeated, tag = "682")]
    pub mhlbibgkiob: ::prost::alloc::vec::Vec<u32>,
    /// offset: 152
    #[prost(message, repeated, tag = "738")]
    pub jfchlabgfjo: ::prost::alloc::vec::Vec<Nfidndfhjgn>,
    /// offset: 112
    #[prost(message, repeated, tag = "762")]
    pub apabpafgcia: ::prost::alloc::vec::Vec<Kinjhhbjnjp>,
    /// offset: 176
    #[prost(uint32, tag = "910")]
    pub mbmjnediffc: u32,
    /// offset: 160
    #[prost(bool, tag = "1284")]
    pub is_overlock: bool,
    /// offset: 16
    #[prost(message, optional, tag = "1290")]
    pub ppjfpnmifhl: ::core::option::Option<Glpcekmklgg>,
    /// offset: 161
    #[prost(bool, tag = "1293")]
    pub dbodgpboihc: bool,
    /// offset: 72
    #[prost(message, optional, tag = "1303")]
    pub jldddldnfef: ::core::option::Option<Clfaboekmji>,
    /// offset: 80
    #[prost(uint32, repeated, tag = "1311")]
    pub hgagkfekbda: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "1426")]
    pub grid_game_npc_list: ::prost::alloc::vec::Vec<GridGameNpcInfo>,
    /// offset: 168
    #[prost(enumeration = "GridFightSettleReason", tag = "1547")]
    pub reason: i32,
    /// offset: 164
    #[prost(uint32, tag = "1568")]
    pub akegljlcfph: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "1846")]
    pub cffcnedgcjj: ::prost::alloc::vec::Vec<Laamiajfomc>,
    /// offset: 32
    #[prost(message, optional, tag = "1866")]
    pub boss_info: ::core::option::Option<Kgmclfhajnj>,
    /// offset: 24
    #[prost(message, repeated, tag = "1972")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<GridFightEquipmentInfo>,
}
/// Obf: OLPFMPIKIPK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8698)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSettleNotify {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub gebggmagdjb: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub kejgcdogedd: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub flhopmmegai: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub nmckjpemacm: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub edhkhjapmka: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub cdankdnacjp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "42")]
    pub bflljjbhldf: ::core::option::Option<Oedhmahdecc>,
    /// offset: 48
    #[prost(uint32, tag = "93")]
    pub cgkndijmocj: u32,
    /// offset: 44
    #[prost(uint32, tag = "457")]
    pub mnnkkepcppl: u32,
}
/// Obf: FMNKKAMOHEE
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightTalentInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub bdgmnpijddl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glifolcemin {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub pifoegcgklc: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub kejgcdogedd: u32,
}
/// Obf: AMEEHIIPMFP
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightStaticGameInfo {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub exp: ::core::option::Option<Glifolcemin>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub adfekpnifoj: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub gebggmagdjb: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub gegmhomnbdg: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub gdakcoicida: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub mhfhlbhfibc: ::core::option::Option<GridFightTalentInfo>,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub division_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub nlenpepihac: ::core::option::Option<GridFightHandBookInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckpoblifmgn {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub mhfhlbhfibc: ::core::option::Option<GridFightTalentInfo>,
}
/// Obf: CLEDCMIOIPF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSystemInfo {
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub hfpejidddjg: ::core::option::Option<GridFightStaticGameInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub pkelaipihmf: ::core::option::Option<Ckpoblifmgn>,
}
/// Obf: CKIKMLCGLFK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8435)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPermanentTalentEnableCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ckhclkoalke: u32,
}
/// Obf: KCADLPJDECG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8717)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPermanentTalentEnableScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ckhclkoalke: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NOGLDANAKDO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8441)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSeasonTalentEnableCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ckhclkoalke: u32,
}
/// Obf: MNJCFFIDJFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8484)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSeasonTalentEnableScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ckhclkoalke: u32,
}
/// Obf: OCOONGAKCMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8411)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPermanentTalentResetCsReq {}
/// Obf: AMELHLBNKAM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8423)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightPermanentTalentResetScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: OCFPHHCOIHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8700)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSeasonTalentResetCsReq {}
/// Obf: CBICBHJDHLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8412)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSeasonTalentResetScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cenbjommjgd {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub item_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub item_type: u32,
}
/// Obf: HFIDFIANHAN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8710)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightSyncVirtualItemNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub item_list: ::prost::alloc::vec::Vec<Cenbjommjgd>,
}
/// Obf: NCHKFJPOHAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookRoleInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub grid_fight_avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FCEILNCDMAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookEquipInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub grid_fight_item_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GKNIJKHENBF
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookAugmentInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub ddifkadgibo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub jicibcfdhih: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NEDHMLJKIOA
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookPortalInfo {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub djjbkigbgja: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub nphoimeedhm: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AHPHDNBNLPJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookMonsterInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub hekmejlmgff: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NMECHIFGKAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightHandBookInfo {
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub nioaiklpacm: ::core::option::Option<GridFightHandBookMonsterInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub pjbipmkacof: ::core::option::Option<GridFightHandBookEquipInfo>,
    /// offset: 56
    #[prost(message, optional, tag = "13")]
    pub jlfaneoahoc: ::core::option::Option<GridFightHandBookAugmentInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub ejhdglhcnlh: ::core::option::Option<GridFightHandBookPortalInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub dnegdnebjmb: ::core::option::Option<GridFightHandBookRoleInfo>,
}
/// Obf: MNJIFHBGMDJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8725)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSeasonHandBookNotify {
    #[prost(
        oneof = "grid_fight_season_hand_book_notify::Kknboacncon",
        tags = "518, 1637, 537, 1531, 1069"
    )]
    pub kknboacncon: ::core::option::Option<
        grid_fight_season_hand_book_notify::Kknboacncon,
    >,
}
/// Nested message and enum types in `GridFightSeasonHandBookNotify`.
pub mod grid_fight_season_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "518")]
        Kbhgcceneec(super::GridFightHandBookRoleInfo),
        /// offset: 24
        #[prost(message, tag = "1637")]
        Lnldbnigodi(super::GridFightHandBookEquipInfo),
        /// offset: 24
        #[prost(message, tag = "537")]
        Odejbbaleoa(super::GridFightHandBookAugmentInfo),
        /// offset: 24
        #[prost(message, tag = "1531")]
        Hlhcconokcl(super::GridFightHandBookPortalInfo),
        /// offset: 24
        #[prost(message, tag = "1069")]
        Bnfhpkcifcc(super::GridFightHandBookMonsterInfo),
    }
}
/// Obf: JEBPPPNJJJM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8658)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightWeeklyExtraSeasonExpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub acdoigcbgeb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ndlnikccalk {
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub bpfffcmmmch: bool,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub edhkhjapmka: u32,
    /// offset: 48
    #[prost(int64, tag = "7")]
    pub end_time: i64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub oplnkcolckj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(int64, tag = "14")]
    pub start_time: i64,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8651)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldbjkkchngj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub jkcebhfieni: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8577)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gaekhidcfhf {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub ngkofmbbgnl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub mgbneahcdma: ::core::option::Option<Ndlnikccalk>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8766)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldnpbalacdb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub gdcflplfjci: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8516)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfnihdlfmcj {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub mgbneahcdma: ::core::option::Option<Ndlnikccalk>,
}
/// Obf: FAIHLAKPABN
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightArchiveData {
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub gegmhomnbdg: u32,
    /// offset: 56
    #[prost(int64, tag = "9")]
    pub obneaipkgkl: i64,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub ieckkchjmlp: bool,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub bflljjbhldf: ::core::option::Option<Oedhmahdecc>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub pmbnkefcich: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ljngpckpjlf: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub baagdilllme: u32,
}
/// Obf: KOKMBKGPCFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8530)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightGetArchiveCsReq {
    /// offset: 24
    #[prost(enumeration = "Mljiildndpl", tag = "14")]
    pub r#type: i32,
}
/// Obf: NABNCJEJGLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8723)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GridFightGetArchiveScRsp {
    /// offset: 32
    #[prost(enumeration = "Mljiildndpl", tag = "7")]
    pub r#type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub mcggponockc: ::prost::alloc::vec::Vec<GridFightArchiveData>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: CIIBIOBDDCE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8652)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FavourArchiveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub baagdilllme: u32,
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub ieckkchjmlp: bool,
}
/// Obf: CECPPJBHMMH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8676)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FavourArchiveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub baagdilllme: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub ieckkchjmlp: bool,
}
/// Obf: OIOELLNKEDJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8529)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightSyncKeepWinCntNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ehbljgienpi: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8748)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightBackToPrepareCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8592)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GridFightBackToPrepareScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: CBEHKFHNNAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8633)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetGameFormationCsReq {}
/// Obf: LPIJFPCGAKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8583)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGameFormationScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub febfmfmlhpo: ::prost::alloc::vec::Vec<Hendehgpkmf>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub dackjgdgmln: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NOICMGFLOKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8502)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CheckTextCsReq {
    /// offset: 16
    #[prost(string, tag = "10")]
    pub ohnaihacikh: ::prost::alloc::string::String,
}
/// Obf: OFADBBMPDMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8591)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CheckTextRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: IBEMBMGFDBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8693)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGameFormationCsReq {
    /// offset: 16
    #[prost(bytes = "vec", tag = "1")]
    pub jlfiafkgcoj: ::prost::alloc::vec::Vec<u8>,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub dice_slot_id: u32,
    /// offset: 56
    #[prost(bool, tag = "7")]
    pub kllekhpjgle: bool,
    /// offset: 40
    #[prost(string, tag = "11")]
    pub kfpmjkcojaj: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub milbdipbjgp: ::prost::alloc::string::String,
}
/// Obf: FKCIBPKMODK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8696)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGameFormationScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub efbdadnlcgl: ::core::option::Option<Hendehgpkmf>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8460)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hkoaockbbja {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dice_slot_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8465)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oennaoafama {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub jbdfehdfkno: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub dackjgdgmln: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8531)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ccgjddbkide {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub imjbfljpmjb: u32,
    /// offset: 28
    #[prost(enumeration = "ccgjddbkide::oakdcenfilp::Bbfefipjmeb", tag = "12")]
    pub r#type: i32,
}
/// Nested message and enum types in `CCGJDDBKIDE`.
pub mod ccgjddbkide {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct Oakdcenfilp {}
    /// Nested message and enum types in `OAKDCENFILP`.
    pub mod oakdcenfilp {
        #[derive(proto_derive::CmdID)]
        #[derive(
            Clone,
            Copy,
            Debug,
            PartialEq,
            Eq,
            Hash,
            PartialOrd,
            Ord,
            ::prost::Enumeration
        )]
        #[repr(i32)]
        pub enum Bbfefipjmeb {
            Ohdjnicjklk = 0,
            Ncboldfdgnl = 1,
            Ekgpcjlbina = 2,
        }
        impl Bbfefipjmeb {
            /// String value of the enum field names used in the ProtoBuf definition.
            ///
            /// The values are not transformed in any way and thus are considered stable
            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
            pub fn as_str_name(&self) -> &'static str {
                match self {
                    Self::Ohdjnicjklk => "BBFEFIPJMEB_OHDJNICJKLK",
                    Self::Ncboldfdgnl => "BBFEFIPJMEB_NCBOLDFDGNL",
                    Self::Ekgpcjlbina => "BBFEFIPJMEB_EKGPCJLBINA",
                }
            }
            /// Creates an enum from field names used in the ProtoBuf definition.
            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
                match value {
                    "BBFEFIPJMEB_OHDJNICJKLK" => Some(Self::Ohdjnicjklk),
                    "BBFEFIPJMEB_NCBOLDFDGNL" => Some(Self::Ncboldfdgnl),
                    "BBFEFIPJMEB_EKGPCJLBINA" => Some(Self::Ekgpcjlbina),
                    _ => None,
                }
            }
        }
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8504)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jkgilkgilai {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub dackjgdgmln: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8750)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phgffoejebm {
    /// offset: 32
    #[prost(string, tag = "8")]
    pub egcpaoeaglf: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "9")]
    pub peoodhoajmp: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8776)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdjcihmfomc {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(string, tag = "8")]
    pub egcpaoeaglf: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "10")]
    pub peoodhoajmp: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeartDialDialogueInfo {
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub gdphoimonln: bool,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeartDialScriptInfo {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
    /// offset: 25
    #[prost(bool, tag = "11")]
    pub eekckfghgeh: bool,
    /// offset: 32
    #[prost(enumeration = "HeartDialStepType", tag = "12")]
    pub step: i32,
    /// offset: 36
    #[prost(enumeration = "HeartDialEmotionType", tag = "14")]
    pub cur_emotion_type: i32,
    /// offset: 24
    #[prost(bool, tag = "15")]
    pub lhcojiebffm: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eajemnnnebm {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub llioemobfgd: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub script_id: u32,
}
/// Obf: BCKGEKPBCGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6325)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetHeartDialInfoCsReq {}
/// Obf: OEOKBKBJGOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHeartDialInfoScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub script_info_list: ::prost::alloc::vec::Vec<HeartDialScriptInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub dialogue_info_list: ::prost::alloc::vec::Vec<HeartDialDialogueInfo>,
    /// offset: 52
    #[prost(enumeration = "HeartDialUnlockStatus", tag = "7")]
    pub unlock_status: i32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub eblmnlbbfnl: ::prost::alloc::vec::Vec<Eajemnnnebm>,
}
/// Obf: HOJLMOCMFNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6393)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeScriptEmotionCsReq {
    /// offset: 32
    #[prost(enumeration = "HeartDialEmotionType", tag = "3")]
    pub target_emotion_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub blkfcfgmmbd: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub script_id: u32,
}
/// Obf: GCKMGDFCFDG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6358)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeScriptEmotionScRsp {
    /// offset: 28
    #[prost(enumeration = "HeartDialEmotionType", tag = "2")]
    pub emotion_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub script_id: u32,
}
/// Obf: IDIGIKOLDEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6388)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubmitEmotionItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub script_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AIGNBOLGIGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6381)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubmitEmotionItemScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub script_id: u32,
}
/// Obf: NFKHOGDIJPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6386)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub script_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub blkfcfgmmbd: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub dialogue_id: u32,
}
/// Obf: ILLDFAANIEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6347)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishEmotionDialoguePerformanceScRsp {
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub script_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dialogue_id: u32,
}
/// Obf: DBCAGGFPCGF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6326)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeartDialScriptChangeScNotify {
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub eblmnlbbfnl: ::prost::alloc::vec::Vec<Eajemnnnebm>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub changed_dialogue_info_list: ::prost::alloc::vec::Vec<HeartDialDialogueInfo>,
    /// offset: 48
    #[prost(enumeration = "HeartDialUnlockStatus", tag = "12")]
    pub unlock_status: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub changed_script_info_list: ::prost::alloc::vec::Vec<HeartDialScriptInfo>,
}
/// Obf: BGDGEAGBMGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6313)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeartDialTraceScriptCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub ndpmemljgck: ::core::option::Option<Eajemnnnebm>,
}
/// Obf: PACPOIAFPFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6371)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeartDialTraceScriptScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ndpmemljgck: ::core::option::Option<Eajemnnnebm>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onbllghelob {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub ngonankbkmf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub engepmpcjpc: u32,
}
/// Obf: FPIBAIPJCMD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusChallengeData {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub challenge_id: u32,
    /// offset: 32
    #[prost(bool, tag = "10")]
    pub dbpnanbmgfe: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub star: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusChallengeLineup {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
}
/// Obf: BJOAEPLGCND
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusActivityDataCsReq {}
/// Obf: MNDPFKFEENO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5878)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusActivityDataScRsp {
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub ommnafnikph: u32,
    /// offset: 72
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub skill_info: ::core::option::Option<Onbllghelob>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub challenge_list: ::prost::alloc::vec::Vec<HeliobusChallengeData>,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub aahpcioolhb: ::prost::alloc::vec::Vec<Bgomihefhpa>,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub phase: u32,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 56
    #[prost(uint32, tag = "12")]
    pub afmloapaapm: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub imgdmddkhdl: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "14")]
    pub djkmbpefckl: ::prost::alloc::vec::Vec<HeliobusChallengeLineup>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blodlkibcie {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub legegihklfk: ::prost::alloc::vec::Vec<Blodlkibcie>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub bogijenaehj: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub elaennlbedd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bgomihefhpa {
    /// offset: 52
    #[prost(bool, tag = "2")]
    pub kgejaoimobk: bool,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub cbgodlhclpk: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub geflcfhpnjh: ::prost::alloc::vec::Vec<Blodlkibcie>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mdaipflcnaj: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub hgbllinamln: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub dnncagjioap: u32,
    /// offset: 53
    #[prost(bool, tag = "13")]
    pub bnbcgfobiph: bool,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub gaijnemfdbp: u32,
}
/// Obf: FBGAKELNFDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5893)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsReadCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cbgodlhclpk: u32,
}
/// Obf: JNMBGFOJNBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5858)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsReadScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub cbgodlhclpk: u32,
}
/// Obf: MINGMOMGNEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5888)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsPostCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub mdaipflcnaj: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub cbgodlhclpk: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub dnncagjioap: u32,
}
/// Obf: NJMHBOMPING
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsPostScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub amfefiddmda: ::core::option::Option<Bgomihefhpa>,
}
/// Obf: DFALDMOKJEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5886)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsLikeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cbgodlhclpk: u32,
}
/// Obf: ABKNCPGFADC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5847)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsLikeScRsp {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cbgodlhclpk: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub kgejaoimobk: bool,
}
/// Obf: GOODKHEFJHJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5826)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSnsCommentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub bogijenaehj: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cbgodlhclpk: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jkgkpabhdch: u32,
}
/// Obf: HBNLILKKBFN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5813)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsCommentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub amfefiddmda: ::core::option::Option<Bgomihefhpa>,
}
/// Obf: HNODHEJGACP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5871)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusSnsUpdateScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub kgklbgoadce: ::prost::alloc::vec::Vec<Bgomihefhpa>,
}
/// Obf: FMBJEANIAGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusInfoChangedScNotify {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub imgdmddkhdl: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub ommnafnikph: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub kgklbgoadce: ::prost::alloc::vec::Vec<Bgomihefhpa>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub phase: u32,
}
/// Obf: MHMHPNNMFCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5833)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusUpgradeLevelCsReq {}
/// Obf: IMCAMOHNKNK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5838)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusUpgradeLevelScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
/// Obf: KJBFKGBKJME
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5839)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusUnlockSkillScNotify {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub engepmpcjpc: u32,
}
/// Obf: ACEKIEKJFPA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5845)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusEnterBattleCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub event_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub skill_id: u32,
}
/// Obf: FMJCABJPDHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5869)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusEnterBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jfkceepdhcb {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub skill_id: u32,
}
/// Obf: EBFLACABCKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5811)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusSelectSkillScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JMIIKBEBJMC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5842)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusChallengeUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub ocdlpddmclp: ::core::option::Option<HeliobusChallengeData>,
}
/// Obf: KHODCLCAIIP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5872)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusLineupUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<HeliobusChallengeLineup>,
}
/// Obf: OFKLMBJJJPO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5865)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeliobusStartRaidCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub skill_id: u32,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub is_save: bool,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub raid_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub prop_entity_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub dnoaepdphkk: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AOGJGJKGECJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5830)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HeliobusStartRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub scene: ::core::option::Option<Gegljdelbha>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fcobimjmlif {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Anhjkllekkb {
    /// offset: 28
    #[prost(int32, tag = "1")]
    pub value: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub r#type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gefedoaokno {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub monkdlnmmbk: ::prost::alloc::vec::Vec<Fcobimjmlif>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Afedhckddfa {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "Naocmaojecf", tag = "12")]
    pub r#type: i32,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub aagafbjhokk: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjohabioppi {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub lajogekphop: ::core::option::Option<Afedhckddfa>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub mbhjonmgdoo: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<Afedhckddfa>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub ogdlpfojmhi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub dohnbocbogj: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub jeeelnehdcd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hinijkgddbi {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bnjaihinjik {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub obgkooapcem: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ipdlbjhajoo: ::core::option::Option<Gefedoaokno>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub fbecmpglpkk: ::core::option::Option<Hinijkgddbi>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub odpeljaiphl: u32,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub gmmpidodkkd: ::core::option::Option<Pjohabioppi>,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub gnahdkmedep: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fednihcahgp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub fcokodhgeko: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub gemhkfcfccc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Enidjafecbd {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub bkficfmmgin: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub is_taken_reward: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eloflneahpd {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub bpfjdlhfekg: ::prost::alloc::vec::Vec<Enidjafecbd>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhboocgakcm {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ldmhlkgilod: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ffkdfoddbdn: u32,
}
/// Obf: NBKACPHIPDA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9009)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetHipplenDataCsReq {}
/// Obf: PNDFAAJNNEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9023)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetHipplenDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub kjdeejnblhk: ::core::option::Option<Fednihcahgp>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub jflaegmbmak: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub highkdbjnim: ::core::option::Option<Bnjaihinjik>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub acollhofkgl: ::core::option::Option<Eloflneahpd>,
    /// offset: 56
    #[prost(bool, tag = "15")]
    pub hpkecdinmce: bool,
}
/// Obf: KMIGGGFOGCN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9037)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetHipplenInheritCsReq {}
/// Obf: GCLDADIKLEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9044)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetHipplenInheritScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DOLCPKAMCEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9019)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetHipplenAgendaCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LEILCBFJFFD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9048)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetHipplenAgendaScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<Afedhckddfa>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbmgnlfkmmk {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub mncfogjecmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lodmldkmppl {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohhhckcfpig {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub dpokbjglknn: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gcnjgjmplhm {}
/// Obf: CGONOIEOEBP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9003)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SettleHipplenWorkCsReq {
    #[prost(oneof = "settle_hipplen_work_cs_req::Nebnjdmfelo", tags = "10, 15, 12, 9")]
    pub nebnjdmfelo: ::core::option::Option<settle_hipplen_work_cs_req::Nebnjdmfelo>,
}
/// Nested message and enum types in `SettleHipplenWorkCsReq`.
pub mod settle_hipplen_work_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nebnjdmfelo {
        /// offset: 16
        #[prost(message, tag = "10")]
        Hbgcoiagdig(super::Hbmgnlfkmmk),
        /// offset: 16
        #[prost(message, tag = "15")]
        Encbgpoifcm(super::Lodmldkmppl),
        /// offset: 16
        #[prost(message, tag = "12")]
        Eckimbndome(super::Ohhhckcfpig),
        /// offset: 16
        #[prost(message, tag = "9")]
        Mllnogknhnl(super::Gcnjgjmplhm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmlaclldcce {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gnahdkmedep: u32,
    /// offset: 36
    #[prost(int32, tag = "9")]
    pub cbpgjafahfc: i32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mncfogjecmf: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ajafeeaoblc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lkffmljmgob {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub mncfogjecmf: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ajafeeaoblc: u32,
    /// offset: 32
    #[prost(int32, tag = "13")]
    pub cbpgjafahfc: i32,
}
/// Obf: DOJOHDFGJLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9007)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleHipplenWorkScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<Afedhckddfa>,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub bnifmippima: ::prost::alloc::vec::Vec<Anhjkllekkb>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub ipdlbjhajoo: ::core::option::Option<Gefedoaokno>,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(oneof = "settle_hipplen_work_sc_rsp::Mejddipiekk", tags = "1, 5")]
    pub mejddipiekk: ::core::option::Option<settle_hipplen_work_sc_rsp::Mejddipiekk>,
}
/// Nested message and enum types in `SettleHipplenWorkScRsp`.
pub mod settle_hipplen_work_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mejddipiekk {
        /// offset: 32
        #[prost(message, tag = "1")]
        Hbgcoiagdig(super::Dmlaclldcce),
        /// offset: 32
        #[prost(message, tag = "5")]
        Lonknkfdpii(super::Lkffmljmgob),
    }
}
/// Obf: LDECOFOGIGD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9010)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenAgendaResultScNotify {
    /// offset: 64
    #[prost(uint32, repeated, tag = "2")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub highkdbjnim: ::core::option::Option<Bnjaihinjik>,
    /// offset: 72
    #[prost(bool, tag = "5")]
    pub cpffagahjmh: bool,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub jmkhoimeffm: ::core::option::Option<Gefedoaokno>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub gpdedjihmgb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<Afedhckddfa>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub fejpealikhe: ::core::option::Option<Lkffmljmgob>,
}
/// Obf: GJIIPFBFLLC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9021)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenCycleResultScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub ihlcddompkd: ::prost::alloc::vec::Vec<Jhboocgakcm>,
    /// offset: 68
    #[prost(uint32, tag = "2")]
    pub jflaegmbmak: u32,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub bkficfmmgin: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub gnbkdchldgl: ::core::option::Option<Gefedoaokno>,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub fjfjmogilbm: ::prost::alloc::vec::Vec<Jhboocgakcm>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub fcokodhgeko: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "14")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NCFFIOJPHJM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9024)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenHipplenCycleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub trait_id: u32,
}
/// Obf: ELBMKCGDHAK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9020)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenHipplenCycleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub highkdbjnim: ::core::option::Option<Bnjaihinjik>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub jflaegmbmak: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: EPBHKLFKMLB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9017)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetHipplenOutfitCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub imibaapjgej: u32,
}
/// Obf: ALEAEINGEBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9029)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetHipplenOutfitScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub gemhkfcfccc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CCENPJEAFOI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9002)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HipplenTraitUnlockScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub grid_fight_trait_info: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: INFDOMFEGML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9014)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeHipplenEndingRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bkficfmmgin: u32,
}
/// Obf: DGEPKPAHIIN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeHipplenEndingRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub bkficfmmgin: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub reward_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpggadjhcbg {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub imibaapjgej: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nopcfddlpnn {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub bkficfmmgin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hgdhjfgcejf {
    #[prost(oneof = "hgdhjfgcejf::Kknboacncon", tags = "8, 12")]
    pub kknboacncon: ::core::option::Option<hgdhjfgcejf::Kknboacncon>,
}
/// Nested message and enum types in `HGDHJFGCEJF`.
pub mod hgdhjfgcejf {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "8")]
        Mdfcelgpphm(super::Dpggadjhcbg),
        /// offset: 24
        #[prost(message, tag = "12")]
        Hnlmbgibebn(super::Nopcfddlpnn),
    }
}
/// Obf: JKPIHPAGABC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9015)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HipplenChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Hgdhjfgcejf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aojeodenhpl {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub chapter_index: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub ikkejkogbno: u32,
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub has_passed: bool,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub kjjjpmapfoh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kjmhidmobmb {
    /// offset: 48
    #[prost(uint64, tag = "1")]
    pub battle_power: u64,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub chapter_index: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub captain_num: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub oajgkoofnbl: u32,
    /// offset: 44
    #[prost(bool, tag = "12")]
    pub is_final_act_finished: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub ikljbajbopg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbmdmfocoak {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lmmndofimbn: ::core::option::Option<Aojeodenhpl>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub pgieegcgcdi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dicefigkfcl {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub beblggdladj: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub bjfnmejnkik: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub llgkeipddmb: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub hjdnncohpjh: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub gjlddmiiilf: ::core::option::Option<Jbmdmfocoak>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub knemnaegkbf: ::prost::alloc::vec::Vec<Kjmhidmobmb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pepehidakkk {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pmfahdmlofk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cggpjfllgid {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub jigooaefdpp: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgbpohbacge {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub eieojfjaibd: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 48
    #[prost(uint64, tag = "7")]
    pub battle_power: u64,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub fklpcaponia: ::prost::alloc::vec::Vec<Cggpjfllgid>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub avatar_list: ::prost::alloc::vec::Vec<Pepehidakkk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Chagfkjeimi {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub offset: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub lbdlaacoccn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbnnmknbldi {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub cdmkbchlpab: ::prost::alloc::vec::Vec<Chagfkjeimi>,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub rarity: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub is_special: bool,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub grid_fight_equipment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klnniahjbco {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub equip: ::core::option::Option<Cbnnmknbldi>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub pnipcnllkkd: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub ojbjhgbemjn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pcgmjhkdcog {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub ihjjkabiepc: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 48
    #[prost(message, repeated, tag = "6")]
    pub kidbgnphgbi: ::prost::alloc::vec::Vec<Cbnnmknbldi>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub oilpebpldbg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<Cbnnmknbldi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hanhlkihcjh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub afacnnllpmg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hgpbonmlnaj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ibefdombehm: u32,
    /// offset: 28
    #[prost(enumeration = "Dbkaajaegnm", tag = "11")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iipifjcoifo {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub pjjgpdnkmjh: ::core::option::Option<Hgpbonmlnaj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piojjegmoof {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub gbacmojjkij: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oomnnodjgph {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub nndncaegdfi: u32,
    /// offset: 28
    #[prost(bool, tag = "9")]
    pub cihpiagdhao: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jiekjdgegdn {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_active: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pdicfegepnm: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub cjainjmldfc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hidclkldhle {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub caofmhommhf: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub poladdglaeh: ::core::option::Option<Jiekjdgegdn>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub nniakolkdfp: ::prost::alloc::vec::Vec<Oomnnodjgph>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub hhnnegilefb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mgeapnbmjkj {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub knejaefbded: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub eicekdbenkm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jddfigpokhc {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub jhjejkgfjmn: ::prost::alloc::vec::Vec<Mgeapnbmjkj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfphkoafpcj {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fogcajjommk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejjbhfolcea {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub njkhfpicplk: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub dliljlgkbek: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub olaafalfkih: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igogkccoiif {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ajimpllifie: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub fkiifffjkjh: u32,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub title: ::prost::alloc::string::String,
}
/// Obf: APKJENOJIFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9375)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Apkjenojifd {}
/// Obf: EMCJBMOICJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9428)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Emcjbmoicjn {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub booiamnbfnd: ::core::option::Option<Hanhlkihcjh>,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub fnbmigiicek: ::core::option::Option<Piojjegmoof>,
    /// offset: 112
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub aibhmdpilke: ::core::option::Option<Pfphkoafpcj>,
    /// offset: 64
    #[prost(message, optional, tag = "5")]
    pub mkagcfgnpgd: ::core::option::Option<Cgbpohbacge>,
    /// offset: 72
    #[prost(message, optional, tag = "8")]
    pub jjkkmgkncja: ::core::option::Option<Ejjbhfolcea>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub hklngmhficm: ::core::option::Option<Jddfigpokhc>,
    /// offset: 104
    #[prost(message, optional, tag = "10")]
    pub gnphkfcknop: ::core::option::Option<Iipifjcoifo>,
    /// offset: 88
    #[prost(message, optional, tag = "11")]
    pub hfbbohbkbje: ::core::option::Option<Hidclkldhle>,
    /// offset: 96
    #[prost(message, optional, tag = "12")]
    pub plfnnlokboo: ::core::option::Option<Igogkccoiif>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ophjaengbgj: ::core::option::Option<Pcgmjhkdcog>,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub dngnekamhmd: ::core::option::Option<Dicefigkfcl>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9434)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdmekagocnd {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9371)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fajejcbilia {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ikljbajbopg: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9443)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Babfmgpnoig {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub chapter_index: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub kjjjpmapfoh: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9408)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lmackmnojbf {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub gjlddmiiilf: ::core::option::Option<Jbmdmfocoak>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BKDANKLCAHC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9438)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartNodeBattleCsReq {}
/// Obf: ELPBDFINJGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9431)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartNodeBattleScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub pgieegcgcdi: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub encinpihhdf: ::prost::alloc::vec::Vec<Kvp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Anajeldhdbh {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub key: u32,
    /// offset: 32
    #[prost(double, tag = "14")]
    pub damage: f64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Biknpjpldao {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub hfhjgbhhbkm: ::prost::alloc::vec::Vec<Anajeldhdbh>,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub fnhddamnkcg: ::prost::alloc::vec::Vec<Anajeldhdbh>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub mbobgnplloo: u32,
    /// offset: 40
    #[prost(double, tag = "12")]
    pub total_damage: f64,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub obkcfgajljj: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9436)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fomconfodhh {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hnmlblggolb: ::core::option::Option<Biknpjpldao>,
    /// offset: 32
    #[prost(enumeration = "Jdgnmidmacl", tag = "10")]
    pub gbjealncmjc: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9397)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jlcnogijgmh {
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub bpioekhmaic: ::core::option::Option<ItemList>,
    /// offset: 64
    #[prost(message, repeated, tag = "3")]
    pub hpckmfmnobg: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 72
    #[prost(uint64, tag = "4")]
    pub jeaefmhiiac: u64,
    /// offset: 80
    #[prost(enumeration = "Jdgnmidmacl", tag = "7")]
    pub gbjealncmjc: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub iofkddfndgc: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 84
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub dhpplpjomnb: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub iblofdagdce: ::prost::alloc::vec::Vec<Kvp>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9376)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddnjihcbdde {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9363)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Maaiafillfn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9421)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iabbgplblml {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub jgflmodldcd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9390)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mlbdipicabb {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: IDFMIDPCJAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9401)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeTeamSlotCsCsReq {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jigooaefdpp: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: GDLPHFCCCFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9396)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeTeamSlotCsRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub jigooaefdpp: u32,
}
/// Obf: OLFPLAAAFHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9389)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceTeamCsCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub encinpihhdf: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub mnkchclgnom: u32,
}
/// Obf: BDKIMOIFPIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9354)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceTeamCsRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub encinpihhdf: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9361)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gaiangfbbpg {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub ecbjlakhocf: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub lofnhphccil: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9386)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndmgimoofbl {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub hpckmfmnobg: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub iofkddfndgc: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub iblofdagdce: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 56
    #[prost(bool, tag = "10")]
    pub ecbjlakhocf: bool,
    /// offset: 48
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9419)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmepoenpeif {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pjodecigfoi: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9415)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmemdfocmfo {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub iofkddfndgc: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 32
    #[prost(message, repeated, tag = "3")]
    pub iblofdagdce: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub hpckmfmnobg: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub pjodecigfoi: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9398)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bijedlpinkh {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9395)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgnjpfpacgh {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub ljmljkplkbn: ::core::option::Option<Klnniahjbco>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: EAILAPHKBNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9422)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HandlePendingEquipCsReq {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub dkpcaigphno: bool,
}
/// Obf: NEEFMPLOKIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9430)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandlePendingEquipScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub dkpcaigphno: bool,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub ljmljkplkbn: ::core::option::Option<Klnniahjbco>,
}
/// Obf: DOAGEJLCHJE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9380)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressSpecialEquipCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub colohmbfkih: ::prost::alloc::vec::Vec<Kvp>,
}
/// Obf: NJABIIKAJEK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9392)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DressSpecialEquipScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub colohmbfkih: ::prost::alloc::vec::Vec<Kvp>,
}
/// Obf: JOCIDFPEBGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9444)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeQuestEquipCsCsReq {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub dkpcaigphno: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub quest_id: u32,
}
/// Obf: MGKHEPIJPAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9387)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeQuestEquipCsRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub dkpcaigphno: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub quest_id: u32,
}
/// Obf: HMPGPHLEJKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9391)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeTaskRewardCsReq {}
/// Obf: OPCILEAHKAH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9360)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTaskRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: LOMPEEDFPLE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9355)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncChangeNtf {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Kailiieebjm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhmnlhladjo {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub ajimpllifie: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub fkiifffjkjh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kailiieebjm {
    #[prost(
        oneof = "kailiieebjm::Mmcgbgdjipn",
        tags = "12, 15, 5, 9, 8, 11, 14, 10, 6, 13, 806, 1166, 196, 128, 203"
    )]
    pub mmcgbgdjipn: ::core::option::Option<kailiieebjm::Mmcgbgdjipn>,
}
/// Nested message and enum types in `KAILIIEEBJM`.
pub mod kailiieebjm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "12")]
        Nbddjgjoieh(super::Pepehidakkk),
        /// offset: 16
        #[prost(message, tag = "15")]
        Bbbegoljkhj(super::Kjmhidmobmb),
        /// offset: 16
        #[prost(uint32, tag = "5")]
        Ifdlljhhogl(u32),
        /// offset: 16
        #[prost(message, tag = "9")]
        Pjjgpdnkmjh(super::Hgpbonmlnaj),
        /// offset: 16
        #[prost(message, tag = "8")]
        Kgmiikkgjfh(super::Bbipcfpdejn),
        /// offset: 16
        #[prost(message, tag = "11")]
        Lnggonnobhm(super::Fhlebdmfchl),
        /// offset: 16
        #[prost(uint32, tag = "14")]
        Njkhfpicplk(u32),
        /// offset: 16
        #[prost(uint32, tag = "10")]
        Olaafalfkih(u32),
        /// offset: 16
        #[prost(uint32, tag = "6")]
        Dliljlgkbek(u32),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Fffbadmimlf(u32),
        /// offset: 16
        #[prost(message, tag = "806")]
        Dgbfgdimknd(super::Kvp),
        /// offset: 16
        #[prost(bool, tag = "1166")]
        Eijhkecfbla(bool),
        /// offset: 16
        #[prost(message, tag = "196")]
        Poladdglaeh(super::Jiekjdgegdn),
        /// offset: 16
        #[prost(uint32, tag = "128")]
        Noakieiokib(u32),
        /// offset: 16
        #[prost(message, tag = "203")]
        Haeieppajfh(super::Fhmnlhladjo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bbipcfpdejn {
    /// offset: 24
    #[prost(enumeration = "Cdabmabjfii", tag = "2")]
    pub reason: i32,
    /// offset: 32
    #[prost(uint64, tag = "12")]
    pub glanplegmpg: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhlebdmfchl {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub content_id: u32,
    /// offset: 24
    #[prost(enumeration = "Lppkghjgocc", tag = "8")]
    pub content_type: i32,
}
/// Obf: DCKICCFJELB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9393)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TechTreeChangeNodeStateCsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cdmfhngefcn: u32,
    /// offset: 28
    #[prost(enumeration = "Oedabanajek", tag = "12")]
    pub op_type: i32,
}
/// Obf: CCCGMGMLKOM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9379)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TechTreeChangeNodeStateCsRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub cdmfhngefcn: u32,
    /// offset: 24
    #[prost(enumeration = "Oedabanajek", tag = "14")]
    pub op_type: i32,
}
/// Obf: OMLBEGNKAOE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9362)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeContentCsReq {
    /// offset: 28
    #[prost(enumeration = "Lppkghjgocc", tag = "6")]
    pub content_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub content_id: u32,
}
/// Obf: DIMGBMHNGAH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9385)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeContentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
    /// offset: 32
    #[prost(enumeration = "Lppkghjgocc", tag = "14")]
    pub content_type: i32,
}
/// Obf: OKABLGLBPOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9425)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartDungeonCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub colohmbfkih: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub encinpihhdf: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub jajdgpaknll: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub eicekdbenkm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcimopddkhh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub feoddikpaoa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
/// Obf: CPFNEECKCMK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9394)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartDungeonScRsp {
    /// offset: 40
    #[prost(message, repeated, tag = "2")]
    pub kmmbnfifala: ::prost::alloc::vec::Vec<Bcimopddkhh>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub eicekdbenkm: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub colohmbfkih: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub encinpihhdf: ::prost::alloc::vec::Vec<Kvp>,
}
/// Obf: FNKBEGIDAAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9399)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDungeonCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub feoddikpaoa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub dhllpobklio: bool,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub hnmlblggolb: ::core::option::Option<Biknpjpldao>,
}
/// Obf: LDCHLAKNODJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9365)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EndDungeonScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dhbkgofbmim: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub eicekdbenkm: u32,
}
/// Obf: HGDEGLENMPM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9416)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendDungeonInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ocbphibffac {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub cjdoepkkjgc: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub fandkfadkkm: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub lngeaijiodk: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub uid: u32,
}
/// Obf: MNFPIBFOIEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9405)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendDungeonInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub iooiikicfhe: ::prost::alloc::vec::Vec<Ocbphibffac>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: BBABPMLDJMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9364)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bbabpmldjmm {}
/// Obf: NOHKADAPKHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9439)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nohkadapkhe {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub oilhlecgbch: ::prost::alloc::vec::Vec<Kaodlpjmefe>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: GFDJAEDKGGB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9432)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendNewAssistRewardScNotify {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub fandkfadkkm: u32,
}
/// Obf: KKGJPMCFDON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9413)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kkgjpmcfdon {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub gacha_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljgkdekchpj {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub mmonaecclhn: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mgbcapiiklm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iggfcpndmpn {
    #[prost(oneof = "iggfcpndmpn::Bnjpphjnkhf", tags = "10, 2")]
    pub bnjpphjnkhf: ::core::option::Option<iggfcpndmpn::Bnjpphjnkhf>,
}
/// Nested message and enum types in `IGGFCPNDMPN`.
pub mod iggfcpndmpn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bnjpphjnkhf {
        /// offset: 16
        #[prost(message, tag = "10")]
        Aonejbhfkmo(super::Ljgkdekchpj),
        /// offset: 16
        #[prost(uint32, tag = "2")]
        Bkjfbhanflc(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebnkdhcijph {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub anpnfpjdpkp: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub kbogfjanbpd: u32,
}
/// Obf: NILCAHCBKAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9384)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nilcahcbkai {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub pghcldfgpoa: ::prost::alloc::vec::Vec<Iggfcpndmpn>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub fogcajjommk: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub apgbcdjhpgl: ::prost::alloc::vec::Vec<Ebnkdhcijph>,
}
/// Obf: BPHPLIKMHHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9369)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateCustomInfoCsReq {
    #[prost(oneof = "update_custom_info_cs_req::Mmcgbgdjipn", tags = "10, 13")]
    pub mmcgbgdjipn: ::core::option::Option<update_custom_info_cs_req::Mmcgbgdjipn>,
}
/// Nested message and enum types in `UpdateCustomInfoCsReq`.
pub mod update_custom_info_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(string, tag = "10")]
        Title(::prost::alloc::string::String),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Ajimpllifie(u32),
    }
}
/// Obf: DMBPHCPLGIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9378)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateCustomInfoScRsp {
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    #[prost(oneof = "update_custom_info_sc_rsp::Mmcgbgdjipn", tags = "5, 11")]
    pub mmcgbgdjipn: ::core::option::Option<update_custom_info_sc_rsp::Mmcgbgdjipn>,
}
/// Nested message and enum types in `UpdateCustomInfoScRsp`.
pub mod update_custom_info_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(string, tag = "5")]
        Title(::prost::alloc::string::String),
        /// offset: 16
        #[prost(uint32, tag = "11")]
        Ajimpllifie(u32),
    }
}
/// Obf: COFMKALOLKB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9448)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishQuestionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cjainjmldfc: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub pdicfegepnm: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub djnddebimga: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub jmbgmipllji: u32,
}
/// Obf: KIDELOJLPFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9412)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishQuestionRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9480)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dcaboalfjap {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ohmbephebdj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9471)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmekjabiggh {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub ohmbephebdj: u32,
}
/// Obf: HGKLNOIKPPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(525)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBagCsReq {}
/// Obf: Equipment
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Equipment {
    /// offset: 52
    #[prost(bool, tag = "3")]
    pub is_protected: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub tid: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub dress_avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub rank: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub promotion: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub level: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
/// Obf: Material
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Material {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub expire_time: u64,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub tid: u32,
}
/// Obf: WaitDelResource
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WaitDelResource {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub num: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub tid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bkgpjobnmkj {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub num: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub tid: u32,
    /// offset: 24
    #[prost(uint64, tag = "14")]
    pub expire_time: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nkdnfdcfncp {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub fmokfkbaeii: ::core::option::Option<PileItem>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub hjlenjodamn: ::prost::alloc::vec::Vec<PileItem>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ockchbdfgnl {
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub time: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub hjmdnlbnpna: ::prost::alloc::vec::Vec<Nkdnfdcfncp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nlllaaejobp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub tid: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub dmnhpnapgnb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GJDACOJFAGG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(578)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBagScRsp {
    /// offset: 88
    #[prost(message, repeated, tag = "1")]
    pub wait_del_resource_list: ::prost::alloc::vec::Vec<WaitDelResource>,
    /// offset: 104
    #[prost(uint32, repeated, tag = "2")]
    pub camegagkpgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    /// offset: 96
    #[prost(uint32, repeated, tag = "5")]
    pub kofnojcmefa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "6")]
    pub eojbflhbnmb: ::prost::alloc::vec::Vec<i32>,
    /// offset: 112
    #[prost(message, repeated, tag = "7")]
    pub ffegbhjlbnh: ::prost::alloc::vec::Vec<Ockchbdfgnl>,
    /// offset: 64
    #[prost(message, repeated, tag = "8")]
    pub plblhekeijo: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 128
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 80
    #[prost(message, repeated, tag = "11")]
    pub najfmiifiec: ::prost::alloc::vec::Vec<Bkgpjobnmkj>,
    /// offset: 120
    #[prost(message, repeated, tag = "13")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "14")]
    pub hgggflabdlb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(message, repeated, tag = "15")]
    pub cndodpicghi: ::prost::alloc::vec::Vec<Bkgpjobnmkj>,
    /// offset: 40
    #[prost(message, repeated, tag = "206")]
    pub update_platform_bound_gifts_list: ::prost::alloc::vec::Vec<Nlllaaejobp>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PromoteEquipmentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub equipment_unique_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(558)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PromoteEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(588)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LockEquipmentCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ldbmbpbgfhk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub is_locked: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(581)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LockEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: BDHDBGECGJA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(586)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UseItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub use_item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub use_item_count: u32,
    /// offset: 36
    #[prost(enumeration = "AvatarType", tag = "4")]
    pub kanppcmbjhg: i32,
    /// offset: 40
    #[prost(bool, tag = "5")]
    pub dgekfcheapo: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub optional_reward_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
}
/// Obf: FKOIIHNOICH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(547)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseItemScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub use_item_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub formula_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "10")]
    pub month_card_out_date_time: u64,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub return_data: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub use_item_count: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(526)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RankUpEquipmentCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub equipment_unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(513)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RankUpEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbnbeikabge {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub equipment_unique_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(574)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchRankUpEquipmentCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub switch_list: ::prost::alloc::vec::Vec<Fbnbeikabge>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(557)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchRankUpEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: PJGAHLDOIIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub equipment_unique_id: u32,
}
/// Obf: GIFJFIDCJAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(540)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpEquipmentScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NPIAJDLLAHL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub compose_item_list: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub convert_item_list: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub count: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub compose_id: u32,
}
/// Obf: PNBGCDGOLJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(538)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeItemScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub count: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub compose_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: DEAIMKCPPDJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(542)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub wr_item_list: ::core::option::Option<ItemCostData>,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub count: u32,
    /// offset: 60
    #[prost(uint32, tag = "6")]
    pub compose_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub compose_item_list: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub compose_relic_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub sub_affix_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub main_affix_id: u32,
}
/// Obf: GJHDDFIJJIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(572)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeSelectedRelicScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub compose_id: u32,
}
/// Obf: PKIAEJLCPHL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(539)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub relic_unique_id: u32,
}
/// Obf: KJMNPHBPHLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(504)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpUpRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(511)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LockRelicCsReq {
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub nppkabbjcmi: bool,
    /// offset: 33
    #[prost(bool, tag = "13")]
    pub is_locked: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(536)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LockRelicScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: ACGCJMLFHCO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(549)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DiscardRelicCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub dkpcaigphno: bool,
    /// offset: 36
    #[prost(enumeration = "RelicDiscardType", tag = "8")]
    pub ifeejkmachf: i32,
    /// offset: 40
    #[prost(uint64, tag = "13")]
    pub kdgcpmgoppj: u64,
}
/// Obf: EMGMPNOKJGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(515)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DiscardRelicScRsp {
    /// offset: 36
    #[prost(enumeration = "RelicDiscardType", tag = "3")]
    pub ifeejkmachf: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub dkpcaigphno: bool,
}
/// Obf: DBEMDBEGDLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub hnlkaebkkbl: bool,
}
/// Obf: NDFJEJPFCGK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(545)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SellItemScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: LLOJHLJFJIM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(569)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RechargeSuccNotify {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(string, tag = "3")]
    pub product_id: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "6")]
    pub month_card_out_date_time: u64,
    /// offset: 40
    #[prost(string, tag = "11")]
    pub price_tier: ::prost::alloc::string::String,
}
/// Obf: NFONKIEFCCK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(565)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeHcoinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub num: u32,
}
/// Obf: PIHLJLKOPEE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(530)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeHcoinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub num: u32,
}
/// Obf: MJEJCMECDDN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(580)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddEquipmentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub kajcfpkegbp: u32,
}
/// Obf: CJJPGIGPDIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(584)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRecyleTimeCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ikjmafgbmel: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JFOEKIFGPCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(521)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRecyleTimeScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub najfmiifiec: ::prost::alloc::vec::Vec<Bkgpjobnmkj>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpgahdijjdl {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub djlncceidno: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kahmgpgpoii: u32,
}
/// Obf: LHILENAKIPI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(505)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComposeLimitNumCompleteScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub mglcgpmnhbb: ::prost::alloc::vec::Vec<Dpgahdijjdl>,
}
/// Obf: OMJPICCHOEG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(541)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComposeLimitNumUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub pljfoapfelp: ::core::option::Option<Dpgahdijjdl>,
}
/// Obf: EKEFLKGCMBN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(510)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DestroyItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub adoimnbagkc: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub item_count: u32,
}
/// Obf: BGJEJDDLJPE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(543)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DestroyItemScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub adoimnbagkc: u32,
}
/// Obf: DEBAGFJEEIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(529)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarkItemListCsReq {}
/// Obf: PLCBONEAMNL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(563)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarkItemListScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub pepkcbilifo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: GFKOAPFOFNL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(534)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkItemCsReq {
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub abdjkpcgdho: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub item_id: u32,
}
/// Obf: GGBGDAFPGID
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(596)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub abdjkpcgdho: bool,
}
/// Obf: IOHGFLDMPEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(573)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelMarkItemNotify {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
}
/// Obf: DMDDINNHIOE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(512)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncTurnFoodNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub camegagkpgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(enumeration = "TurnFoodSwitch", repeated, tag = "11")]
    pub eojbflhbnmb: ::prost::alloc::vec::Vec<i32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(535)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ampmjpcflnd {
    /// offset: 24
    #[prost(enumeration = "TurnFoodSwitch", tag = "3")]
    pub klajgakafcp: i32,
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub is_open: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(575)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljkfppdfhmh {
    /// offset: 32
    #[prost(enumeration = "TurnFoodSwitch", tag = "1")]
    pub klajgakafcp: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub is_open: bool,
}
/// Obf: MLNNABAOJGC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(544)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GeneralVirtualItemDataNotify {
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub eblpglfjnel: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub fcnbhbhmfmc: ::prost::alloc::vec::Vec<PileItem>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kjdlipeiaak {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub olelcdklpdk: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub ifonlbkjgfe: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gabkfnajidd {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub settings: ::core::option::Option<Bnailmnngif>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub icon: ::core::option::Option<Kjdlipeiaak>,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub nphajekcbkf: u32,
    /// offset: 56
    #[prost(int64, tag = "6")]
    pub bncalamgioc: i64,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub name: ::prost::alloc::string::String,
    /// offset: 68
    #[prost(bool, tag = "11")]
    pub is_marked: bool,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub gfeenednjgf: u32,
}
/// Obf: ENCGNAJCJME
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(514)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRelicFilterPlanCsReq {}
/// Obf: JJDNPDECDDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(589)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicFilterPlanScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub jckbeekbphf: ::prost::alloc::vec::Vec<Gabkfnajidd>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: AAMPBNNKEOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(582)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddRelicFilterPlanCsReq {
    /// offset: 48
    #[prost(bool, tag = "7")]
    pub is_marked: bool,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub icon: ::core::option::Option<Kjdlipeiaak>,
    /// offset: 40
    #[prost(string, tag = "11")]
    pub name: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub settings: ::core::option::Option<Bnailmnngif>,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub gfeenednjgf: u32,
}
/// Obf: EBPBGFNCJEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(594)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AddRelicFilterPlanScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub relic_plan: ::core::option::Option<Gabkfnajidd>,
}
/// Obf: BAIEHPEHGIO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(537)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModifyRelicFilterPlanCsReq {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub nphajekcbkf: u32,
    #[prost(oneof = "modify_relic_filter_plan_cs_req::Kknboacncon", tags = "9, 12, 3")]
    pub kknboacncon: ::core::option::Option<
        modify_relic_filter_plan_cs_req::Kknboacncon,
    >,
}
/// Nested message and enum types in `ModifyRelicFilterPlanCsReq`.
pub mod modify_relic_filter_plan_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(string, tag = "9")]
        Name(::prost::alloc::string::String),
        /// offset: 16
        #[prost(message, tag = "12")]
        Mjpkbigcfom(super::Kjdlipeiaak),
        /// offset: 16
        #[prost(message, tag = "3")]
        Ljkndcioocg(super::Bnailmnngif),
    }
}
/// Obf: DEHJKNPFDMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(551)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ModifyRelicFilterPlanScRsp {
    /// offset: 40
    #[prost(int64, tag = "4")]
    pub bncalamgioc: i64,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub nphajekcbkf: u32,
    #[prost(oneof = "modify_relic_filter_plan_sc_rsp::Kknboacncon", tags = "7, 1, 8")]
    pub kknboacncon: ::core::option::Option<
        modify_relic_filter_plan_sc_rsp::Kknboacncon,
    >,
}
/// Nested message and enum types in `ModifyRelicFilterPlanScRsp`.
pub mod modify_relic_filter_plan_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(string, tag = "7")]
        Name(::prost::alloc::string::String),
        /// offset: 16
        #[prost(message, tag = "1")]
        Mjpkbigcfom(super::Kjdlipeiaak),
        /// offset: 16
        #[prost(message, tag = "8")]
        Ljkndcioocg(super::Bnailmnngif),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(546)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emldlbkpefd {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub nppkabbjcmi: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(519)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mgbkbikljdn {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub nppkabbjcmi: bool,
}
/// Obf: LBFJJFDFABF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(528)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkRelicFilterPlanCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 33
    #[prost(bool, tag = "13")]
    pub nppkabbjcmi: bool,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub bijjojnjhdo: bool,
}
/// Obf: NLFHJLDBOEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(598)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkRelicFilterPlanScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 37
    #[prost(bool, tag = "7")]
    pub bijjojnjhdo: bool,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub nppkabbjcmi: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(562)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicFilterPlanClearNameScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub nphajekcbkf: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(566)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicReforgeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub reforge_block_sub_affix_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub relic_unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(555)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicReforgeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(516)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicReforgeConfirmCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub relic_unique_id: u32,
    /// offset: 28
    #[prost(bool, tag = "14")]
    pub is_cancel: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(506)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicReforgeConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: EOBJKAMNNPI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(527)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipmentQuickUpCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub equipment_unique_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub igoojkmpmdc: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub idgeeenimmk: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub bobokjbamnb: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub klmibjikibb: u32,
}
/// Obf: AMNBMKEMMFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipmentQuickUpScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub return_item_list: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhhgcdlcjda {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub bimdknlmicg: bool,
}
/// Obf: DONHOEBBNNG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetJukeboxDataCsReq {}
/// Obf: KLIPBCNOPNO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetJukeboxDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub gffobaldbpm: ::core::option::Option<Mncbedbddhl>,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub iokajibhlmp: ::prost::alloc::vec::Vec<Lhhgcdlcjda>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: JFFEDGDNJEA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3193)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ikjnikigflf: ::core::option::Option<Mncbedbddhl>,
}
/// Obf: KOCPKKFLHBJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3158)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayBackGroundMusicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub gffobaldbpm: ::core::option::Option<Mncbedbddhl>,
}
/// Obf: CFEBLJEFOMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3188)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockBackGroundMusicCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub ligkeolpfbe: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LMINGAKNDKP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3181)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnlockBackGroundMusicScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub iokajibhlmp: ::prost::alloc::vec::Vec<Lhhgcdlcjda>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub bpfgbebpedp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3186)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fklmgefildi {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jkfckjnhlhi: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3147)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egdfpdhnoko {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub jkfckjnhlhi: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pblbaamlnlh {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mdjmbgplcdd: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub ljhgifginol: u32,
    /// offset: 25
    #[prost(bool, tag = "6")]
    pub is_unlocked: bool,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub bbmcahomefn: bool,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub bmgbbemhlig: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub cbgodlhclpk: u32,
    /// offset: 26
    #[prost(bool, tag = "13")]
    pub kblbfganmpj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjpmbobamic {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub kblbfganmpj: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub beohgaadkph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hddbfaifcgk {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub lfpableikke: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub ehfhdelpgln: ::prost::alloc::vec::Vec<Pjpmbobamic>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lggghfdbcfn {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub kbdoboodpak: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub progress: u32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub has_passed: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub fdgjlmmeaof: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fnidngogaff {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub iiadkffpkgp: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kpkjaldcmik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kjamnaololl {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub mbbgfjgchge: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ljhgifginol: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9189)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnoaigfgnke {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9205)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkhgdjgbhcd {
    /// offset: 80
    #[prost(message, repeated, tag = "2")]
    pub jladelfehno: ::prost::alloc::vec::Vec<Pblbaamlnlh>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub bigchmjepke: ::prost::alloc::vec::Vec<u32>,
    /// offset: 96
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "7")]
    pub idmhgcaibnk: ::prost::alloc::vec::Vec<Hddbfaifcgk>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub beblbbeeigh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub lfegddmblee: ::prost::alloc::vec::Vec<Kjamnaololl>,
    /// offset: 88
    #[prost(bool, tag = "10")]
    pub hihobepglej: bool,
    /// offset: 56
    #[prost(uint32, repeated, tag = "11")]
    pub kbmhpoblmkh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub lbbgcnijmjc: ::prost::alloc::vec::Vec<Fnidngogaff>,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub jdgkfgoncji: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "15")]
    pub jefnjejfpgk: ::prost::alloc::vec::Vec<Lggghfdbcfn>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9198)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ibphnibgmph {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub cbgodlhclpk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9184)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Magmmminoaj {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub amfefiddmda: ::core::option::Option<Pblbaamlnlh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9185)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ofnbdekjmon {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lfpableikke: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9202)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ofdmhdodalp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub lfpableikke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jpieaejidao {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub lmllnjblpgc: ::prost::alloc::vec::Vec<Fnidngogaff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oceahpdapfc {
    #[prost(oneof = "oceahpdapfc::Mmcgbgdjipn", tags = "15, 3, 12, 11, 7, 10, 14, 5, 9")]
    pub mmcgbgdjipn: ::core::option::Option<oceahpdapfc::Mmcgbgdjipn>,
}
/// Nested message and enum types in `OCEAHPDAPFC`.
pub mod oceahpdapfc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(uint32, tag = "15")]
        Ocjcoolmcgd(u32),
        /// offset: 24
        #[prost(message, tag = "3")]
        Nogckihedce(super::Pblbaamlnlh),
        /// offset: 24
        #[prost(uint32, tag = "12")]
        Hocfmnjpcli(u32),
        /// offset: 24
        #[prost(uint32, tag = "11")]
        Jgmjfhliail(u32),
        /// offset: 24
        #[prost(message, tag = "7")]
        Iafpoebbjil(super::Kjamnaololl),
        /// offset: 24
        #[prost(message, tag = "10")]
        Ldbggnhlfam(super::Lggghfdbcfn),
        /// offset: 24
        #[prost(message, tag = "14")]
        Hdmepmhholp(super::Jpieaejidao),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        Jdgkfgoncji(u32),
        /// offset: 24
        #[prost(uint32, tag = "9")]
        Cgefhjiekgf(u32),
    }
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9187)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnalndonmck {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Oceahpdapfc>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9209)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hoalcjnijjc {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub param: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9201)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cpgfnbbiglh {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub param: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9197)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kelnhiomcnf {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9199)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Acgbgkffaol {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9192)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dpajaecbcpa {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub hbehchbcbpg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub iaeajkjdcho: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(enumeration = "LimaoNewsOfficeSurveyState", repeated, tag = "14")]
    pub cmnobdcmghe: ::prost::alloc::vec::Vec<i32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9200)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jegnoijmbca {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9210)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dgfhegjkhfo {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub kpkjaldcmik: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9182)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghbbmijfiad {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub kpkjaldcmik: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9195)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Olndmbmbndc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub nndncaegdfi: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9183)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghbkjlihhgj {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nndncaegdfi: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9191)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbooiejhkod {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub bogijenaehj: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub cbgodlhclpk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9190)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epmonpaabkj {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub bogijenaehj: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub cbgodlhclpk: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9188)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jghocegbdcc {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9181)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljcbiaemldn {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9207)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfgkijmbkjg {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub cbgodlhclpk: u32,
    /// offset: 24
    #[prost(bool, tag = "15")]
    pub kblbfganmpj: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9194)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddapicmfdab {
    /// offset: 24
    #[prost(bool, tag = "3")]
    pub kblbfganmpj: bool,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub cbgodlhclpk: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9204)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pladcldjgkk {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub beohgaadkph: u32,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub kblbfganmpj: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9186)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kbakbmgbnol {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub beohgaadkph: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub kblbfganmpj: bool,
}
/// Obf: LineupAvatar
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LineupAvatar {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub id: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub slot: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub satiety: u32,
    /// offset: 48
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub hp: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
}
/// Obf: LineupInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineupInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub locked_avatar_i_ds: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub available_trial_avatar_i_ds: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "3")]
    pub mp: u32,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub game_story_line_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub leader_slot: u32,
    /// offset: 80
    #[prost(bool, tag = "6")]
    pub abhongjhicf: bool,
    /// offset: 56
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<LineupAvatar>,
    /// offset: 88
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    /// offset: 48
    #[prost(uint32, repeated, tag = "9")]
    pub story_line_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 81
    #[prost(bool, tag = "11")]
    pub is_virtual: bool,
    /// offset: 84
    #[prost(uint32, tag = "12")]
    pub index: u32,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub max_mp: u32,
    /// offset: 32
    #[prost(string, tag = "14")]
    pub name: ::prost::alloc::string::String,
    /// offset: 68
    #[prost(enumeration = "ExtraLineupType", tag = "15")]
    pub extra_lineup_type: i32,
}
/// Obf: JIJPDHKHFML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(793)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurLineupDataCsReq {}
/// Obf: FNDNOHGCGIE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurLineupDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JoinLineupCsReq {
    /// offset: 32
    #[prost(enumeration = "ExtraLineupType", tag = "1")]
    pub extra_lineup_type: i32,
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub is_virtual: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub slot: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub base_avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub index: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
    /// offset: 44
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(781)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct JoinLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuitLineupCsReq {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub base_avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub index: u32,
    /// offset: 36
    #[prost(enumeration = "ExtraLineupType", tag = "14")]
    pub extra_lineup_type: i32,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub is_virtual: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(747)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuitLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 29
    #[prost(bool, tag = "9")]
    pub is_virtual: bool,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub mfbipmacfce: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(726)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwapLineupCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub enbibcppldc: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub index: u32,
    /// offset: 36
    #[prost(bool, tag = "6")]
    pub is_virtual: bool,
    /// offset: 32
    #[prost(enumeration = "ExtraLineupType", tag = "8")]
    pub extra_lineup_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub mpiegfcnben: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub plane_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(713)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwapLineupScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: EOBONCLPPLM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(771)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncLineupNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 32
    #[prost(enumeration = "SyncLineupReason", repeated, tag = "7")]
    pub reason_list: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: ELFNJCILJGK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLineupAvatarDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LineupAvatarData {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub hp: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: HLPOIMIADJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(733)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLineupAvatarDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub avatar_data_list: ::prost::alloc::vec::Vec<LineupAvatarData>,
}
/// Obf: GOEIOJHFNOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(738)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeLineupLeaderCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub slot: u32,
}
/// Obf: GHHKJGJNKIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(739)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeLineupLeaderScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub slot: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GFMLKENMBGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(704)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchLineupIndexCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub index: u32,
}
/// Obf: MEFDHAEBAFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(711)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchLineupIndexScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub index: u32,
}
/// Obf: HIPGFJHDOBO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(736)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLineupNameCsReq {
    /// offset: 16
    #[prost(string, tag = "4")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub index: u32,
}
/// Obf: FIMLPDOBHBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(748)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLineupNameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "12")]
    pub name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub index: u32,
}
/// Obf: AMIDBKDMELM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(745)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAllLineupDataCsReq {}
/// Obf: EPGDODNPPDO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(769)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllLineupDataScRsp {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub cur_index: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
}
/// Obf: EFAFCCEKOAN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(784)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncAllPresetLineupNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub lineup_list: ::prost::alloc::vec::Vec<LineupInfo>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub cur_index: u32,
}
/// Obf: HPHANFONFPF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(765)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VirtualLineupDestroyNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub plane_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LineupSlotData {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub slot: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub assist_uid: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
}
/// Obf: BLIOAJGEJNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(730)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReplaceLineupCsReq {
    /// offset: 52
    #[prost(bool, tag = "1")]
    pub plieoddeehg: bool,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub leader_slot: u32,
    /// offset: 53
    #[prost(bool, tag = "3")]
    pub is_virtual: bool,
    /// offset: 54
    #[prost(bool, tag = "9")]
    pub hiamajkdioo: bool,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub game_story_line_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub plane_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub lineup_slot_list: ::prost::alloc::vec::Vec<LineupSlotData>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub index: u32,
    /// offset: 40
    #[prost(enumeration = "ExtraLineupType", tag = "15")]
    pub extra_lineup_type: i32,
}
/// Obf: JHICJLAIPLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(742)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReplaceLineupScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub omdlcgembla: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HOGPMBGJIDH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(772)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExtraLineupDestroyNotify {
    /// offset: 24
    #[prost(enumeration = "ExtraLineupType", tag = "3")]
    pub extra_lineup_type: i32,
}
/// Obf: GNIOONGIJLP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(780)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VirtualLineupTrialAvatarChangeScNotify {
    /// offset: 44
    #[prost(bool, tag = "1")]
    pub olpnmkapdlp: bool,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub edbmifnehhh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ilidiigalkd: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(721)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cncfcdjafoj {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub klnedjpadca: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CCDPOMCEFED
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7359)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub jidkdpppdpf: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub hdjfgmgaoof: u32,
    /// offset: 44
    #[prost(enumeration = "FightGameMode", tag = "14")]
    pub gjnmhilinhc: i32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
}
/// Obf: ACABBGBMIPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7373)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyCreateScRsp {
    /// offset: 48
    #[prost(uint64, tag = "2")]
    pub room_id: u64,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub hdjfgmgaoof: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 56
    #[prost(enumeration = "FightGameMode", tag = "13")]
    pub gjnmhilinhc: i32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7370)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyInviteCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7367)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyInviteScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub uid_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BNOKBNOIIGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7387)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub jidkdpppdpf: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 16
    #[prost(string, tag = "10")]
    pub jkjcipfmohg: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint64, tag = "15")]
    pub room_id: u64,
}
/// Obf: JLPMFNHLBED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7394)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyJoinScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub hdjfgmgaoof: u32,
    /// offset: 56
    #[prost(enumeration = "FightGameMode", tag = "8")]
    pub gjnmhilinhc: i32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint64, tag = "12")]
    pub room_id: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7379)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyQuitCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7383)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyQuitScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7369)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dacefjfglgm {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7398)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gjbgnmggdle {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7353)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyModifyPlayerInfoCsReq {
    /// offset: 36
    #[prost(enumeration = "LobbyModifyType", tag = "9")]
    pub r#type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub jidkdpppdpf: ::core::option::Option<LobbyGameExtInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub gmgjfjcdggn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7357)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyModifyPlayerInfoScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: FPEGJJJKNAL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7374)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbySyncInfoScNotify {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub uid: u32,
    /// offset: 32
    #[prost(enumeration = "LobbyModifyType", tag = "5")]
    pub r#type: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7360)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyKickOutCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub uid: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7371)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyKickOutScRsp {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: AIBENADLLGH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7352)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyGetInfoCsReq {}
/// Obf: MAMINBCLDKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7364)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LobbyGetInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub hdjfgmgaoof: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
    /// offset: 60
    #[prost(enumeration = "FightGameMode", tag = "5")]
    pub gjnmhilinhc: i32,
    /// offset: 48
    #[prost(uint64, tag = "7")]
    pub room_id: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7385)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Opkkjfefeil {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub teleport_id: u32,
    /// offset: 28
    #[prost(enumeration = "LobbyInteractType", tag = "9")]
    pub dnbkkdbffaj: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7365)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Agdpioakfgb {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub teleport_id: u32,
}
/// Obf: DMOIAEPEJHK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7363)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LobbyInteractScNotify {
    /// offset: 24
    #[prost(enumeration = "LobbyInteractType", tag = "1")]
    pub dnbkkdbffaj: i32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub cpocelolnhl: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7358)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Anfmhbgnneg {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub room_ext_info: ::core::option::Option<Pjmgblifdfp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7368)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kigjgmlamgh {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjeflbclbfn {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub dbkhhcggknn: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ffgfindlmcf: u32,
}
/// Obf: BKPFBNADBFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6583)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLocalLegendDataCsReq {}
/// Obf: FBLEHOCIBOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6596)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLocalLegendDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub level_data_list: ::prost::alloc::vec::Vec<Jjeflbclbfn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Acihmmbkmim {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "12")]
    pub avatar_type: i32,
}
/// Obf: LDPHOLLGPKE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6587)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterLocalLegendLevelCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub avatar_list: ::prost::alloc::vec::Vec<Acihmmbkmim>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dbkhhcggknn: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Obf: KJPKLCHMMNM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6582)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterLocalLegendLevelScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub dbkhhcggknn: u32,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: HCFLLCPLMHF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6580)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LocalLegendDataChangeNotify {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub level_data: ::core::option::Option<Jjeflbclbfn>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub start: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub hfkfnfkieon: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientMail {
    /// offset: 68
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 80
    #[prost(int64, tag = "2")]
    pub expire_time: i64,
    /// offset: 92
    #[prost(bool, tag = "3")]
    pub is_read: bool,
    /// offset: 40
    #[prost(string, tag = "4")]
    pub content: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(string, tag = "5")]
    pub title: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(enumeration = "MailType", tag = "6")]
    pub mail_type: i32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub attachment: ::core::option::Option<ItemList>,
    /// offset: 72
    #[prost(int64, tag = "9")]
    pub time: i64,
    /// offset: 32
    #[prost(string, tag = "11")]
    pub sender: ::prost::alloc::string::String,
    /// offset: 88
    #[prost(uint32, tag = "12")]
    pub template_id: u32,
    /// offset: 24
    #[prost(string, repeated, tag = "15")]
    pub para_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(878)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMailScRsp {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub total_num: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub start: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub notice_mail_list: ::prost::alloc::vec::Vec<ClientMail>,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub is_end: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(893)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkReadMailCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(858)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkReadMailScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(888)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DelMailCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(881)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DelMailScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(886)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeMailAttachmentCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub optional_reward_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knpnahphnjk {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub iodbgabpnop: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(847)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeMailAttachmentScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub fail_mail_list: ::prost::alloc::vec::Vec<Knpnahphnjk>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "10")]
    pub succ_mail_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub attachment: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(826)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NewMailScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub mail_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fhegnopnich {
    /// offset: 60
    #[prost(bool, tag = "1")]
    pub mjipojpbknb: bool,
    /// offset: 56
    #[prost(int32, tag = "2")]
    pub region_id: i32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub cedggdfmilp: ::prost::alloc::vec::Vec<RotaterData>,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub jppmekjgjfd: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub cooomdkgodf: ::core::option::Option<RotateMapInfo>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub egagknadahj: ::prost::alloc::vec::Vec<ChargerInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RotaterEnergyInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub max_num: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub cur_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapInfo {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub elfdiefkcmh: ::core::option::Option<Vector>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub miacnfdgkce: ::core::option::Option<Vector4>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterMapRotationRegionCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub region_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub jppmekjgjfd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6878)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterMapRotationRegionScRsp {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub jppmekjgjfd: u32,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub region_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub client_pos_version: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChargerInfo {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub instance_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6893)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::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(6858)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InteractChargerScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub charger_info: ::core::option::Option<ChargerInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotaterData {
    /// offset: 28
    #[prost(float, tag = "9")]
    pub position: f32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub instance_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6888)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotatorCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6881)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeployRotatorScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6886)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RotateMapCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub cooomdkgodf: ::core::option::Option<RotateMapInfo>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub instance_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6847)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RotateMapScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub client_pos_version: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6826)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveMapRotationRegionCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6813)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveMapRotationRegionScRsp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub client_pos_version: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6871)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMapRotationDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6840)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMapRotationDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub egagknadahj: ::prost::alloc::vec::Vec<ChargerInfo>,
    /// offset: 60
    #[prost(bool, tag = "2")]
    pub bhabaifpooa: bool,
    /// offset: 68
    #[prost(int32, tag = "5")]
    pub region_id: i32,
    /// offset: 48
    #[prost(message, optional, tag = "6")]
    pub cooomdkgodf: ::core::option::Option<RotateMapInfo>,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub jppmekjgjfd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub cedggdfmilp: ::prost::alloc::vec::Vec<RotaterData>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6833)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResetMapRotationRegionCsReq {
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub cooomdkgodf: ::core::option::Option<RotateMapInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6838)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResetMapRotationRegionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub client_pos_version: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6804)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateEnergyScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6811)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMapRotationDataScNotify {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub jppmekjgjfd: u32,
    /// offset: 56
    #[prost(bool, tag = "3")]
    pub bhabaifpooa: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub egagknadahj: ::prost::alloc::vec::Vec<ChargerInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub cooomdkgodf: ::core::option::Option<RotateMapInfo>,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub cedggdfmilp: ::prost::alloc::vec::Vec<RotaterData>,
    /// offset: 60
    #[prost(int32, tag = "14")]
    pub region_id: i32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6836)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotatorCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub rotater_data: ::core::option::Option<RotaterData>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6848)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RemoveRotaterScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub rotater_data: ::core::option::Option<RotaterData>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub energy_info: ::core::option::Option<RotaterEnergyInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6845)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnnlhfkknlm {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub cedggdfmilp: ::prost::alloc::vec::Vec<RotaterData>,
}
/// Obf: ONEBKBJMLIG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8288)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleGetDataCsReq {}
/// Obf: CCNJIFFMGNA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8278)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleGetDataScRsp {
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub ikgiiijllbl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(int32, tag = "8")]
    pub score_id: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub lhdimcdhceo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub kjjcimankoa: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8273)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hajkepnejed {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub gnamnbdiekg: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub egcllkdhiae: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8282)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kbeckamicjf {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub gnamnbdiekg: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: IPIKNJLJCNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8272)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleShopBuyCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub egcllkdhiae: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AFDNHCKGNNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8287)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleShopBuyScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub egcllkdhiae: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: GKHLACNDNHA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8275)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleUnlockSealScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub egcllkdhiae: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DPIEGEGHMDP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8274)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarblePvpDataUpdateScNotify {
    /// offset: 24
    #[prost(int32, tag = "15")]
    pub score_id: i32,
}
/// Obf: PODAILFIECJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8281)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleUpdateShownSealCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub gfadcihmdnn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ODGOEIFAHPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8285)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarbleUpdateShownSealScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub gfadcihmdnn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MarkChestInfo {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub plane_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub config_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub hfjelbgdghp: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub floor_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestFuncInfo {
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub mark_time: i64,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub func_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub mark_chest_info_list: ::prost::alloc::vec::Vec<MarkChestInfo>,
}
/// Obf: BMDACCNEEPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8198)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMarkChestCsReq {}
/// Obf: KGALGCOHNIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8188)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMarkChestScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
}
/// Obf: GIAHMBPHGPI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8183)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestCsReq {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub func_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub mark_chest_info_list: ::prost::alloc::vec::Vec<MarkChestInfo>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub trigger_param_id: u32,
}
/// Obf: MHHCEHOKJBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8192)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMarkChestScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub func_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub trigger_param_id: u32,
}
/// Obf: PCECJDGICOC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8182)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MarkChestChangedScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub mark_chest_func_info: ::prost::alloc::vec::Vec<MarkChestFuncInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7309)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartMatchCsReq {
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "4")]
    pub gjnmhilinhc: i32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub jidkdpppdpf: ::core::option::Option<LobbyGameExtInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7323)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartMatchScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7337)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelMatchCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7344)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelMatchScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: LFHENIDCNMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7348)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCrossInfoCsReq {}
/// Obf: BMMPOKFLJFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7303)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCrossInfoScRsp {
    /// offset: 32
    #[prost(uint64, tag = "7")]
    pub fgnfdgakkap: u64,
    /// offset: 24
    #[prost(uint64, tag = "9")]
    pub room_id: u64,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 44
    #[prost(enumeration = "FightGameMode", tag = "15")]
    pub gjnmhilinhc: i32,
}
/// Obf: JPDGPEOBBNJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7409)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeGetDataDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpiehamdjap {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub level_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub kkhpkmahdmk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mlhlimijhdd {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub pos_index: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub count: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub hbonkleoeei: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub lalgadhlmcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Alngmgojdoa {
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "7")]
    pub aeomefembji: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "9")]
    pub mjnnnjpdkdi: ::prost::alloc::vec::Vec<Hpiehamdjap>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "12")]
    pub gmonimlfkfc: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub dbinclphefn: ::prost::alloc::vec::Vec<Mlhlimijhdd>,
}
/// Obf: AJDCICOLIBC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7423)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeGetDataDataScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub gjfkkffjdah: ::core::option::Option<Alngmgojdoa>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: GKHHHFHGINI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7437)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeLevelEndCsReq {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "2")]
    pub gmonimlfkfc: ::std::collections::HashMap<u32, u32>,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub kkhpkmahdmk: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub hbonkleoeei: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub lalgadhlmcb: u32,
    /// offset: 32
    #[prost(string, tag = "7")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: LOJIENDBLAI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7444)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeLevelEndScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub level_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub kkhpkmahdmk: u32,
}
/// Obf: ENILOPJOCBN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7419)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeSyncDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub gjfkkffjdah: ::core::option::Option<Alngmgojdoa>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7448)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pogmmmgbnch {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub hbonkleoeei: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pos_index: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7403)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdaoekoedho {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub pos_index: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub hbonkleoeei: u32,
}
/// Obf: PBDKDFCOAPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7407)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pbdkdfcoapb {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdkjpkpejfo {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub level_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub gkcabegbocg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpchplejckc {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub lalgadhlmcb: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub count: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub pos_index: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub hbonkleoeei: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jkebeakohjj {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub gobipjpdbfg: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub dbinclphefn: ::prost::alloc::vec::Vec<Kpchplejckc>,
    /// offset: 48
    #[prost(message, repeated, tag = "6")]
    pub kioiblgkfcj: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub nkhiimhclcd: ::prost::alloc::vec::Vec<Hdkjpkpejfo>,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub eecijblglng: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub bfcmlmlihhm: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 64
    #[prost(uint32, tag = "15")]
    pub jnaokjkflhl: u32,
}
/// Obf: DHFGMHFEHEB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7410)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dhfgmhfeheb {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub bjbjlbiopka: ::core::option::Option<Jkebeakohjj>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FCDAFFCDLLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7421)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeV2BattleItemLevelUpCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub igoojkmpmdc: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub fmehkpkhgja: u32,
}
/// Obf: MPCDHLLOEJM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7424)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeV2BattleItemLevelUpScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub fmehkpkhgja: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub igoojkmpmdc: u32,
}
/// Obf: GJKAHBHLPPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7420)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2LevelEndCsReq {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub monkdlnmmbk: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "3")]
    pub eedlbjgglkd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub eohglcjamkn: u32,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub hbonkleoeei: u32,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub jgifdfldbpb: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub gfbaheodfna: u32,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub level_id: u32,
}
/// Obf: CGCHNIIJMMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2LevelEndScRsp {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub level_id: u32,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub dbdigiepmbb: ::core::option::Option<ItemList>,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub jnaokjkflhl: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub dobnefkpmpb: ::prost::alloc::vec::Vec<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub oeibhlmdjka: ::core::option::Option<Hdkjpkpejfo>,
    /// offset: 48
    #[prost(message, optional, tag = "7")]
    pub iegchpihpjn: ::core::option::Option<Kpchplejckc>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub aflcnnajagb: u32,
    /// offset: 60
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MOHJGIEBFFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7429)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeV2SetBirdPosCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub hbonkleoeei: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pos_index: u32,
}
/// Obf: DBMDKDAKCNC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7433)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MatchThreeV2SetBirdPosScRsp {
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub pos_index: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hbonkleoeei: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub lidgcjikieg: u32,
}
/// Obf: JNHKFNPECCB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7406)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2ScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bjbjlbiopka: ::core::option::Option<Jkebeakohjj>,
}
/// Obf: DABAAANKJGF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7402)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchThreeV2PvpFinishScNotify {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub bjbjlbiopka: ::core::option::Option<Jkebeakohjj>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub jdfpkamfhap: ::core::option::Option<Lajglhccned>,
    /// offset: 44
    #[prost(enumeration = "Nppemmillco", tag = "5")]
    pub reason: i32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub ojngbibghbl: u32,
    /// offset: 40
    #[prost(enumeration = "FightGameMode", tag = "13")]
    pub game_mode: i32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub bcakpnchiij: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7414)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eehldboefgb {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub jdfpkamfhap: ::core::option::Option<Lajglhccned>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub bcakpnchiij: u32,
    /// offset: 40
    #[prost(int32, tag = "7")]
    pub ojngbibghbl: i32,
    /// offset: 44
    #[prost(enumeration = "Nppemmillco", tag = "11")]
    pub reason: i32,
    /// offset: 36
    #[prost(enumeration = "FightGameMode", tag = "12")]
    pub game_mode: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbobhiphgpb {
    /// offset: 40
    #[prost(uint64, tag = "2")]
    pub hlnodeflocf: u64,
    /// offset: 33
    #[prost(bool, tag = "5")]
    pub hiemhcbhkeo: bool,
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub oomilcofgpn: bool,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub ijcjbddggjf: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub cjkagedkafl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cmgcljcpjko {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ijcjbddggjf: u32,
}
/// Obf: AHFBNKIHGIH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9073)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChenLingGameBoyDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub game_data: ::core::option::Option<Jbobhiphgpb>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: JAIPALPGNKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9087)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishChenLingGameBoyCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub ijcjbddggjf: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub cjkagedkafl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint64, tag = "10")]
    pub bejcjjcljhl: u64,
    /// offset: 36
    #[prost(bool, tag = "11")]
    pub hopojgbfgeg: bool,
    /// offset: 37
    #[prost(bool, tag = "15")]
    pub bohdceoolba: bool,
}
/// Obf: PGIOKHAKAPP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9094)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishChenLingGameBoyScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub dddgoaeeodc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub ijcjbddggjf: u32,
    /// offset: 56
    #[prost(uint64, tag = "12")]
    pub hlnodeflocf: u64,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub bejcjjcljhl: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nbhdcjhgkcn {
    /// offset: 32
    #[prost(uint64, tag = "3")]
    pub bejcjjcljhl: u64,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ijcjbddggjf: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub uid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nfekgeaimeo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ijcjbddggjf: u32,
}
/// Obf: NPPEAEPGEOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9098)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChenLingGameBoyGetFriendRankingInfoScRsp {
    /// offset: 36
    #[prost(bool, tag = "7")]
    pub ebafpolljia: bool,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub ijcjbddggjf: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub bedhekagape: ::prost::alloc::vec::Vec<Nbhdcjhgkcn>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JAIGKNCMOLK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9053)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimMiniGameDataCsReq {
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub ebafpolljia: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9057)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onaegkcmpnn {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(bool, tag = "11")]
    pub ebafpolljia: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Andpllakcle {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ijcjbddggjf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9071)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdjkljdmjho {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub game_data: ::core::option::Option<Jbobhiphgpb>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emdklicdpkk {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ijcjbddggjf: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub hiemhcbhkeo: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9070)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhehacpkkbl {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub game_data: ::core::option::Option<Jbobhiphgpb>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikhlecejhpo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ofnnjjnahhh: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub bajhkgjpfed: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfpdfepnlhl {}
/// Obf: EMPBDGJAFDF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9079)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFiveDimMiniGameDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub content_package_list: ::prost::alloc::vec::Vec<Ikhlecejhpo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BHMAJOCINCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFiveDimMiniGameCsReq {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub chmbabejkge: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub akcleajaepa: u32,
    /// offset: 64
    #[prost(uint32, tag = "4")]
    pub ipddikphgpe: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub bajhkgjpfed: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub gold: u32,
    /// offset: 60
    #[prost(uint32, tag = "8")]
    pub mgbdfkkmnol: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(float, tag = "11")]
    pub japbbdenkgm: f32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub fkfgigapjnf: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub ocfcojmimfd: u32,
}
/// Obf: GNCJHGHBEPP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9056)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFiveDimMiniGameScRsp {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub bajhkgjpfed: u32,
    /// offset: 72
    #[prost(float, tag = "3")]
    pub japbbdenkgm: f32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub kafikbefkdh: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub mgbdfkkmnol: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub akcleajaepa: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub gold: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub dhbabibhnog: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(bool, tag = "14")]
    pub ilafnjnafim: bool,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub chmbabejkge: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nnflbbkgbdp {}
/// Obf: JOMFDNFHHBD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9064)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFiveDimFluteDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub aobgmmaimhj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub nfobndjiepl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bagcledhobd {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bakmhapcncj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9065)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egjjhfipcnb {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub bakmhapcncj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aipnfbbdneo {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bakmhapcncj: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9058)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ncgfpokhmbl {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub bakmhapcncj: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NBEFNNHILCB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9068)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FiveDimFluteDataChangeNotify {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub aobgmmaimhj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub nfobndjiepl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LMJDKIDHMFH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9093)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MazeCrossFloorConditionChangeScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub hlllikpgofg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LNDMHNMPGNP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2725)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetNpcMessageGroupCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub contact_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MessageItem {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub text_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageSection {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub message_item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub frozen_item_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub id: u32,
    /// offset: 48
    #[prost(enumeration = "MessageSectionStatus", tag = "13")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MessageGroup {
    /// offset: 32
    #[prost(enumeration = "MessageGroupStatus", tag = "3")]
    pub status: i32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub message_section_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub message_section_list: ::prost::alloc::vec::Vec<MessageSection>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 48
    #[prost(int64, tag = "15")]
    pub refresh_time: i64,
}
/// Obf: EBBKLGBFJBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcMessageGroupScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub message_group_list: ::prost::alloc::vec::Vec<MessageGroup>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: EMACPOEHODE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2793)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetNpcStatusCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NpcStatus {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub is_finish: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GroupStatus {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub refresh_time: i64,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 24
    #[prost(enumeration = "MessageGroupStatus", tag = "15")]
    pub group_status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SectionStatus {
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub section_id: u32,
    /// offset: 24
    #[prost(enumeration = "MessageSectionStatus", tag = "15")]
    pub section_status: i32,
}
/// Obf: FOKMHCLKPGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetNpcStatusScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub npc_status_list: ::prost::alloc::vec::Vec<NpcStatus>,
}
/// Obf: FNNBOBGFAKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishItemIdCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub text_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub item_id: u32,
}
/// Obf: EEFCOCPHIOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2781)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishItemIdScRsp {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub text_id: u32,
}
/// Obf: BCONPMPJLDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishSectionIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub section_id: u32,
}
/// Obf: LCJMFNOJBAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2747)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishSectionIdScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub section_id: u32,
}
/// Obf: OCJOLLHLFIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2726)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub section_id: u32,
}
/// Obf: KGPCODGNDEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2713)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishPerformSectionIdScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub section_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "11")]
    pub item_list: ::prost::alloc::vec::Vec<MessageItem>,
}
/// Obf: EJFBKAEEDJK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2771)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMissionMessageCsReq {}
/// Obf: PGFLOJNIFLF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionMessageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "12")]
    pub pfmhkkkagcd: ::std::collections::HashMap<u32, u32>,
}
/// Obf: PMDGOKCLELJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ShareCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub mggnkenipfc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcbhfbpadee {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub jnopbgbacoo: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub mggnkenipfc: u32,
}
/// Obf: NJBNEBEFNEC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ShareScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub nmokjjmnicm: ::core::option::Option<Bcbhfbpadee>,
}
/// Obf: INAFIPCFLGB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4193)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetShareDataCsReq {}
/// Obf: DLCCOHOEFCA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4158)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShareDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub mncjmioonpe: ::prost::alloc::vec::Vec<Bcbhfbpadee>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4188)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Liogdhefogd {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4181)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ehnlgmegijp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okjchglgbhp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub jlnocdgjdli: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub nadcihpppbc: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4133)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mncfpnfgaoh {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub okjnbiokkib: ::prost::alloc::vec::Vec<Okjchglgbhp>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4138)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmflffjiefc {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4126)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pimffpgepio {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub jalhkmeoopn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(string, repeated, tag = "7")]
    pub okfmbdeecch: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(enumeration = "Bmhihbheckd", tag = "8")]
    pub r#type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4113)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Inkeeekknkf {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igbjdkiedjl {
    /// offset: 24
    #[prost(string, tag = "7")]
    pub gifoenldcho: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4140)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Idenfkijicm {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hdahflmbaab {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub hfenofpknpj: u32,
    /// offset: 28
    #[prost(enumeration = "MovieRacingType", tag = "14")]
    pub r#type: i32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub egknhhfdjhm: u32,
}
/// Obf: IMEFDMEGEON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4169)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMovieRacingDataCsReq {}
/// Obf: HIADAFCBLKH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4165)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMovieRacingDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub hniaegmmpkd: ::prost::alloc::vec::Vec<Hdahflmbaab>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: IHMMNILOINC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4130)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateMovieRacingDataCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ljepiaidjfc: ::core::option::Option<Hdahflmbaab>,
}
/// Obf: NCFCNNFIBLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4142)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateMovieRacingDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ljepiaidjfc: ::core::option::Option<Hdahflmbaab>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4139)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jdaaleacpkl {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub kpkebloefcp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4104)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nialcdgnnlc {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub kpkebloefcp: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4111)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gfgemcjlgpp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ifmccmlcbgp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub bgjaejkjcfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjeikngocjo {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub state: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub config_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Blplicdmfel {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub floor_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub pepoggncgld: ::prost::alloc::vec::Vec<Mjeikngocjo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4136)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mgfaalhchef {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub cgojblpjfak: ::prost::alloc::vec::Vec<Blplicdmfel>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ifmccmlcbgp: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bpagbaalhmp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub blmaeggmchj: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub egknhhfdjhm: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub is_perfect: bool,
}
/// Obf: LOIAGBJKMEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4172)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetGunPlayDataCsReq {}
/// Obf: AHDEDBMNMCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4180)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetGunPlayDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub oholabhlckl: ::prost::alloc::vec::Vec<Bpagbaalhmp>,
}
/// Obf: GACMFAOEKMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4184)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGunPlayDataCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "3")]
    pub uuid: u64,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub aopplpdbehk: ::core::option::Option<Bpagbaalhmp>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub gijopfiamia: u32,
}
/// Obf: EKOPMNIGCPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4121)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGunPlayDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub aopplpdbehk: ::core::option::Option<Bpagbaalhmp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amkbfmcoihk {
    /// offset: 32
    #[prost(enumeration = "Cgogdjkalmh", tag = "9")]
    pub source_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "DifficultyAdjustmentType", tag = "13")]
    pub anjmfpkjhoh: i32,
}
/// Obf: MJHIOCKGPMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4105)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataCsReq {}
/// Obf: BPFGOALJLPP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4141)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentGetDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub content_package_list: ::prost::alloc::vec::Vec<Amkbfmcoihk>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: ELBOKICMECP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4110)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub data: ::core::option::Option<Amkbfmcoihk>,
}
/// Obf: FCGMKPGGCAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4143)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DifficultyAdjustmentUpdateDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub content_package_list: ::prost::alloc::vec::Vec<Amkbfmcoihk>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub data: ::core::option::Option<Amkbfmcoihk>,
}
/// Obf: FPMCECGEIJD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4129)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MazeKillDirectCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(enumeration = "Fdjadoeaole", tag = "14")]
    pub source_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fabplncigpk: u32,
}
/// Obf: LBEBKNGBBCO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4163)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MazeKillDirectScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub entity_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: CLIOFILACMC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4134)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DirectDeliveryScNotify {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub hfhhkgfngfc: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub djobnpiaejp: ::prost::alloc::vec::Vec<ItemList>,
}
/// Obf: JFFANDLFOGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4196)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelDirectDeliveryNoticeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub hfhhkgfngfc: u32,
}
/// Obf: EJBPJPEDLJL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4173)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CancelDirectDeliveryNoticeScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub hfhhkgfngfc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bkahedahnhl {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub nbfjhdjblcf: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub gold: u32,
}
/// Obf: BGGJMEAOBFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4112)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchMascotDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub nbfjhdjblcf: u32,
}
/// Obf: DPODMNMGDLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4135)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchMascotDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub jnoehpjjpof: ::prost::alloc::vec::Vec<Bkahedahnhl>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub nbfjhdjblcf: u32,
}
/// Obf: OFAPJBDCIAE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4175)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwitchMascotUpdateScNotify {
    /// offset: 32
    #[prost(bool, tag = "11")]
    pub eblpglfjnel: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub jnoehpjjpof: ::prost::alloc::vec::Vec<Bkahedahnhl>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4144)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChallangeTierceCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4149)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetChallangeTierceScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub knkgiencljj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub njiipbhbedk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "15")]
    pub gcmokmiehdb: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gaambbfpchb {
    /// offset: 32
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub oplnkcolckj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub start_time: i64,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub pmjgajgifoa: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4115)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Joigbkbegob {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4118)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Alcdaeideam {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub nfedanfbibe: ::core::option::Option<Gaambbfpchb>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4153)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piconflhmcd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub jkcebhfieni: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4152)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fecgdojfdim {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub ngkofmbbgnl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub nfedanfbibe: ::core::option::Option<Gaambbfpchb>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4120)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lcbiejnjdif {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub gdcflplfjci: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4114)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddooedokepf {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub nfedanfbibe: ::core::option::Option<Gaambbfpchb>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4189)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eabimapllll {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub nfedanfbibe: ::core::option::Option<Gaambbfpchb>,
}
/// Obf: EMIFJNLDKDE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1225)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMissionDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Albojhjalof {
    /// offset: 24
    #[prost(enumeration = "MissionSyncRecord", tag = "11")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub param: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Obf: Mission
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mission {
    /// offset: 32
    #[prost(enumeration = "MissionStatus", tag = "7")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub progress: u32,
}
/// Obf: MissionCustomValue
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MissionCustomValue {
    /// offset: 16
    #[prost(string, tag = "2")]
    pub bgdfhbaanlb: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub index: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub custom_value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onhkodafemh {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    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 = "4")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 36
    #[prost(enumeration = "MissionStatus", tag = "13")]
    pub status: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjbanfppefh {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub id: u32,
    #[prost(oneof = "mjbanfppefh::Epiikekkmpj", tags = "547")]
    pub epiikekkmpj: ::core::option::Option<mjbanfppefh::Epiikekkmpj>,
}
/// Nested message and enum types in `MJBANFPPEFH`.
pub mod mjbanfppefh {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Epiikekkmpj {
        /// offset: 16
        #[prost(message, tag = "547")]
        CustomValueList(super::Onhkodafemh),
    }
}
/// Obf: MainMissionCustomValue
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MainMissionCustomValue {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub custom_value_list: ::core::option::Option<Onhkodafemh>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub main_mission_id: u32,
}
/// Obf: KHKJONMCECE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1278)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub gkfpkbgjbgn: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub kbdgngmpfeh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub main_mission_list: ::prost::alloc::vec::Vec<MainMission>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "5")]
    pub olkalabedoa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 56
    #[prost(uint32, repeated, tag = "11")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub track_mission_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
}
/// Obf: KHOHCEGIHGF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1210)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AcceptMainMissionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub main_mission_id: u32,
}
/// Obf: GGHDJOBEDAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1243)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AcceptMainMissionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub main_mission_id: u32,
}
/// Obf: MMJJKEOONKE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1293)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionCsReq {
    /// offset: 24
    #[prost(string, tag = "5")]
    pub talk_str: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub sub_mission_id: u32,
}
/// Obf: OKPLFBLIDFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTalkMissionScRsp {
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "11")]
    pub talk_str: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub custom_value_list: ::prost::alloc::vec::Vec<MissionCustomValue>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub sub_mission_id: u32,
}
/// Obf: IKMNHNAHNMK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1288)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionRewardScNotify {
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub sub_mission_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub main_mission_id: u32,
}
/// Obf: AOCAHONLJKE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1280)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SubMissionRewardScNotify {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub sub_mission_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1281)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MissionSyncTaskCsReq {
    /// offset: 24
    #[prost(string, tag = "6")]
    pub key: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1286)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MissionSyncTaskScRsp {
    /// offset: 16
    #[prost(string, tag = "6")]
    pub key: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: GHFEIOEICNP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1240)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MissionGroupWarnScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub oikjkmjcheg: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishCosumeItemMissionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub sub_mission_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1238)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishCosumeItemMissionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub sub_mission_id: u32,
}
/// Obf: MEBIGMFKKFD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1245)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMissionStatusCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub sub_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GetMissionStatusScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1269)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMissionStatusScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub curversion_finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "3")]
    pub main_mission_mcv_list: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
    /// offset: 72
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, repeated, tag = "13")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "15")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HNPPCJMODAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1284)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TeleportToMissionResetPointCsReq {}
/// Obf: DCNKCCPMKLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1221)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TeleportToMissionResetPointScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub client_pos_version: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CJOACNKDPEI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1205)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartFinishSubMissionScNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub sub_mission_id: u32,
}
/// Obf: JMIPELIDOIJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1241)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartFinishMainMissionScNotify {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub main_mission_id: u32,
}
/// Obf: CFDNIJHMEND
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1229)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMainMissionCustomValueCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NBDELHIPKLP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1263)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMainMissionCustomValueScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub main_mission_list: ::prost::alloc::vec::Vec<MainMission>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: CPFCAJBHOIB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1234)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MainMissionAcceptNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1273)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateTrackMainMissionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub track_mission_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub jfondebdioo: u32,
    /// offset: 28
    #[prost(enumeration = "TrackMainMissionUpdateReasonId", tag = "15")]
    pub popncnibnmj: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1212)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateTrackMainMissionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub prev_track_mission_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub track_mission_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: ABFLEADGIIF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1235)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishedMissionScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1275)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateMainMissionCustomValueCsReq {
    /// offset: 16
    #[prost(string, tag = "1")]
    pub bgdfhbaanlb: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub value: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub main_mission_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1244)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateMainMissionCustomValueScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub hkddmggdcip: ::core::option::Option<MainMission>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1249)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StarPerformanceRelayCsReq {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub performance_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub performance_type: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1215)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StarPerformanceRelayScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: MKNLDCIOCFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMonopolyInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdnabfblepg {
    /// offset: 41
    #[prost(bool, tag = "1")]
    pub gnihcopoljb: bool,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mgjffpiaomi: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub keeobecjnip: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub item_value: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub almkipnhafm: u32,
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub blbfmkkbeli: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hddlalfamko {
    /// offset: 32
    #[prost(enumeration = "Laehiccbbfn", tag = "6")]
    pub kdjacpbdhae: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub lpbbjffnaca: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hihehniagpf {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub fbdeneclhih: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddhieonliil {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub is_taken_reward: bool,
    /// offset: 33
    #[prost(bool, tag = "8")]
    pub ddkgkofagmh: bool,
    /// offset: 24
    #[prost(uint64, tag = "15")]
    pub hemohfjjmjg: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfgilgdfeke {
    /// offset: 88
    #[prost(uint32, tag = "1")]
    pub gcpabinopnj: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "2")]
    pub iofplhogbod: ::prost::alloc::vec::Vec<Hihehniagpf>,
    /// offset: 40
    #[prost(message, repeated, tag = "3")]
    pub jbkmdkkbffa: ::prost::alloc::vec::Vec<Ddhieonliil>,
    /// offset: 104
    #[prost(uint32, tag = "5")]
    pub fnfekipgkhj: u32,
    /// offset: 96
    #[prost(uint32, tag = "6")]
    pub ijfphjapbco: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub mhnlheimblh: ::prost::alloc::vec::Vec<Hihehniagpf>,
    /// offset: 100
    #[prost(bool, tag = "8")]
    pub bodenachchf: bool,
    /// offset: 48
    #[prost(message, repeated, tag = "10")]
    pub amfddggeabc: ::prost::alloc::vec::Vec<Hihehniagpf>,
    /// offset: 112
    #[prost(uint32, tag = "11")]
    pub fdopjgfnmma: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub badcfeejkic: ::prost::alloc::vec::Vec<Hihehniagpf>,
    /// offset: 92
    #[prost(uint32, tag = "13")]
    pub pool_id: u32,
    /// offset: 108
    #[prost(uint32, tag = "15")]
    pub nbnceegggff: u32,
    /// offset: 56
    #[prost(string, tag = "157")]
    pub mgkcfificcf: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(string, tag = "1305")]
    pub danmgaepgml: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "1683")]
    pub dpiojajlold: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcdifiidpia {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub bembgmoiaon: ::prost::alloc::vec::Vec<Kfgilgdfeke>,
}
/// Obf: IHLLOOIAFFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub momeifpicle: ::core::option::Option<Fioengohooj>,
    /// offset: 96
    #[prost(message, optional, tag = "2")]
    pub cooomdkgodf: ::core::option::Option<Ilmfjkcgbck>,
    /// offset: 72
    #[prost(message, optional, tag = "3")]
    pub kkkmhnapfcp: ::core::option::Option<Dbphhpgnmkc>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub pnjbepaaeof: ::core::option::Option<Foofaifpooi>,
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub malpphceogb: ::core::option::Option<Bcdifiidpia>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub olaonlglajo: ::core::option::Option<Njhagkghkjj>,
    /// offset: 120
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 104
    #[prost(message, optional, tag = "9")]
    pub habjhgpfgeb: ::core::option::Option<Ingkndhecnf>,
    /// offset: 112
    #[prost(message, optional, tag = "11")]
    pub stt: ::core::option::Option<Ocdbimibncd>,
    /// offset: 56
    #[prost(message, optional, tag = "12")]
    pub ciclccflale: ::core::option::Option<Ccmckokejni>,
    /// offset: 80
    #[prost(message, optional, tag = "13")]
    pub ochnmgmdhme: ::core::option::Option<Pdnabfblepg>,
    /// offset: 64
    #[prost(message, optional, tag = "14")]
    pub gkmkaeedchp: ::core::option::Option<Hddlalfamko>,
    /// offset: 88
    #[prost(uint32, repeated, tag = "15")]
    pub canejdomafa: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ccmckokejni {
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub hndagkpkghi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KJFLKGEPIGG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7031)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyConditionUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ciclccflale: ::core::option::Option<Ccmckokejni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ocdbimibncd {
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub leijjgdjeci: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub pohblamknjh: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CGABKEMOBEB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7091)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolySttUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub stt: ::core::option::Option<Ocdbimibncd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eidfcglodfb {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub map_id: u32,
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub bpkmkfldcai: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub ihaomlephom: u32,
    /// offset: 24
    #[prost(enumeration = "Naddheilbbn", tag = "15")]
    pub pijjdfcbmpg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ilmfjkcgbck {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub dgbeoggjloo: ::prost::alloc::vec::Vec<Eidfcglodfb>,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub egdnfkhlkke: ::prost::alloc::vec::Vec<Eidfcglodfb>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub cokknekdjaj: u32,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub gopfojlifkn: ::core::option::Option<Eidfcglodfb>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub ljccanlcghi: u32,
}
/// Obf: KMGEMNJJACK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7068)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyEventLoadUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub dgbeoggjloo: ::prost::alloc::vec::Vec<Eidfcglodfb>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub egdnfkhlkke: ::prost::alloc::vec::Vec<Eidfcglodfb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nifkimaanfj {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lnchjbmimaf {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Adncppcpllh {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub mjmjomdlohi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub gkknmddnojf: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ofpgdjjkgkj {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub ijjfapbjmod: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub mjmjomdlohi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub jmbgmipllji: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub gkknmddnojf: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfkabdljmjo {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub phkbdahipee: ::prost::alloc::vec::Vec<Nemidpfejfl>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub kbljegipinf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ncpjgbccggi {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cbilpmicekc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dcajakjajnl {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub shop_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dkhcbkngomf {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub mknlpjmbhdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Galcnkiahnn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nlgnndifggf: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub add_coin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nemidpfejfl {
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub gcladekcjcg: u32,
    #[prost(oneof = "nemidpfejfl::Bmhhgphpljb", tags = "12, 14, 6, 2, 5, 10, 3, 1, 4")]
    pub bmhhgphpljb: ::core::option::Option<nemidpfejfl::Bmhhgphpljb>,
}
/// Nested message and enum types in `NEMIDPFEJFL`.
pub mod nemidpfejfl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bmhhgphpljb {
        /// offset: 24
        #[prost(message, tag = "12")]
        Nhonhfpbebg(super::Nifkimaanfj),
        /// offset: 24
        #[prost(message, tag = "14")]
        Mpbpbblahnm(super::Lnchjbmimaf),
        /// offset: 24
        #[prost(message, tag = "6")]
        Oncbjhbkblb(super::Adncppcpllh),
        /// offset: 24
        #[prost(message, tag = "2")]
        Cefdddaimmd(super::Ncpjgbccggi),
        /// offset: 24
        #[prost(message, tag = "5")]
        Mofniojhbbl(super::Dcajakjajnl),
        /// offset: 24
        #[prost(message, tag = "10")]
        Ajgoejhkoke(super::Dkhcbkngomf),
        /// offset: 24
        #[prost(message, tag = "3")]
        Enfiefppcic(super::Galcnkiahnn),
        /// offset: 24
        #[prost(message, tag = "1")]
        Bjhklnnkppb(super::Ofpgdjjkgkj),
        /// offset: 24
        #[prost(message, tag = "4")]
        Hclaegdlobd(super::Dfkabdljmjo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fioengohooj {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub megbffoafgl: ::core::option::Option<Nemidpfejfl>,
}
/// Obf: LBDGBAALOOJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyContentUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub megbffoafgl: ::core::option::Option<Nemidpfejfl>,
}
/// Obf: NMFBEMPIMMN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7058)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyCellUpdateNotify {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub gopfojlifkn: ::core::option::Option<Eidfcglodfb>,
}
/// Obf: JEJNIBGECID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7081)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyRollDiceCsReq {}
/// Obf: DKDDEPHBBEM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7086)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyRollDiceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub roll_result: u32,
}
/// Obf: OLPKGAGBKAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7084)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyCheatDiceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub lagninikeae: u32,
}
/// Obf: MILDJHKDICG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7021)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyCheatDiceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub lagninikeae: u32,
}
/// Obf: EAHLPCJGLPD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7047)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyMoveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ahngiceeadk: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub cpfghpcbfof: u32,
}
/// Obf: BLHGFHMEFMB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyMoveScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ajgmloionpk: ::prost::alloc::vec::Vec<Eidfcglodfb>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub cooomdkgodf: ::core::option::Option<Ilmfjkcgbck>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: CKONENEGJMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7013)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolySelectOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub hafokmhcgfm: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hknbladlaae {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub mipkoffgpfa: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub hafokmhcgfm: u32,
}
/// Obf: ILGDFJMKOEC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7071)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySelectOptionScRsp {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub event_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub hafokmhcgfm: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub dmckdigkhlb: ::prost::alloc::vec::Vec<Hknbladlaae>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub momeifpicle: ::core::option::Option<Nemidpfejfl>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: OACJDKMNPIC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7039)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyRollRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
}
/// Obf: JONNKENDDPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7004)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyRollRandomScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub momeifpicle: ::core::option::Option<Nemidpfejfl>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub event_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BADCAMHNGKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7011)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyReRollRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
}
/// Obf: HEGELOIBGME
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7036)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyReRollRandomScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub momeifpicle: ::core::option::Option<Nemidpfejfl>,
}
/// Obf: PDAEJKNMBNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7048)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyConfirmRandomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub event_id: u32,
}
/// Obf: LOBOKLMODGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7045)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyConfirmRandomScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub momeifpicle: ::core::option::Option<Nemidpfejfl>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: POFOGBPDEHB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7069)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyBuyGoodsCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub shop_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub goods_id: u32,
}
/// Obf: ANCENNCMLDH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7065)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyBuyGoodsScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub goods_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub shop_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7030)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oidpmkiojgk {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cbilpmicekc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7042)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdjfkffpdki {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: MBKBDPECMHA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7072)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGiveUpCurContentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub content_id: u32,
}
/// Obf: CILKIOLEJFJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7080)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGiveUpCurContentScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyActionResult {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub trigger_cell_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub detail: ::core::option::Option<Gppkimdcpbm>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub click_map_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub click_cell_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub effect_type: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub trigger_map_id: u32,
    /// offset: 44
    #[prost(enumeration = "Bakaelimiji", tag = "15")]
    pub source_type: i32,
}
/// Obf: HCGCOHCHKBN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7093)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyActionResultScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub bkgpginchji: ::prost::alloc::vec::Vec<MonopolyActionResult>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ccohbabchai {
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub eedegbhekgd: bool,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub njfkoebeggb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gppkimdcpbm {
    #[prost(
        oneof = "gppkimdcpbm::Idlckhekccb",
        tags = "9, 3, 1, 10, 11, 5, 7, 14, 12, 6, 8, 13, 4"
    )]
    pub idlckhekccb: ::core::option::Option<gppkimdcpbm::Idlckhekccb>,
}
/// Nested message and enum types in `GPPKIMDCPBM`.
pub mod gppkimdcpbm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Idlckhekccb {
        /// offset: 24
        #[prost(message, tag = "9")]
        Fipdbfmpekh(super::Golhakegkcl),
        /// offset: 24
        #[prost(message, tag = "3")]
        Ahmeecfkbdj(super::Golhakegkcl),
        /// offset: 24
        #[prost(message, tag = "1")]
        Cbkldcbekch(super::Baneligflco),
        /// offset: 24
        #[prost(message, tag = "10")]
        Hmobmballje(super::Baneligflco),
        /// offset: 24
        #[prost(message, tag = "11")]
        Ifooepkggag(super::Gnnglbegikb),
        /// offset: 24
        #[prost(message, tag = "5")]
        Cmpncfcjcne(super::Gnnglbegikb),
        /// offset: 24
        #[prost(message, tag = "7")]
        Domhnbmjghf(super::Neaemnnkkef),
        /// offset: 24
        #[prost(message, tag = "14")]
        Hkagpimfpag(super::Neaemnnkkef),
        /// offset: 24
        #[prost(message, tag = "12")]
        Gajglondgmp(super::Ccohbabchai),
        /// offset: 24
        #[prost(message, tag = "6")]
        Ijbammmbioa(super::Ahmfkpiahco),
        /// offset: 24
        #[prost(message, tag = "8")]
        Ebcgebepojj(super::Gnnglbegikb),
        /// offset: 24
        #[prost(message, tag = "13")]
        Ckbeebalaeg(super::Neaemnnkkef),
        /// offset: 24
        #[prost(message, tag = "4")]
        Ldigcpkpnbc(super::Nokanmfknmm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nokanmfknmm {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pjfplafehkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Golhakegkcl {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dcpdnbaldoa: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub hfnnnghbhgg: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Neaemnnkkef {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub ddffjeblcan: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub bgkdjkcfekd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahmfkpiahco {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub daekkpojajg: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kclcdfggpbk: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub adadgdpcpdn: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub kjbiloocbpb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Glmgjfeejhd {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub ratio: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub config_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub bajhkgjpfed: u32,
    #[prost(oneof = "glmgjfeejhd::Jmpnihhamph", tags = "5, 10, 7")]
    pub jmpnihhamph: ::core::option::Option<glmgjfeejhd::Jmpnihhamph>,
}
/// Nested message and enum types in `GLMGJFEEJHD`.
pub mod glmgjfeejhd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Jmpnihhamph {
        /// offset: 24
        #[prost(message, tag = "5")]
        Aglmedobmal(super::Kdpgimoolon),
        /// offset: 24
        #[prost(message, tag = "10")]
        Lochfjeeckl(super::Jgknadednhb),
        /// offset: 24
        #[prost(message, tag = "7")]
        Cokliddaeoh(super::Loebaoefmdc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Foofaifpooi {
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub bgjbagjajdl: ::prost::alloc::vec::Vec<Glmgjfeejhd>,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub iblhlcmnmaj: ::core::option::Option<Ccohbabchai>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub jeloddpelkj: ::core::option::Option<Glmgjfeejhd>,
}
/// Obf: MBOPGGGPMMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7043)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameSettleScNotify {
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub ngadcehjhbe: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub ajgoejhkoke: ::core::option::Option<Glmgjfeejhd>,
}
/// Obf: AOPEHFBKPHP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGameCreateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub iblhlcmnmaj: ::core::option::Option<Ccohbabchai>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub ajgoejhkoke: ::core::option::Option<Glmgjfeejhd>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7041)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piljihglhja {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ratio: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7010)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nhkiadbinml {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ratio: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: MPIMMHDEAGO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7033)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityCsReq {}
/// Obf: HFGKJEFPJPB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7038)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyFirstEnterMonopolyActivityScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub icpapcajfkk: u32,
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub glejfciomkc: bool,
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub djmlhbfembe: i64,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub olaonlglajo: ::core::option::Option<Njhagkghkjj>,
}
/// Obf: PKNEMMHHBJK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7085)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetDailyInitItemCsReq {}
/// Obf: HDJNPJKFBPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7077)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetDailyInitItemScRsp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub aedfgdeaobd: u32,
    /// offset: 32
    #[prost(int64, tag = "2")]
    pub djmlhbfembe: i64,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub fofgdajjpem: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub mkedabicjph: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pklpcbacema: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ajdofhncolp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kdpgimoolon {
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub knjmpbhkhcj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub pgmhmpehphp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub jkoolmnhphi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(bool, tag = "9")]
    pub bdefaffdbcc: bool,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub pedflggdhdp: u32,
}
/// Obf: KJIMFIHOAFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7034)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub lkfigbgpejb: u32,
}
/// Obf: CPLFHOFEEIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7096)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGameBingoFlipCardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub knjmpbhkhcj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub bdefaffdbcc: bool,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub total_score: u32,
}
/// Obf: HIAFBJNNCHN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7029)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGameGachaCsReq {}
/// Obf: AIMFGJGOLNG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7063)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGameGachaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub clggklnplck: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nndkliballc {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub jjkpbplagan: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub kpmhgghlohb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgknadednhb {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub kpgneaboecg: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub ahapdfnpicg: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub ghknbioflga: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub olghchmmmia: ::prost::alloc::vec::Vec<Nndkliballc>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub komeomhbcec: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub hdakgbmlkki: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HDLCCMGHJAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7073)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub olghchmmmia: ::prost::alloc::vec::Vec<Nndkliballc>,
}
/// Obf: AJCNPDNBIEM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7012)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyAcceptQuizScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lochfjeeckl: ::core::option::Option<Jgknadednhb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpegncjdbom {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub ahapdfnpicg: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub afhmlgfilfn: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub bllleigdmoi: u32,
}
/// Obf: PBPDPNPJHLE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7053)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyQuizDurationChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Jpegncjdbom>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Loebaoefmdc {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub hcfjijhljdm: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub fnfjocegfbi: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub habhoamcglh: u32,
}
/// Obf: FGDFHJPOHML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7075)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGuessChooseCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub hcfjijhljdm: u32,
}
/// Obf: AIADHAKAAIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7044)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGuessChooseScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hcfjijhljdm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcmhloegfbm {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lcfdopinebo: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub habhoamcglh: u32,
}
/// Obf: ODKIEBABOOC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7018)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGuessDrawScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub khlfdhanjco: ::prost::alloc::vec::Vec<Dcmhloegfbm>,
}
/// Obf: IAFJANHGCLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7049)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMonopolyFriendRankingListCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7015)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mlbdfeobkij {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Baneligflco {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cbilpmicekc: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub mfkhdanpcic: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dbphhpgnmkc {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub npengfbhfjn: ::prost::alloc::vec::Vec<Baneligflco>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njhagkghkjj {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub dbpjbmmgahh: u32,
    /// offset: 48
    #[prost(bool, tag = "2")]
    pub dkjbkelkkfo: bool,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub ifdiiodcflc: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub kdfdfbhkcng: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub oecipjipkeg: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub eekpbpfpnik: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub jdmngbjdlbn: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub hnenmgmgonm: u32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub pkhiadlbddp: u32,
}
/// Obf: EPIHBHLJOJD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7082)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyDailySettleScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub olaonlglajo: ::core::option::Option<Njhagkghkjj>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub icpapcajfkk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gnnglbegikb {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dpgjkahlinh: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gcladekcjcg: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ingkndhecnf {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<Gnnglbegikb>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7094)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bbepmabcbgf {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kdfdfbhkcng: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub heihpapjhid: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub dohomjbjllg: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub uid: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub oecipjipkeg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mmlldkhedcj {}
/// Obf: PBNLNHAAAKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyFriendRankingListScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub bedhekagape: ::prost::alloc::vec::Vec<Bbepmabcbgf>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub ponaokbniam: ::core::option::Option<Bbepmabcbgf>,
}
/// Obf: AABJNDIJDAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7051)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyLikeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub teleport_id: u32,
}
/// Obf: LDJFPALJFEK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7046)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyLikeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub teleport_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: OJLCDCKIMON
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7019)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyLikeScNotify {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dohomjbjllg: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub lpbbjffnaca: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AHAHBBILPOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7028)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMbtiReportCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edgehpfokbh {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cnt: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub acpkaoiiehj: u32,
}
/// Obf: MBKLKIAJPDD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7098)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMbtiReportScRsp {
    /// offset: 49
    #[prost(bool, tag = "1")]
    pub is_taken_reward: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub dmckdigkhlb: ::prost::alloc::vec::Vec<Hknbladlaae>,
    /// offset: 48
    #[prost(bool, tag = "5")]
    pub jmfngfkbifl: bool,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int32, tag = "7")]
    pub khmnanhkinb: i32,
    /// offset: 44
    #[prost(int32, tag = "9")]
    pub cjbldkjdloj: i32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub progress: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub blinemkkeog: ::prost::alloc::vec::Vec<Edgehpfokbh>,
}
/// Obf: LPFNJLAONFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7062)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyEventSelectFriendCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub lpdfmjpfgjh: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub dhllpobklio: bool,
}
/// Obf: JDMGDNEIALG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7066)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyEventSelectFriendScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub nlgnndifggf: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub add_coin: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eohaficjpip {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub add_coin: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub nlgnndifggf: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub cpocelolnhl: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
/// Obf: KHOPJJHMFMC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7055)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolySocialEventEffectScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub okphcflplgh: ::prost::alloc::vec::Vec<Eohaficjpip>,
}
/// Obf: INEBJNDOBGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7016)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSocialEventServerCacheCsReq {}
/// Obf: CAOAINDGCDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7006)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSocialEventServerCacheScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub okphcflplgh: ::prost::alloc::vec::Vec<Eohaficjpip>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7074)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhidmebbkpe {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub cnilhhcdakd: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7057)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gddeakmjoap {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub fhaiobnladg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LGAMHIEPIIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7023)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetRaffleTicketCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pool_id: u32,
}
/// Obf: APIIDMEFDJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7083)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRaffleTicketScRsp {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub pool_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub hdlpekimajb: ::prost::alloc::vec::Vec<Ddhieonliil>,
}
/// Obf: PPNADCDDNNP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7095)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pool_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "9")]
    pub bbpghfjoadi: u64,
}
/// Obf: BCBFOIIENII
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7017)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakeRaffleTicketRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub pool_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub bbpghfjoadi: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: DHOLOGBDGDI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7060)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pool_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "13")]
    pub bbpghfjoadi: u64,
}
/// Obf: PNLLICGHFCA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7090)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyScrachRaffleTicketScRsp {
    /// offset: 32
    #[prost(uint64, tag = "8")]
    pub bbpghfjoadi: u64,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub pool_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: FPPAAKNAEKO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7032)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetRegionProgressCsReq {}
/// Obf: NLBPGICIMJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7070)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetRegionProgressScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub cngmmdkcbnd: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub heihpapjhid: u32,
}
/// Obf: PHKOAOLFBFI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7097)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoCsReq {}
/// Obf: OPHOAKJPGFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7003)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyGetRafflePoolInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub malpphceogb: ::core::option::Option<Bcdifiidpia>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: OELHDNEGGBB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7001)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyTakePhaseRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub iicekepfmjo: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OCLIPJHEAGJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7064)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonopolyTakePhaseRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub iicekepfmjo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward_list: ::core::option::Option<ItemList>,
}
/// Obf: MGHEAIMFOMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7059)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardCsReq {}
/// Obf: HAPCCLFFPNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7009)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMonopolyMbtiReportRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub reward_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ANNMAOPFDAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7079)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMonopolyDailyReportCsReq {}
/// Obf: OMDFLBJFIDM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7007)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMonopolyDailyReportScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub olaonlglajo: ::core::option::Option<Njhagkghkjj>,
}
/// Obf: IJGOCJPBPFJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7087)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyClickCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub map_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ihaomlephom: u32,
}
/// Obf: DBGDANBJNMM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7024)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MonopolyClickCellScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ihaomlephom: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7002)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dnbhklfemlg {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7100)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epaikohmldk {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: IMNPPGALEHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FightGameStateCsReq {}
/// Obf: ABAIDFKODPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGameStateScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub room_ext_info: ::core::option::Option<Offmcodmkdl>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub kaedkfomadj: ::core::option::Option<Bfbhkjljjbj>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1093)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nlopjlcmlen {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1058)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpgigmpbibo {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub fight_token: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub port: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub gate_server_address: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub fgnfdgakkap: u64,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1088)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ihglpglpdff {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1081)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjagfpldcaf {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: HMJOPNLILHK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1086)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightGameStartScNotify {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub dfleoigplnm: ::prost::alloc::vec::Vec<Lmlnnhkjeip>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub kaedkfomadj: ::core::option::Option<Bfbhkjljjbj>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1047)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hffceacmeig {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub kaedkfomadj: ::core::option::Option<Bfbhkjljjbj>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1026)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nenhkmefaec {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub bcakpnchiij: u32,
    /// offset: 24
    #[prost(enumeration = "Nppemmillco", tag = "9")]
    pub reason: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ooahbhodmhg {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub count: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub hbonkleoeei: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub lalgadhlmcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjleildlonn {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub eecijblglng: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub dbinclphefn: ::prost::alloc::vec::Vec<Ooahbhodmhg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dglbofkggll {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub eecijblglng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecoaklbolda {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cbffgfbefmf: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub eecijblglng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Plicooflbib {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub eecijblglng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bckbemgggif {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub eecijblglng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jcnljnelkeo {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub eecijblglng: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjijamhkngo {
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub glejfciomkc: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub eecijblglng: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cjpdgbplfig: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkjhnglhoba {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cjpdgbplfig: u32,
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub glejfciomkc: bool,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub eecijblglng: u32,
}
/// Obf: GNHMFIJAGIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1013)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMatchPlayDataCsReq {
    /// offset: 24
    #[prost(enumeration = "FightGameMode", repeated, tag = "15")]
    pub lcchakbkahl: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnegdoholdn {
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub panel_id: u32,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "14")]
    pub gjnmhilinhc: i32,
    #[prost(oneof = "pnegdoholdn::Aelhflgjmjn", tags = "11, 4, 6, 3")]
    pub aelhflgjmjn: ::core::option::Option<pnegdoholdn::Aelhflgjmjn>,
}
/// Nested message and enum types in `PNEGDOHOLDN`.
pub mod pnegdoholdn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Aelhflgjmjn {
        /// offset: 24
        #[prost(message, tag = "11")]
        Odlonplecjb(super::Pjleildlonn),
        /// offset: 24
        #[prost(message, tag = "4")]
        Ocgclkahgbk(super::Ecoaklbolda),
        /// offset: 24
        #[prost(message, tag = "6")]
        Icnfmliaake(super::Jcnljnelkeo),
        /// offset: 24
        #[prost(message, tag = "3")]
        Gmdckaoegnf(super::Jjijamhkngo),
    }
}
/// Obf: HIEKCDEJNIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1071)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMatchPlayDataRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub jbmeeggolkn: ::prost::alloc::vec::Vec<Pnegdoholdn>,
}
/// Obf: LKOGDPGHEKL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatchPlayDataChangeNtf {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub kmcdhfgjfnj: ::core::option::Option<Pnegdoholdn>,
}
/// Obf: CDLJKKNLHBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1033)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFriendRankingInfoCsReq {
    /// offset: 24
    #[prost(enumeration = "FightGameMode", tag = "15")]
    pub gjnmhilinhc: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dlcjpindiac {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ppoagpgeafh: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    #[prost(oneof = "dlcjpindiac::Kknboacncon", tags = "15, 1, 11, 3")]
    pub kknboacncon: ::core::option::Option<dlcjpindiac::Kknboacncon>,
}
/// Nested message and enum types in `DLCJPINDIAC`.
pub mod dlcjpindiac {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "15")]
        Bjkbademeoe(super::Dglbofkggll),
        /// offset: 24
        #[prost(message, tag = "1")]
        Kcicnnfjeac(super::Plicooflbib),
        /// offset: 24
        #[prost(message, tag = "11")]
        Lenbienefib(super::Bckbemgggif),
        /// offset: 24
        #[prost(message, tag = "3")]
        Onnakpkdlho(super::Gkjhnglhoba),
    }
}
/// Obf: NBNNMNBEJCJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1038)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFriendRankingInfoRsp {
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "11")]
    pub gjnmhilinhc: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub mlphlihfgkg: ::prost::alloc::vec::Vec<Dlcjpindiac>,
}
/// Obf: KGALHFLMAKC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1039)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelfRankChangeNtf {
    /// offset: 32
    #[prost(enumeration = "FightGameMode", tag = "11")]
    pub gjnmhilinhc: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub mlphlihfgkg: ::prost::alloc::vec::Vec<Dlcjpindiac>,
}
/// Obf: FKONEIIILGP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4625)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMultipleDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nglobfbcgbb {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub cllfackfnbo: u32,
}
/// Obf: IPBOFGFMHHC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMultipleDropInfoScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub fafffjgjhhc: ::prost::alloc::vec::Vec<Bmjhaholegh>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub mopagknemod: ::prost::alloc::vec::Vec<Nglobfbcgbb>,
}
/// Obf: DHGOJJOGOKL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4693)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub mopagknemod: ::prost::alloc::vec::Vec<Nglobfbcgbb>,
}
/// Obf: FNOACGHLHGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4658)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gclpbmpohli {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub faoagkppngn: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jmgpfeglcgg: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub panel_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub lfohebcnmdp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmjhaholegh {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub nekconmfffe: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub kfbiodickgc: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub panel_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub total_count: u32,
}
/// Obf: NGNBAKJNPID
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4688)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerReturnMultiDropInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub fafffjgjhhc: ::prost::alloc::vec::Vec<Bmjhaholegh>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub hdliggemokm: ::core::option::Option<Gclpbmpohli>,
}
/// Obf: JDIMGPHOEPL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4681)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultipleDropInfoNotify {
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub jgalogdbcki: ::prost::alloc::vec::Vec<Gclpbmpohli>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub mopagknemod: ::prost::alloc::vec::Vec<Nglobfbcgbb>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub fafffjgjhhc: ::prost::alloc::vec::Vec<Bmjhaholegh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Baefmejjibi {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub ceamlkcmmgd: u32,
    /// offset: 24
    #[prost(enumeration = "Gbaepolffmg", tag = "11")]
    pub pos_index: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fccdkhngiph {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub mldlnlgbmhn: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fjpjfhpnkbh: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub pelhcnilcbp: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub dhiohiopcgp: ::prost::alloc::vec::Vec<Baefmejjibi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fgfjnanbjji {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub clllemmkdmb: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub is_finish: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kpcnnoggido {
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub kfgldlfbffb: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub clpaafffbkk: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub mjokdhmjbeh: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub mglekdeajbb: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub mlbmdlbkeem: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub cbefdhffnln: ::prost::alloc::vec::Vec<Fgfjnanbjji>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fehhkdiiena {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub ceamlkcmmgd: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pikepjndjpe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ffeehebblci {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub pkdandjfaon: u32,
    /// offset: 40
    #[prost(enumeration = "MuseumRandomEventState", tag = "3")]
    pub state: i32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub omilgfhkgbc: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub jjbkggdagim: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub jgpiofgpbge: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub dahomkdlegi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cdnpkgokepk {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub mnbmdlbdcbb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub elaeneobajd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub pmiffbhoooo: ::prost::alloc::vec::Vec<Ffeehebblci>,
}
/// Obf: NNKJBOKLHAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4325)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetMuseumInfoCsReq {}
/// Obf: IKADIECNGND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4378)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetMuseumInfoScRsp {
    /// offset: 92
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    /// offset: 64
    #[prost(message, optional, tag = "2")]
    pub target: ::core::option::Option<Kpcnnoggido>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub bilnkfbkobc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub cur_fund: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub onjeomgpglj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "6")]
    pub nehfebhdgik: u32,
    /// offset: 48
    #[prost(message, optional, tag = "7")]
    pub pkjchldhkbl: ::core::option::Option<Cdnpkgokepk>,
    /// offset: 100
    #[prost(uint32, tag = "8")]
    pub oncbjhbkblb: u32,
    /// offset: 96
    #[prost(uint32, tag = "9")]
    pub kaadgpolien: u32,
    /// offset: 80
    #[prost(uint32, tag = "11")]
    pub ekgpinkbled: u32,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 88
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "14")]
    pub area_list: ::prost::alloc::vec::Vec<Fccdkhngiph>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub dhiohiopcgp: ::prost::alloc::vec::Vec<Fehhkdiiena>,
}
/// Obf: FOOHBPABPNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4393)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyNpcStuffCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub ceamlkcmmgd: u32,
}
/// Obf: BBNNCAIJLKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4358)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyNpcStuffScRsp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub ceamlkcmmgd: u32,
}
/// Obf: HIJBMFLHGEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4388)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetStuffToAreaCsReq {
    /// offset: 28
    #[prost(enumeration = "Gbaepolffmg", tag = "6")]
    pub pos_index: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pikepjndjpe: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ceamlkcmmgd: u32,
}
/// Obf: JCKHEKIFHLO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4381)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetStuffToAreaScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pikepjndjpe: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub ceamlkcmmgd: u32,
    /// offset: 32
    #[prost(enumeration = "Gbaepolffmg", tag = "13")]
    pub pos_index: i32,
}
/// Obf: IMAAMKJIHNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4386)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoveStuffFromAreaCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ceamlkcmmgd: u32,
}
/// Obf: CHCPOJDPPJL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4347)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RemoveStuffFromAreaScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ceamlkcmmgd: u32,
}
/// Obf: GGILOAPIPBF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4326)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncGetStuffScNotify {
    /// offset: 24
    #[prost(enumeration = "GetStuffType", tag = "3")]
    pub bapbmhchcic: i32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ceamlkcmmgd: u32,
}
/// Obf: FEDOFFJODEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4313)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncGetExhibitScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub mmnbpcgionf: u32,
}
/// Obf: HFIFAFEEAHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4371)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishCurTurnCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub idfangelpee: u32,
}
/// Obf: CHIBEKJIAMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4340)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishCurTurnScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: DOIJKIKLBEG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4333)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAreaCsReq {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: EIBGMKIJNDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4338)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAreaScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
}
/// Obf: AIENHIHMJDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4339)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAreaStatCsReq {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 32
    #[prost(enumeration = "StatType", tag = "13")]
    pub gnbkdchldgl: i32,
}
/// Obf: EAINGAEAJIN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4304)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpgradeAreaStatScRsp {
    /// offset: 28
    #[prost(enumeration = "StatType", tag = "1")]
    pub gnbkdchldgl: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Obf: EJLFOBMAPEJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4311)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncMuseumInfoChangedScNotify {
    /// offset: 76
    #[prost(uint32, tag = "1")]
    pub exp: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub cur_fund: u32,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub target: ::core::option::Option<Kpcnnoggido>,
    /// offset: 72
    #[prost(uint32, tag = "5")]
    pub ekgpinkbled: u32,
    /// offset: 96
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 92
    #[prost(uint32, tag = "7")]
    pub kaadgpolien: u32,
    /// offset: 64
    #[prost(uint32, repeated, tag = "8")]
    pub onjeomgpglj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub area_list: ::prost::alloc::vec::Vec<Fccdkhngiph>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "10")]
    pub bilnkfbkobc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub dhiohiopcgp: ::prost::alloc::vec::Vec<Fehhkdiiena>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub pkjchldhkbl: ::core::option::Option<Cdnpkgokepk>,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub nehfebhdgik: u32,
    /// offset: 84
    #[prost(uint32, tag = "14")]
    pub oncbjhbkblb: u32,
}
/// Obf: HIEMNHKDOJE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4348)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncMuseumRandomEventStartScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub info: ::core::option::Option<Ffeehebblci>,
}
/// Obf: BKCPHOMPACI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4345)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MuseumRandomEventQueryCsReq {}
/// Obf: PJKFNOJHHHJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4369)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MuseumRandomEventQueryScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub info: ::core::option::Option<Cdnpkgokepk>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: MLBLCNIPBFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4365)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MuseumRandomEventSelectCsReq {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub event_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub jgpiofgpbge: u32,
}
/// Obf: MGPKJCKKCBI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4330)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MuseumRandomEventSelectScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub event_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub jgpiofgpbge: u32,
}
/// Obf: OPLMCLODKAJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4336)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncMuseumFundsChangedScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cur_fund: u32,
}
/// Obf: AGFENBLCABB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4372)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncMuseumTargetStartNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kfgldlfbffb: u32,
}
/// Obf: LICMNPOKCMB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4380)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncMuseumTargetMissionFinishNotify {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub maompidomij: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub clllemmkdmb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub kfgldlfbffb: u32,
}
/// Obf: BDDMKOIHCPK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4384)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncMuseumTargetRewardNotify {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub kfgldlfbffb: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
/// Obf: CHMJIHDLDEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4321)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeCollectRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_id: u32,
}
/// Obf: JDMPHALCCKE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4305)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCollectRewardRsp {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub item_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmLevel {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub unlock_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub level_id: u32,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub full_combo: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmGroup {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub bbinfdhmgii: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub music_group_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub music_group_phase: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub eohmncboalc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: EGOPMFJBPMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7579)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmDataCsReq {}
/// Obf: NANCKMNBPCB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7595)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MusicRhythmDataScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub unlock_track_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(bool, tag = "2")]
    pub show_hint: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "4")]
    pub level_data_list: ::prost::alloc::vec::Vec<MusicRhythmLevel>,
    /// offset: 48
    #[prost(message, repeated, tag = "5")]
    pub music_group: ::prost::alloc::vec::Vec<MusicRhythmGroup>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub cur_song_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub unlock_phase_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub cur_level_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub unlock_song_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NGHAHHMDHJB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7588)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmStartLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level_id: u32,
}
/// Obf: IBPLDFOPIFJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7574)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmStartLevelScRsp {
    /// offset: 16
    #[prost(string, tag = "6")]
    pub trans_no: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub level_id: u32,
}
/// Obf: JPOHGNLDCMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7575)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmFinishLevelCsReq {
    /// offset: 32
    #[prost(bool, tag = "4")]
    pub full_combo: bool,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub role_star: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub score_id: u32,
}
/// Obf: OOIGMDLPHOD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7592)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmFinishLevelScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub level_id: u32,
}
/// Obf: PEMJOICNGMM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7577)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmUnlockTrackScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub pfhnonknhac: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KDJCAKMNDMI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7599)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub benafnhlceo: ::core::option::Option<MusicRhythmGroup>,
}
/// Obf: HHLNMCEJIDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7591)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmSaveSongConfigDataScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub efeglaoajda: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub cur_song_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7582)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmUnlockSongNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub phchfkmhdma: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7590)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmMaxDifficultyLevelsUnlockNotify {}
/// Obf: DECBOGPHHLN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7585)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct MusicRhythmUnlockSongSfxScNotify {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub phchfkmhdma: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OfferingInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OfferingInfo {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub level_exp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub has_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "OfferingState", tag = "4")]
    pub offering_state: i32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub offering_level: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub total_exp: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub offering_id: u32,
}
/// Obf: GDKCEFMKPOB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6938)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetOfferingInfoCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub offering_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AMFCIFOOKNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6928)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetOfferingInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub offering_info_list: ::prost::alloc::vec::Vec<OfferingInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: COAKAAHCAJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6923)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubmitOfferingItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub offering_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: LDGBPNABNKL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6932)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SubmitOfferingItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub offering_info: ::core::option::Option<OfferingInfo>,
}
/// Obf: OLFFBCHOLMN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6922)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeOfferingRewardCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub offering_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub take_reward_level_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: FBBGFEKMMIJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6937)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeOfferingRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub offering_info: ::core::option::Option<OfferingInfo>,
}
/// Obf: KAFLJMENFBA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6925)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OfferingInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub offering_info: ::core::option::Option<OfferingInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AcceptedPamMissionExpireCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub main_mission_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4078)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AcceptedPamMissionExpireScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: CLLPLCICDOB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4093)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncAcceptedPamMissionNotify {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub main_mission_id: u32,
    /// offset: 24
    #[prost(uint64, tag = "13")]
    pub expire_time: u64,
}
/// Obf: NCHNMOMFEFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8138)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPamSkinDataCsReq {}
/// Obf: FCFKMMCAFKA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8128)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPamSkinDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub unlock_skin_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub cur_skin: u32,
}
/// Obf: MGNHCFALBAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8123)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPamSkinCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pam_skin: u32,
}
/// Obf: BDJOLGFOHLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8132)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPamSkinScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub set_skin: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub cur_skin: u32,
}
/// Obf: GDEKLGACBCM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8122)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockPamSkinScNotify {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pam_skin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Badoonpcdlo {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub ajgolakngpa: bool,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub level_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub time: u32,
}
/// Obf: JNIAPEEOKJN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8398)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParkourGetDataCsReq {}
/// Obf: KKKCJLHIGKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8388)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub cgipfmldpna: ::prost::alloc::vec::Vec<Badoonpcdlo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hanmclkocbo {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub time: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub ljjgfipldli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Coimbcbmnie {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub bedhekagape: ::prost::alloc::vec::Vec<Hanmclkocbo>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: CLOIKIFPAJC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8383)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParkourGetRankingInfoCsReq {}
/// Obf: KIAGIOBGGNK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8392)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourGetRankingInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub lgfnfabaaga: ::core::option::Option<Coimbcbmnie>,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub jnmfkjhcoeg: ::prost::alloc::vec::Vec<Coimbcbmnie>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: HJELNANIFIE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8382)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParkourStartLevelCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cekkjhbneod: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub level_id: u32,
}
/// Obf: FLAIJDHDEBI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8397)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParkourStartLevelScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub level_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub cekkjhbneod: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abebeokfkff {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub cnt: u32,
    /// offset: 28
    #[prost(enumeration = "Ejeghjpampi", tag = "12")]
    pub r#type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bdeolcnpbpp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub cnt: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oiheiidjoli {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub oecocopooho: ::prost::alloc::vec::Vec<Bdeolcnpbpp>,
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub fpidongekfo: u32,
    /// offset: 68
    #[prost(uint32, tag = "3")]
    pub mgpmdjommok: u32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub bappkhbkoag: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub ncmmfcjgdka: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub dhjealpgpjk: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub gcafhjiamil: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub gbolmeoheob: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub gomfpkdiika: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub ploembocige: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub gphniogicjp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ijjfbfpcbci {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ieojfkhkbep: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub kbfhflodgia: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub icbkcjkhnbp: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub blefgkagden: u32,
}
/// Obf: BLFMKDAGCFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8385)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParkourEndLevelCsReq {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub time: u32,
    /// offset: 56
    #[prost(enumeration = "Ohfeckkadek", tag = "2")]
    pub end_reason: i32,
    /// offset: 60
    #[prost(uint32, tag = "3")]
    pub total_time: u32,
    /// offset: 72
    #[prost(uint32, tag = "4")]
    pub kmgmfcjiapi: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub rank: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub pkmaffmmmae: ::core::option::Option<Oiheiidjoli>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub cekkjhbneod: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub level_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub idljkfokbjd: ::prost::alloc::vec::Vec<Abebeokfkff>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub fenplcndkbj: ::prost::alloc::vec::Vec<Ijjfbfpcbci>,
}
/// Obf: EJNFAIOPNEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8384)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ParkourEndLevelScRsp {
    /// offset: 40
    #[prost(enumeration = "Ohfeckkadek", tag = "1")]
    pub end_reason: i32,
    /// offset: 36
    #[prost(bool, tag = "2")]
    pub adjlgnbjaoc: bool,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub level_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub time: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub enkcceacjkl: ::core::option::Option<Badoonpcdlo>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 37
    #[prost(bool, tag = "10")]
    pub ajgolakngpa: bool,
}
/// Obf: OFKBDMOJBCP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7608)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPetDataCsReq {}
/// Obf: IHFGDIHNHMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7621)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPetDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub unlocked_pet_id: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub cur_pet_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: LHENKFJFGKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7612)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SummonPetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub summoned_pet_id: u32,
}
/// Obf: MPDGMIHGIFG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7607)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SummonPetScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub cur_pet_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub select_pet_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NCLGCOEMLIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7605)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RecallPetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub summoned_pet_id: u32,
}
/// Obf: DJNNFOIKDKF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7609)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RecallPetScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub cur_pet_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub select_pet_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7619)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CurPetChangedScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cur_pet_id: u32,
}
/// Obf: IJCGOCNMJIN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPhoneDataCsReq {}
/// Obf: HNPKMPJPIPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5178)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPhoneDataScRsp {
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub owned_phone_cases: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub cur_phone_theme: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub owned_phone_themes: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub cur_phone_case: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub cur_chat_bubble: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub owned_chat_bubbles: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BPGMIPJINKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5193)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectChatBubbleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub bubble_id: u32,
}
/// Obf: IEIEEEFKLFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5158)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectChatBubbleScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ngjmmmbjfhd: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub cur_chat_bubble: u32,
}
/// Obf: HCNFKLDECJE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5188)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockChatBubbleScNotify {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bubble_id: u32,
}
/// Obf: BJHGBFMIPFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5181)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPhoneThemeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub theme_id: u32,
}
/// Obf: PGNEMAJPKND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5186)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPhoneThemeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub cur_phone_theme: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub nnohelhpjom: u32,
}
/// Obf: HMOEGOMDNAA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5147)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockPhoneThemeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub theme_id: u32,
}
/// Obf: MEGMIKNHDPO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5126)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPhoneCaseCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub phone_case_id: u32,
}
/// Obf: IMOOBICJGGE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5113)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectPhoneCaseScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cur_phone_case: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub namphkpioba: u32,
}
/// Obf: CIGKGOOHGAG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5171)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockPhoneCaseScNotify {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub phone_case_id: u32,
}
/// Obf: OFNMDDJOJEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9779)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PixAirGetDataCsReq {}
/// Obf: IOAFKPDEIEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9793)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirGetDataScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub ieigedabkad: ::core::option::Option<Nmachafcgni>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "5")]
    pub pgmijbogikn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub jcobjampoal: ::core::option::Option<Najfnkieedm>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub opojigchgdo: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nmachafcgni {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub aljnihnlnma: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub basic: ::core::option::Option<Idjalkegpli>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub mfpoknmfngm: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub stage_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Najfnkieedm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub blhjipbhhfo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgnahhfbmmn {
    /// offset: 48
    #[prost(message, optional, tag = "1")]
    pub jgemnolfnie: ::core::option::Option<Lhjdeolkhkb>,
    /// offset: 64
    #[prost(message, optional, tag = "2")]
    pub basic: ::core::option::Option<Idjalkegpli>,
    /// offset: 80
    #[prost(uint32, tag = "3")]
    pub ajhdcegigmc: u32,
    /// offset: 92
    #[prost(uint32, tag = "4")]
    pub mfpoknmfngm: u32,
    /// offset: 84
    #[prost(uint32, tag = "5")]
    pub gjlddmiiilf: u32,
    /// offset: 88
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub switch_list: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 16
    #[prost(string, tag = "9")]
    pub trans_no: ::prost::alloc::string::String,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub aljnihnlnma: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub fmigokidkjl: ::core::option::Option<Ffkhfdjfagm>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub ngnjhmeohbd: ::core::option::Option<Bmoipalhbjn>,
    /// offset: 72
    #[prost(uint32, tag = "15")]
    pub paeakccacop: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idjalkegpli {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub dcjdcpmkepn: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhjdeolkhkb {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub dppjilkljag: ::prost::alloc::vec::Vec<Jpebedhmnla>,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub mkjecbomhpp: ::prost::alloc::vec::Vec<Jpebedhmnla>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub slot_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jpebedhmnla {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub unique_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub pos_index: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub grid_fight_equipment_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ccbiiddbfgk: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcinpdaaeln {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<Jpebedhmnla>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bmoipalhbjn {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<Njhfbddhcen>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub jomdkginnek: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub aaiodnclaip: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nnffghjkpjd {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub jomdkginnek: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub aaiodnclaip: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub ogdkjpdffai: ::prost::alloc::vec::Vec<Njhfbddhcen>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Njhfbddhcen {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub lhgifdnpide: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub grid_fight_equipment_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eifbmcgpnmg {
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "7")]
    pub eopncamiljf: ::std::collections::HashMap<u32, u32>,
}
/// Obf: INOEJKDIMKO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9807)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Klbpbdlhkbg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Klbpbdlhkbg {
    /// offset: 36
    #[prost(enumeration = "Jdhjmnagiia", tag = "5")]
    pub source_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub bneflbpcpoi: u32,
    #[prost(
        oneof = "klbpbdlhkbg::Mmcgbgdjipn",
        tags = "14, 7, 2, 9, 12, 13, 347, 164, 730, 257"
    )]
    pub mmcgbgdjipn: ::core::option::Option<klbpbdlhkbg::Mmcgbgdjipn>,
}
/// Nested message and enum types in `KLBPBDLHKBG`.
pub mod klbpbdlhkbg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "14")]
        Fmigokidkjl(super::Ffkhfdjfagm),
        /// offset: 16
        #[prost(message, tag = "7")]
        Ianbcdjpdjf(super::Nbkkabhmmpp),
        /// offset: 16
        #[prost(message, tag = "2")]
        Ekefdiephee(super::Gcinpdaaeln),
        /// offset: 16
        #[prost(uint32, tag = "9")]
        Fkiafjbmapi(u32),
        /// offset: 16
        #[prost(message, tag = "12")]
        Jkpinlkeook(super::Imagfgihljc),
        /// offset: 16
        #[prost(message, tag = "13")]
        Dlohbpgemff(super::Eifbmcgpnmg),
        /// offset: 16
        #[prost(message, tag = "347")]
        Kjhmpboigge(super::Nnffghjkpjd),
        /// offset: 16
        #[prost(uint32, tag = "164")]
        Joinhcdhnnl(u32),
        /// offset: 16
        #[prost(uint32, tag = "730")]
        Pmfbiglpjja(u32),
        /// offset: 16
        #[prost(uint32, tag = "257")]
        Oekkeimgbno(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Imagfgihljc {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cdmfhngefcn: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ajhdcegigmc: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub area_id: u32,
}
/// Obf: GHMOAPECAPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9814)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PixAirStartStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub emmghdlipoh: bool,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub aljnihnlnma: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
}
/// Obf: OMPGJHBEJAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9789)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirStartStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "9")]
    pub emmghdlipoh: bool,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub stage_info: ::core::option::Option<Hgnahhfbmmn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbkkabhmmpp {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub njpmpaagccd: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub alofcolhaga: u32,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub gmlcjeoochj: u32,
    /// offset: 44
    #[prost(enumeration = "Gjighknmilj", tag = "11")]
    pub reason: i32,
    /// offset: 48
    #[prost(uint32, tag = "223")]
    pub oacblhiiieh: u32,
    /// offset: 32
    #[prost(uint32, tag = "555")]
    pub hgbhclhcgbb: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9818)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lifdllpaakf {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9773)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bfhpblanikg {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: BFMGLOCNHMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9777)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PixAirReenterStageCsReq {}
/// Obf: GBMIHCDKOKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9780)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirReenterStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub stage_info: ::core::option::Option<Hgnahhfbmmn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Epadpabcfgh {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub pos_index: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub iaahnofkngn: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub unique_id: u32,
}
/// Obf: DFOAHLEOOIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9790)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirSwapEquipCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub mjlgnpmnmop: ::prost::alloc::vec::Vec<Epadpabcfgh>,
}
/// Obf: LABAJFDICMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9787)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PixAirSwapEquipScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub mjlgnpmnmop: ::prost::alloc::vec::Vec<Epadpabcfgh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9799)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilbjggehaek {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9803)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fciblhjdpid {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9776)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nbbinllongi {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cdciopbfkgb: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9772)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpekdmbcaei {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9784)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iaopgeafecl {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9805)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekmnfjipcmi {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffkhfdjfagm {
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub queue_position: u32,
    #[prost(
        oneof = "ffkhfdjfagm::Mmcgbgdjipn",
        tags = "2, 10, 15, 14, 9, 13, 783, 1021"
    )]
    pub mmcgbgdjipn: ::core::option::Option<ffkhfdjfagm::Mmcgbgdjipn>,
}
/// Nested message and enum types in `FFKHFDJFAGM`.
pub mod ffkhfdjfagm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "2")]
        Bacbkgjjoga(super::Ckicdpijimf),
        /// offset: 16
        #[prost(message, tag = "10")]
        Ibifhoipage(super::Pkphooggpol),
        /// offset: 16
        #[prost(message, tag = "15")]
        Mofniojhbbl(super::Fjgmggiglpd),
        /// offset: 16
        #[prost(message, tag = "14")]
        Ipkgiijepaj(super::Kaajekkidie),
        /// offset: 16
        #[prost(message, tag = "9")]
        Jfgimdgombh(super::Allfgcialij),
        /// offset: 16
        #[prost(message, tag = "13")]
        Oooaclefdgm(super::Epbfaahfdnf),
        /// offset: 16
        #[prost(message, tag = "783")]
        Admicngjloi(super::Hieacfoemce),
        /// offset: 16
        #[prost(message, tag = "1021")]
        Aoemgefgifg(super::Ccpcaigebcb),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9791)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iifhchdpkia {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub queue_position: u32,
    #[prost(oneof = "iifhchdpkia::Mmcgbgdjipn", tags = "4, 8, 13, 15, 14, 11, 508, 713")]
    pub mmcgbgdjipn: ::core::option::Option<iifhchdpkia::Mmcgbgdjipn>,
}
/// Nested message and enum types in `IIFHCHDPKIA`.
pub mod iifhchdpkia {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "4")]
        Dhjnfokbpnc(super::Agbpbaoccjf),
        /// offset: 16
        #[prost(message, tag = "8")]
        Jeiodbpcknb(super::Ohpmdjfalnh),
        /// offset: 16
        #[prost(message, tag = "13")]
        Mofniojhbbl(super::Mojcejippgo),
        /// offset: 16
        #[prost(message, tag = "15")]
        Ipkgiijepaj(super::Aeggfgbnlpe),
        /// offset: 16
        #[prost(message, tag = "14")]
        Jfgimdgombh(super::Ljgkogkedoa),
        /// offset: 16
        #[prost(message, tag = "11")]
        Oooaclefdgm(super::Hldljbfimoo),
        /// offset: 16
        #[prost(message, tag = "508")]
        Admicngjloi(super::Gangpoohaki),
        /// offset: 16
        #[prost(message, tag = "713")]
        Aoemgefgifg(super::Gdndbhgjblf),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9794)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Henhaifodig {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckicdpijimf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub battle_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Agbpbaoccjf {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjgmggiglpd {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mojcejippgo {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aopodahbpfh {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub content_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub content_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkphooggpol {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub message_datas: ::prost::alloc::vec::Vec<Aopodahbpfh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohpmdjfalnh {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub content_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emheojncgfh {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub grid_fight_equipment_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kaajekkidie {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub equip: ::core::option::Option<Emheojncgfh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aeggfgbnlpe {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub foggejiijcm: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Allfgcialij {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub jnbialmkfcl: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub grid_fight_equipment_list: ::prost::alloc::vec::Vec<Emheojncgfh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljgkogkedoa {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ojeihpeijco: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mgcpepbpmng {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub content_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epbfaahfdnf {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub kfnmiembjgd: ::prost::alloc::vec::Vec<Mgcpepbpmng>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hldljbfimoo {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hieacfoemce {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub hicejejnole: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gangpoohaki {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pebcblblmph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ccpcaigebcb {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ccbiiddbfgk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gdndbhgjblf {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pebcblblmph: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gbmahpjpglm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ckhclkoalke: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9783)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gncjnhiokdl {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub ckhclkoalke: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    #[prost(oneof = "gncjnhiokdl::Pgniencdoda", tags = "1, 9, 3")]
    pub pgniencdoda: ::core::option::Option<gncjnhiokdl::Pgniencdoda>,
}
/// Nested message and enum types in `GNCJNHIOKDL`.
pub mod gncjnhiokdl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Pgniencdoda {
        /// offset: 16
        #[prost(uint32, tag = "1")]
        Echfgjhhgog(u32),
        /// offset: 16
        #[prost(uint32, tag = "9")]
        Ndedllmefbj(u32),
        /// offset: 16
        #[prost(message, tag = "3")]
        Cjkeimbcmep(super::Kvp),
    }
}
/// Obf: NIAFAFFMEMM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9778)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PixAirUnlockPlaneCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub plane_id: u32,
}
/// Obf: GIHJNDBDJJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PixAirUnlockPlaneScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub plane_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9813)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knhfdinijol {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9810)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekjmijbiiho {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JMAHAKPLAAD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8209)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPlanetFesDataCsReq {}
/// Obf: MNNDMCHALGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8223)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlanetFesDataScRsp {
    /// offset: 80
    #[prost(message, optional, tag = "1")]
    pub bbekbjphejk: ::core::option::Option<Ppaielakijd>,
    /// offset: 88
    #[prost(message, repeated, tag = "2")]
    pub custom_value_list: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 56
    #[prost(message, optional, tag = "3")]
    pub feoonkklcha: ::core::option::Option<Plofkjdkepn>,
    /// offset: 64
    #[prost(message, optional, tag = "5")]
    pub coggjelnfcn: ::core::option::Option<Phcpoihapgp>,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lcpedlcomfe: ::core::option::Option<Obehbnoclmm>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub ccfgccmefci: ::core::option::Option<Nollhkimdoc>,
    /// offset: 96
    #[prost(message, optional, tag = "9")]
    pub njfggoomgcd: ::core::option::Option<Kcmjjljchhp>,
    /// offset: 104
    #[prost(message, optional, tag = "10")]
    pub opjljopbgoj: ::core::option::Option<Chbcjnlolmb>,
    /// offset: 112
    #[prost(message, optional, tag = "11")]
    pub oeibhlmdjka: ::core::option::Option<Bldihadjkjf>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub skill_info: ::core::option::Option<Bagaoalhaji>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub iekdojdpmeb: ::core::option::Option<Jmbnhafhihm>,
    /// offset: 120
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 72
    #[prost(message, optional, tag = "15")]
    pub ochnmgmdhme: ::core::option::Option<Kneckdaokoa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ncfkhdikcni {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BPDMBMPFPEB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8237)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesSyncChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Lejnbblnndm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Obebkodgodb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub empdmdndlhe: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub epfhbgngbbk: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub bneflbpcpoi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lejnbblnndm {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub source: ::core::option::Option<Obebkodgodb>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub detail: ::core::option::Option<Epkgfjdjmhm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Daggfioghge {
    /// offset: 48
    #[prost(int64, tag = "1")]
    pub mghnnenoogb: i64,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub gamncjjjpen: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub fnabejnjbkn: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub ejpendjnlih: ::core::option::Option<Ncfkhdikcni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jmbnhafhihm {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub goijoochjdp: ::prost::alloc::vec::Vec<Daggfioghge>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cphoiphapdj {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub role_star: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub pleembmpica: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Phcpoihapgp {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub avatar_list: ::prost::alloc::vec::Vec<Cphoiphapdj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fmkmefmojgj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub item_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kneckdaokoa {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub item_value: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub gjplommebgm: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub item_list: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Chbcjnlolmb {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub ldcjonhgdan: ::prost::alloc::vec::Vec<Kicpdgkggho>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kicpdgkggho {
    /// offset: 40
    #[prost(uint64, tag = "2")]
    pub unique_id: u64,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub config_id: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub kabjohkoefn: ::prost::alloc::vec::Vec<Iedambickbb>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub source: ::core::option::Option<Obebkodgodb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iedambickbb {
    #[prost(oneof = "iedambickbb::Kknboacncon", tags = "9")]
    pub kknboacncon: ::core::option::Option<iedambickbb::Kknboacncon>,
}
/// Nested message and enum types in `IEDAMBICKBB`.
pub mod iedambickbb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(int64, tag = "9")]
        Khcgomajdgl(i64),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhacffjiphk {
    /// offset: 40
    #[prost(enumeration = "PlanetFesQuestState", tag = "5")]
    pub status: i32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dpchgmmcknn: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub quest_id: u32,
    #[prost(oneof = "jhacffjiphk::Jcphpahkpdd", tags = "2, 15")]
    pub jcphpahkpdd: ::core::option::Option<jhacffjiphk::Jcphpahkpdd>,
}
/// Nested message and enum types in `JHACFFJIPHK`.
pub mod jhacffjiphk {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Jcphpahkpdd {
        /// offset: 24
        #[prost(uint32, tag = "2")]
        Mcnlmnokaff(u32),
        /// offset: 24
        #[prost(message, tag = "15")]
        Knocpajcpjc(super::Ncfkhdikcni),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pconbogedfd {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pkciadaeicg: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub edbpmkphldk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plofkjdkepn {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub quest_list: ::prost::alloc::vec::Vec<Jhacffjiphk>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub dfbgaoajlic: ::core::option::Option<Pconbogedfd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bldihadjkjf {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub nnjcnemgeaj: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub jkagcgkchjg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbonefmpkko {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mmfgajncaoa: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub progress: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ppaielakijd {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub bjnohkfonfp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub kfofakdpgjc: ::prost::alloc::vec::Vec<Hbonefmpkko>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekeobmokefd {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bagaoalhaji {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub skill_list: ::prost::alloc::vec::Vec<Ekeobmokefd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Obehbnoclmm {
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub hpmnikjgbpd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub cngmmdkcbnd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nollhkimdoc {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub gldgchldmje: i64,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub joadljidgnd: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ijmhpoepilg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Epkgfjdjmhm {
    #[prost(
        oneof = "epkgfjdjmhm::Kknboacncon",
        tags = "5, 9, 4, 3, 10, 8, 13, 1, 15, 7, 2, 11, 14, 6, 12, 974, 959, 981, 801, 1451, 1173, 373, 139, 1437, 1619, 723, 899, 963"
    )]
    pub kknboacncon: ::core::option::Option<epkgfjdjmhm::Kknboacncon>,
}
/// Nested message and enum types in `EPKGFJDJMHM`.
pub mod epkgfjdjmhm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "5")]
        Fkfplmflnpi(super::Bejopehpabo),
        /// offset: 24
        #[prost(message, tag = "9")]
        Hfcppgppmpb(super::Bejopehpabo),
        /// offset: 24
        #[prost(message, tag = "4")]
        Lmoleldikma(super::Ihhoneljhjg),
        /// offset: 24
        #[prost(message, tag = "3")]
        Jcjlaaflghc(super::Ihhoneljhjg),
        /// offset: 24
        #[prost(message, tag = "10")]
        Dlnegfmncpi(super::Daggfioghge),
        /// offset: 24
        #[prost(message, tag = "8")]
        Jlhjhfmmapg(super::Daggfioghge),
        /// offset: 24
        #[prost(message, tag = "13")]
        Lpghoglgekh(super::Cphoiphapdj),
        /// offset: 24
        #[prost(message, tag = "1")]
        Bfpnbepppll(super::Cphoiphapdj),
        /// offset: 24
        #[prost(message, tag = "15")]
        Kmknpaladdc(super::Kicpdgkggho),
        /// offset: 24
        #[prost(message, tag = "7")]
        Elmmnhbecni(super::Kicpdgkggho),
        /// offset: 24
        #[prost(message, tag = "2")]
        Fbmjjgfjfma(super::Aaimicllcke),
        /// offset: 24
        #[prost(message, tag = "11")]
        Npndmlgfefi(super::Jhacffjiphk),
        /// offset: 24
        #[prost(message, tag = "14")]
        Lihdhbnhdkm(super::Jhacffjiphk),
        /// offset: 24
        #[prost(message, tag = "6")]
        Mdfjjfcdlck(super::Pconbogedfd),
        /// offset: 24
        #[prost(message, tag = "12")]
        Konhpicielo(super::PlanetFesUnlockChange),
        /// offset: 24
        #[prost(message, tag = "974")]
        Lnpgimbemoe(super::Ekeobmokefd),
        /// offset: 24
        #[prost(message, tag = "959")]
        Hggbfceflko(super::Imhojpdmoji),
        /// offset: 24
        #[prost(message, tag = "981")]
        Odohjnabbam(super::Ecidgebfjhp),
        /// offset: 24
        #[prost(message, tag = "801")]
        Jdleefdfjga(super::Pemcofdfcac),
        /// offset: 24
        #[prost(message, tag = "1451")]
        Cgmbbdhdmeo(super::Mcchabopefj),
        /// offset: 24
        #[prost(message, tag = "1173")]
        Kghojjkncbp(super::Hgjhbcbione),
        /// offset: 24
        #[prost(message, tag = "373")]
        Bpkmbmpjaon(super::Canocbhnhlj),
        /// offset: 24
        #[prost(message, tag = "139")]
        Eopiljcmlla(super::Kicpdgkggho),
        /// offset: 24
        #[prost(message, tag = "1437")]
        Kmcjfdedeaa(super::Flcjmpndmmh),
        /// offset: 24
        #[prost(message, tag = "1619")]
        Dbdliipgeoe(super::Gmodjeecppj),
        /// offset: 24
        #[prost(message, tag = "723")]
        Jogcfkgjmjb(super::Iedpddjaaih),
        /// offset: 24
        #[prost(message, tag = "899")]
        Kjoaeegigdi(super::Maoinjajoec),
        /// offset: 24
        #[prost(message, tag = "963")]
        Oahocfkemcm(super::Dfephmalkdk),
    }
}
/// Obf: BFAKCFDPNFM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesUnlockChange {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bbekbjphejk: ::core::option::Option<Hbonefmpkko>,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aaimicllcke {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub nnjcnemgeaj: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub jkagcgkchjg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bejopehpabo {
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub hfnnnghbhgg: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub hmciedenfmk: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub lgbojjfegfi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, optional, tag = "14")]
    pub dcpdnbaldoa: ::core::option::Option<Ncfkhdikcni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ihhoneljhjg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dcpdnbaldoa: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub hfnnnghbhgg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Imhojpdmoji {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub hbjijhhmego: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glecncobkcj {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub lkbhaflmola: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub pkjhfpfoabl: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub nfdjocbmlci: ::core::option::Option<Ncfkhdikcni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flcjmpndmmh {
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub hbmgkjaapfi: u32,
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub bfeoojbnfbg: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 68
    #[prost(uint32, tag = "4")]
    pub magbfeheooi: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub fihppanoofl: ::prost::alloc::vec::Vec<Glecncobkcj>,
    /// offset: 80
    #[prost(uint32, tag = "7")]
    pub nfcmaeigkhk: u32,
    /// offset: 64
    #[prost(uint32, tag = "10")]
    pub bpbadpaacol: u32,
    /// offset: 72
    #[prost(uint32, tag = "12")]
    pub laaapjaikaf: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub fdgkboiehbd: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "14")]
    pub odicaocljko: ::std::collections::HashMap<u32, u32>,
    /// offset: 56
    #[prost(message, optional, tag = "15")]
    pub fhgfekeajff: ::core::option::Option<Ncfkhdikcni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecidgebfjhp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub bolcngakamg: ::core::option::Option<Plpdnknjbaa>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mcchabopefj {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub ghkfkgmohdo: ::core::option::Option<Mofknbakkdi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pemcofdfcac {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub efojbkpjlio: ::core::option::Option<Ncfkhdikcni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgjhbcbione {
    /// offset: 32
    #[prost(enumeration = "Gjjeoaneddo", tag = "3")]
    pub gmkicmimaab: i32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Canocbhnhlj {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cngmmdkcbnd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aimnhehkimi {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub djmpadmmpan: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub afohlioklaa: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub oaeficolfig: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub bagmmoniigk: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub hmhedccldgb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ikmlljnnkjb {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub item_list: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub transfer_item_list: ::prost::alloc::vec::Vec<Aimnhehkimi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ipmldnlacfo {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub item: ::core::option::Option<Fmkmefmojgj>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub pienfncgfmb: ::core::option::Option<Aimnhehkimi>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8244)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gomidgnoenh {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub fnabejnjbkn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8219)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dhhfamdcdpk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phfgdcmbdba {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub fnabejnjbkn: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8248)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pofdbdhojng {
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub nemfnenacnb: ::prost::alloc::vec::Vec<Phfgdcmbdba>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8203)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecjciapbfdj {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8207)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fpmmpgaogch {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fnabejnjbkn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8210)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Loffnnnidmm {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8221)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oleniplhipi {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub is_active: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8224)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ihhbdejocgi {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8220)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Moolkfodkik {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8217)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nlagkojkhcn {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub galbolnodbb: ::core::option::Option<Ncfkhdikcni>,
}
/// Obf: IMPNLCOOGGD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8229)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesDoGachaCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub gacha_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub gacha_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub simulate_magic: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekpbgmkjgdl {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub mgbcapiiklm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub hlbcfjllkbl: ::core::option::Option<Ipmldnlacfo>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub bemdnemabcc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nghcojcmjok {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub hainmhkiomj: ::prost::alloc::vec::Vec<Ekpbgmkjgdl>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "9")]
    pub bncojcegbpg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub opoidchimek: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub fajlfdnkfgj: ::prost::alloc::vec::Vec<Ipmldnlacfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ndpjhjoaoje {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub hmmbbenhife: ::core::option::Option<Ikmlljnnkjb>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub epbjnifhble: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OJFBBKAOHAK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8233)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDoGachaScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub gacha_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub lgpdnigjekp: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
    #[prost(oneof = "planet_fes_do_gacha_sc_rsp::Bnjpphjnkhf", tags = "2, 7")]
    pub bnjpphjnkhf: ::core::option::Option<planet_fes_do_gacha_sc_rsp::Bnjpphjnkhf>,
}
/// 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 Bnjpphjnkhf {
        /// offset: 32
        #[prost(message, tag = "2")]
        Ehlpjeljjoo(super::Nghcojcmjok),
        /// offset: 32
        #[prost(message, tag = "7")]
        Ffbdknihnel(super::Ndpjhjoaoje),
    }
}
/// Obf: MOAHEAJFFGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8206)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub igoojkmpmdc: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
/// Obf: IIPDJGEHIIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8202)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesAvatarLevelUpScRsp {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub igoojkmpmdc: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub kpgneaboecg: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: JENABHHEFCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8214)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub quest_id: u32,
}
/// Obf: ECKAIIJPAON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8235)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeQuestRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub quest_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub jmbfmmpaaao: ::core::option::Option<Ikmlljnnkjb>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: IEAMIJBBOMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8242)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesSkillLevelUpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub igoojkmpmdc: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
}
/// Obf: GBPAJNPKPOB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8222)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesSkillLevelUpScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub item_cost: ::core::option::Option<Fmkmefmojgj>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub skill_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub skill_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnmciepebpk {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub item_list: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub item_value: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "13")]
    pub ndmlpigabge: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hcgdliamdla {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub jjgmigbbeoo: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub jadcepfhhdk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mbmagilkfgp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub lebnogamcne: ::prost::alloc::vec::Vec<Hcgdliamdla>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcgjjccjbcg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub hhgahebnail: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub njhapbialcn: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "6")]
    pub mikllooajfe: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub hllibeekfii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bachhbgnena {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cfdiklbinhk: ::core::option::Option<Pgphekkpbld>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub eddbmfmepjk: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub dlfhabgghff: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldomeigdiak {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub nfmhioiflcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nddhjbfebhg {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub clmmhffnkeh: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub nfmhioiflcb: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub oknpkmabahe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Koeibofdlcm {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub nfmhioiflcb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojhhacmhfka {
    /// offset: 56
    #[prost(uint32, tag = "2")]
    pub biofdpichlc: u32,
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub business_day: u32,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub nlkmdibkcil: bool,
    /// offset: 34
    #[prost(bool, tag = "9")]
    pub bmhcdipkkle: bool,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub hpnlmpjjhcf: i64,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub event_type: u32,
    /// offset: 33
    #[prost(bool, tag = "15")]
    pub hmeipbnomig: bool,
    #[prost(oneof = "ojhhacmhfka::Mmcgbgdjipn", tags = "13, 8, 4, 1, 5, 6")]
    pub mmcgbgdjipn: ::core::option::Option<ojhhacmhfka::Mmcgbgdjipn>,
}
/// Nested message and enum types in `OJHHACMHFKA`.
pub mod ojhhacmhfka {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "13")]
        Bpabmonfknb(super::Mbmagilkfgp),
        /// offset: 16
        #[prost(message, tag = "8")]
        Dpnfikghfih(super::Bcgjjccjbcg),
        /// offset: 16
        #[prost(message, tag = "4")]
        Nbamdoaehpj(super::Bachhbgnena),
        /// offset: 16
        #[prost(message, tag = "1")]
        Digjdcncpom(super::Ldomeigdiak),
        /// offset: 16
        #[prost(message, tag = "5")]
        Mbnbkommpfb(super::Nddhjbfebhg),
        /// offset: 16
        #[prost(message, tag = "6")]
        Fbgjaacoeei(super::Koeibofdlcm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mofknbakkdi {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ckacalmicbh: ::prost::alloc::vec::Vec<Ojhhacmhfka>,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub fdgkboiehbd: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 48
    #[prost(int64, tag = "4")]
    pub start_time: i64,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "5")]
    pub flknhfmndce: ::std::collections::HashMap<u32, u32>,
    /// offset: 56
    #[prost(uint32, tag = "6")]
    pub business_day: u32,
    /// offset: 61
    #[prost(bool, tag = "7")]
    pub candcmocafh: bool,
    /// offset: 60
    #[prost(bool, tag = "12")]
    pub has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohabcoegdeh {
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub business_day: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub fihppanoofl: ::prost::alloc::vec::Vec<Glecncobkcj>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub fdgkboiehbd: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub nmlfcghpgel: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub ejnbhkgoeki: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 56
    #[prost(bool, tag = "13")]
    pub candcmocafh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmghlhhjege {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub event_type: u32,
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub is_disappeared_once: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plpdnknjbaa {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub hbgpldacaci: ::prost::alloc::vec::Vec<Ohabcoegdeh>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "11")]
    pub kcencaapmlk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub nedcjcbpejm: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub endpgfbabbb: ::prost::alloc::vec::Vec<Bmghlhhjege>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub hocbdmpemdh: ::core::option::Option<Mofknbakkdi>,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub cineileiejk: u32,
}
/// Obf: NBCOEHFDNDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8215)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub efilmaohobk: bool,
}
/// Obf: CNNHNLACLCC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8213)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetBusinessDayInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub bolcngakamg: ::core::option::Option<Plpdnknjbaa>,
    /// offset: 40
    #[prost(int64, tag = "14")]
    pub nacempjfkah: i64,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kcmjjljchhp {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub has_passed: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ddoigecmkka: u32,
    /// offset: 29
    #[prost(bool, tag = "5")]
    pub candcmocafh: bool,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub nedcjcbpejm: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub cineileiejk: u32,
    /// offset: 40
    #[prost(int64, tag = "13")]
    pub nacempjfkah: i64,
}
/// Obf: DFNKGEIEDOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8208)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventCsReq {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub ceionhpdndp: bool,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub event_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub business_day: u32,
}
/// Obf: KFKLIDNFCOP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8218)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBusinessDayRefreshEventScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
}
/// Obf: EEANOEFPPKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8243)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub jadcepfhhdk: u32,
}
/// Obf: IOAKMGCGLHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8240)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDeliverPamCargoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ffmilolelnj: ::core::option::Option<Gnmciepebpk>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
}
/// Obf: MCLIICJBLIP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8226)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub mabncdebpdk: u32,
}
/// Obf: PPJKEHJCBHH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8245)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesChooseAvatarEventOptionScRsp {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub iibjdckhake: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub hhgahebnail: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub dnlafcpnpoe: u32,
}
/// Obf: NBIFLFMNLEJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8239)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemCsReq {
    /// offset: 28
    #[prost(bool, tag = "6")]
    pub mlkbobieapl: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub hllibeekfii: u32,
}
/// Obf: CEEBEKFBONM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesDealAvatarEventOptionItemScRsp {
    /// offset: 48
    #[prost(bool, tag = "1")]
    pub mlkbobieapl: bool,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub iibjdckhake: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub dnlafcpnpoe: u32,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
}
/// Obf: JFKHEIDJDMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8232)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub bkpdkfldldd: u32,
}
/// Obf: MEHDPNELHCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8236)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesTakeRegionPhaseRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub bkpdkfldldd: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmknolpfjdn {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub kohgfngkfpe: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub ckliekoigog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub jckkppelfhc: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub hgdnmkbnmbk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pgphekkpbld {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ratio: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub dlfhabgghff: u32,
    #[prost(oneof = "pgphekkpbld::Jmpnihhamph", tags = "6")]
    pub jmpnihhamph: ::core::option::Option<pgphekkpbld::Jmpnihhamph>,
}
/// Nested message and enum types in `PGPHEKKPBLD`.
pub mod pgphekkpbld {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Jmpnihhamph {
        /// offset: 16
        #[prost(message, tag = "6")]
        Aglmedobmal(super::Nmknolpfjdn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pbapkaghgfb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub goejbenhbhe: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DPDILLMEAKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8230)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesStartMiniGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dlfhabgghff: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub ratio: u32,
}
/// Obf: LBFNAJJGCBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8205)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesStartMiniGameScRsp {
    /// offset: 48
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub cfdiklbinhk: ::core::option::Option<Pgphekkpbld>,
    #[prost(oneof = "planet_fes_start_mini_game_sc_rsp::Jiomphmgalf", tags = "11")]
    pub jiomphmgalf: ::core::option::Option<
        planet_fes_start_mini_game_sc_rsp::Jiomphmgalf,
    >,
}
/// Nested message and enum types in `PlanetFesStartMiniGameScRsp`.
pub mod planet_fes_start_mini_game_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Jiomphmgalf {
        /// offset: 32
        #[prost(message, tag = "11")]
        Hmmbbenhife(super::Pbapkaghgfb),
    }
}
/// Obf: BDLBEEMAABE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8241)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesUseItemCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub jmoobdbkfmd: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
/// Obf: LEIBJEPHONE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8212)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesUseItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
}
/// Obf: FNAEBIJFOFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8216)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGameBingoFlipCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lkfigbgpejb: u32,
}
/// Obf: CPLFEKKNLDO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8201)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGameBingoFlipScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub bdefaffdbcc: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub lkfigbgpejb: u32,
}
/// Obf: GFMNPNJADFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8250)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesBonusEventInteractCsReq {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub jcbnlgdommf: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub event_type: u32,
}
/// Obf: BBGADFGONHI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8204)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesBonusEventInteractScRsp {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub event_type: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<Gnmciepebpk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Maoinjajoec {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub jkagcgkchjg: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub gold: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub business_day: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub lbicjmamfgn: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub emjpfphbkmg: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub ppoagpgeafh: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub uid: u32,
}
/// Obf: FHCCHMLGAEF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8234)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListCsReq {}
/// Obf: AIKFHAIJGDH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8238)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetFriendRankingInfoListScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ponaokbniam: ::core::option::Option<Maoinjajoec>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: BGGGJMGLOEI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8227)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesFriendRankingInfoChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub mlphlihfgkg: ::prost::alloc::vec::Vec<Maoinjajoec>,
}
/// Obf: EILODDMBANJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8228)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub key: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub value: u32,
}
/// Obf: CMFIANLCNEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8211)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesSetCustomKeyValueScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub value: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub key: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8249)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghonfflamhb {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub igoojkmpmdc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8246)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgnamlhfldb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: BJEDJFIEHPB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8231)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetAvatarStatCsReq {}
/// Obf: CBHMAHKODLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8225)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetAvatarStatScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub fihppanoofl: ::prost::alloc::vec::Vec<Glecncobkcj>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmodjeecppj {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub oeegpnocflp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "8")]
    pub apply_time: i64,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub apiffhbcdkk: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub blgldjhomno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iedpddjaaih {
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub foggejiijcm: bool,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub time: i64,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub hcjciagkhhl: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub oeegpnocflp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub cbmbobnckmo: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dfephmalkdk {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub apiffhbcdkk: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub blgldjhomno: u32,
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub time: i64,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub source: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub oeegpnocflp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GEIELBEBJCK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8299)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eppibfolfkn {
    /// offset: 56
    #[prost(int64, tag = "3")]
    pub oiknnpokkme: i64,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub eominocgljf: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub haahagapdkc: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "8")]
    pub fdhmlgfkdip: ::prost::alloc::vec::Vec<Dfephmalkdk>,
    /// offset: 72
    #[prost(uint32, tag = "10")]
    pub mlgaodmihjh: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub gmleojclcfb: ::prost::alloc::vec::Vec<Gmodjeecppj>,
    /// offset: 68
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub mlpnipenebg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MCIOMLIEACB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8313)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetExtraCardPieceInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub gipnmpknifg: ::core::option::Option<Eppibfolfkn>,
}
/// Obf: HFGLNNFOPON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8327)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceCsReq {}
/// Obf: NKJOIFBLLKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8334)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetFriendCardPieceScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub pebgjjcnbmm: ::prost::alloc::vec::Vec<Eppibfolfkn>,
}
/// Obf: NINEEGGAMBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8309)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub haahagapdkc: u32,
}
/// Obf: OCPAJELJLGE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8338)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesChangeCardPieceApplyPermissionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub haahagapdkc: u32,
}
/// Obf: ALNIHNLACOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8293)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesApplyCardPieceCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub teleport_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub oeegpnocflp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ONCGFIALKHI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8297)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesApplyCardPieceScRsp {
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub blgldjhomno: u32,
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub gldgchldmje: i64,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub gopcdfeioea: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub oeegpnocflp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub teleport_id: u32,
}
/// Obf: DGJIEIKGCNF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8300)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub blgldjhomno: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub jakkdghljph: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub apiffhbcdkk: u32,
    /// offset: 36
    #[prost(bool, tag = "12")]
    pub ikobgocehfg: bool,
}
/// Obf: ELPANOAHJIB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8311)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesHandleCardPieceApplyScRsp {
    /// offset: 40
    #[prost(bool, tag = "1")]
    pub ikobgocehfg: bool,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub jakkdghljph: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub jeaghjhmcen: i64,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub blgldjhomno: u32,
}
/// Obf: FIMDIBKGMEE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8314)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceCsReq {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub foggejiijcm: bool,
    /// offset: 32
    #[prost(uint64, tag = "9")]
    pub cbmbobnckmo: u64,
}
/// Obf: ALGDCPHADFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8310)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesGetOfferedCardPieceScRsp {
    /// offset: 56
    #[prost(int64, tag = "4")]
    pub maflgllokbb: i64,
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub cbpkfdjmgbh: ::prost::alloc::vec::Vec<Iedpddjaaih>,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub foggejiijcm: bool,
    /// offset: 48
    #[prost(uint64, tag = "11")]
    pub cbmbobnckmo: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub eominocgljf: ::prost::alloc::vec::Vec<Fmkmefmojgj>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: DBIFGMGGCMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8307)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGiveCardPieceCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub teleport_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub jakkdghljph: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IDJNDALFMFL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8319)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesGiveCardPieceScRsp {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub jeaghjhmcen: i64,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub teleport_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "10")]
    pub cbmbobnckmo: u64,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub jakkdghljph: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PDMEBJHODBM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8323)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub iabogpkeagf: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub mmkababenke: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub dnbkkdbffaj: u32,
}
/// Obf: LAPACOEMOCK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8296)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlanetFesLargeBonusInteractScRsp {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub dnbkkdbffaj: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub cgknmglfkbn: ::core::option::Option<Ncfkhdikcni>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub gloagdbekdp: ::core::option::Option<Ojhhacmhfka>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8292)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjibnoegflk {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8304)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aahpjecondn {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: LEGAPPMEBBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(25)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerLoginCsReq {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub ihmjhllclde: ::prost::alloc::string::String,
    /// offset: 200
    #[prost(uint64, tag = "2")]
    pub login_random: u64,
    /// offset: 88
    #[prost(string, tag = "3")]
    pub gdmjpjckbbe: ::prost::alloc::string::String,
    /// offset: 72
    #[prost(string, tag = "4")]
    pub jhokmnlhbma: ::prost::alloc::string::String,
    /// offset: 172
    #[prost(enumeration = "PlatformType", tag = "5")]
    pub platform: i32,
    /// offset: 16
    #[prost(string, tag = "6")]
    pub baogdofppln: ::prost::alloc::string::String,
    /// offset: 176
    #[prost(uint32, tag = "7")]
    pub ljkmpimkomo: u32,
    /// offset: 136
    #[prost(string, tag = "8")]
    pub bdgdpmalnif: ::prost::alloc::string::String,
    /// offset: 104
    #[prost(string, tag = "9")]
    pub ldcibphdaki: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(string, tag = "10")]
    pub nibmfcfbhep: ::prost::alloc::string::String,
    /// offset: 192
    #[prost(uint32, tag = "11")]
    pub jmmhhfleepg: u32,
    /// offset: 56
    #[prost(string, tag = "12")]
    pub lflcdngalme: ::prost::alloc::string::String,
    /// offset: 120
    #[prost(string, tag = "13")]
    pub bjcibnbgbmp: ::prost::alloc::string::String,
    /// offset: 180
    #[prost(enumeration = "LanguageType", tag = "14")]
    pub hofemnaiihb: i32,
    /// offset: 128
    #[prost(string, tag = "15")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 144
    #[prost(message, optional, tag = "35")]
    pub eondgecnaih: ::core::option::Option<Cmcjfjebbco>,
    /// offset: 48
    #[prost(string, tag = "76")]
    pub mgnligikkpp: ::prost::alloc::string::String,
    /// offset: 168
    #[prost(uint32, tag = "201")]
    pub fkffbemeiep: u32,
    /// offset: 40
    #[prost(string, tag = "212")]
    pub lpbhjodecne: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(message, optional, tag = "297")]
    pub hnpmediejfc: ::core::option::Option<Mephkjfajpp>,
    /// offset: 196
    #[prost(bool, tag = "303")]
    pub menbljogjmh: bool,
    /// offset: 96
    #[prost(string, tag = "359")]
    pub idifiepmlka: ::prost::alloc::string::String,
    /// offset: 188
    #[prost(uint32, tag = "527")]
    pub kpfgilofidi: u32,
    /// offset: 197
    #[prost(bool, tag = "592")]
    pub acjkhhbjkhe: bool,
    /// offset: 112
    #[prost(string, tag = "1435")]
    pub djonelmifee: ::prost::alloc::string::String,
    /// offset: 184
    #[prost(uint32, tag = "1629")]
    pub channel_id: u32,
    /// offset: 160
    #[prost(string, tag = "1772")]
    pub ijkomikfkek: ::prost::alloc::string::String,
    /// offset: 152
    #[prost(string, tag = "2041")]
    pub jkgakdalfpe: ::prost::alloc::string::String,
}
/// Obf: ADODOFNNPEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(78)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerLoginScRsp {
    /// offset: 72
    #[prost(int32, tag = "1")]
    pub cur_timezone: i32,
    /// offset: 24
    #[prost(string, tag = "3")]
    pub dkepkhpolhc: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "4")]
    pub gioapokhaof: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub stamina: u32,
    /// offset: 48
    #[prost(uint64, tag = "6")]
    pub server_timestamp_ms: u64,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    /// offset: 64
    #[prost(uint64, tag = "9")]
    pub login_random: u64,
    /// offset: 60
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 76
    #[prost(bool, tag = "13")]
    pub kdnppnhlnoa: bool,
    /// offset: 77
    #[prost(bool, tag = "14")]
    pub kcdahnnckpp: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(93)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerLogoutCsReq {}
/// Obf: MLINFKJIAEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(88)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerGetTokenCsReq {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub account_uid: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub channel_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub platform: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub account_ip_port: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub uid: u32,
    /// offset: 40
    #[prost(string, tag = "10")]
    pub eklogglelcg: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub account_ip: u32,
    /// offset: 68
    #[prost(uint32, tag = "12")]
    pub sign_type: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub token: ::prost::alloc::string::String,
}
/// Obf: KJAFBEGOCHP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(81)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerGetTokenScRsp {
    /// offset: 16
    #[prost(string, tag = "3")]
    pub stop_desc: ::prost::alloc::string::String,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint64, tag = "8")]
    pub secret_key_seed: u64,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub black_info: ::core::option::Option<BlackInfo>,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub uid: u32,
    /// offset: 40
    #[prost(string, tag = "15")]
    pub authkey: ::prost::alloc::string::String,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(47)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jkjmakhanpb {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub stop_desc: ::prost::alloc::string::String,
}
/// Obf: FJGOPHGFOGD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(26)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerSqueezedScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub black_info: ::core::option::Option<BlackInfo>,
    /// offset: 32
    #[prost(enumeration = "player_squeezed_sc_notify::KickType", tag = "9")]
    pub kick_type: i32,
}
/// Nested message and enum types in `PlayerSqueezedScNotify`.
pub mod player_squeezed_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,
            }
        }
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(13)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterStageCsReq {
    /// offset: 24
    #[prost(string, tag = "12")]
    pub stop_desc: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(71)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub ccpkfokoljb: ::prost::alloc::string::String,
}
/// Obf: DABIFJNADLI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(20)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBasicInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnolliakgdb {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub belkcbagmfc: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub jhjkcjkdhib: u32,
    /// offset: 29
    #[prost(bool, tag = "5")]
    pub mlpgdpgifcj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSettingInfo {
    /// offset: 50
    #[prost(bool, tag = "1")]
    pub aacoehcfndb: bool,
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ojpaodihaje: ::core::option::Option<Pnolliakgdb>,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub dcjecfmmibc: bool,
    /// offset: 51
    #[prost(bool, tag = "4")]
    pub dgcnhmihfjb: bool,
    /// offset: 55
    #[prost(bool, tag = "5")]
    pub pfbhgahafmd: bool,
    /// offset: 52
    #[prost(bool, tag = "6")]
    pub gnfddpemmfn: bool,
    /// offset: 54
    #[prost(bool, tag = "7")]
    pub makolelflfh: bool,
    /// offset: 59
    #[prost(bool, tag = "8")]
    pub fdhepcklcam: bool,
    /// offset: 60
    #[prost(bool, tag = "12")]
    pub iojeaocobbf: bool,
    /// offset: 53
    #[prost(bool, tag = "14")]
    pub bomgnmdoglm: bool,
    /// offset: 61
    #[prost(bool, tag = "15")]
    pub njakomdmfjd: bool,
    /// offset: 40
    #[prost(message, optional, tag = "220")]
    pub cmfcooeeecb: ::core::option::Option<Jpgackplgcd>,
    /// offset: 32
    #[prost(message, repeated, tag = "491")]
    pub okahmfoinpm: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 56
    #[prost(bool, tag = "524")]
    pub hgpffgknpfb: bool,
    /// offset: 57
    #[prost(bool, tag = "1458")]
    pub gokfngffmob: bool,
    /// offset: 58
    #[prost(bool, tag = "1685")]
    pub bbeebbidjhe: bool,
    /// offset: 49
    #[prost(bool, tag = "1773")]
    pub lnghijgfdkp: bool,
}
/// Obf: GetBasicInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(14)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBasicInfoScRsp {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub exchange_times: u32,
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub gameplay_birthday: u32,
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub is_gender_set: bool,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub week_cocoon_finished_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub gender: u32,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub last_set_nickname_time: i64,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub cur_day: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub player_setting_info: ::core::option::Option<PlayerSettingInfo>,
    /// offset: 64
    #[prost(int64, tag = "13")]
    pub next_recover_time: i64,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(38)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeStaminaCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(39)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExchangeStaminaScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub exchange_times: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 48
    #[prost(int64, tag = "6")]
    pub last_recover_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub stamina_add: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub item_cost_list: ::prost::alloc::vec::Vec<ItemCost>,
}
/// Obf: LNOPIOLJJKC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAuthkeyCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub sign_type: u32,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub auth_appid: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub authkey_ver: u32,
}
/// Obf: JKPONOOMEGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(11)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAuthkeyScRsp {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub authkey_ver: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub sign_type: u32,
    /// offset: 32
    #[prost(string, tag = "9")]
    pub auth_appid: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub authkey: ::prost::alloc::string::String,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(36)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RegionStopScNotify {
    /// offset: 24
    #[prost(int64, tag = "1")]
    pub stop_end_time: i64,
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub stop_begin_time: i64,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(48)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AntiAddictScNotify {
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub msg_type: u32,
    /// offset: 24
    #[prost(string, tag = "11")]
    pub level: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(string, tag = "12")]
    pub msg: ::prost::alloc::string::String,
}
/// Obf: KIKFIKEAJFP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(45)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetNicknameCsReq {
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub is_modify: bool,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub nickname: ::prost::alloc::string::String,
}
/// Obf: KBEFGELEMLB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(69)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetNicknameScRsp {
    /// offset: 32
    #[prost(int64, tag = "1")]
    pub set_time: i64,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub is_modify: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FMKFINNEDEG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(65)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLevelRewardTakenListCsReq {}
/// Obf: GPONDAHEKJN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(30)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLevelRewardTakenListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub level_reward_taken_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JDAFEAJCJIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(42)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetLevelRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub level: u32,
}
/// Obf: FBABBOPJMLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(72)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetLevelRewardScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(21)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLanguageCsReq {
    /// offset: 24
    #[prost(enumeration = "LanguageType", tag = "6")]
    pub hofemnaiihb: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetLanguageScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(enumeration = "LanguageType", tag = "4")]
    pub hofemnaiihb: i32,
}
/// Obf: AnnounceData
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AnnounceData {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    /// offset: 56
    #[prost(int64, tag = "3")]
    pub begin_time: i64,
    /// offset: 41
    #[prost(bool, tag = "6")]
    pub has_recommand: bool,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub banner_frequency: u32,
    /// offset: 64
    #[prost(int64, tag = "10")]
    pub end_time: i64,
    /// offset: 40
    #[prost(bool, tag = "11")]
    pub bbebekfgmad: bool,
    /// offset: 32
    #[prost(string, tag = "12")]
    pub emergency_text: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "15")]
    pub banner_text: ::prost::alloc::string::String,
}
/// Obf: BIDBPLDFGNK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(41)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ServerAnnounceNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub announce_data_list: ::prost::alloc::vec::Vec<AnnounceData>,
}
/// Obf: GateServer
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GateServer {
    #[prost(string, tag = "1")]
    pub region_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub ip: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub lua_url: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub ex_resource_url: ::prost::alloc::string::String,
    #[prost(uint32, tag = "6")]
    pub port: u32,
    #[prost(bool, tag = "7")]
    pub unk1: bool,
    #[prost(bool, tag = "11")]
    pub unk2: bool,
    #[prost(string, tag = "15")]
    pub asset_bundle_url: ::prost::alloc::string::String,
    #[prost(bool, tag = "48")]
    pub unk3: bool,
    #[prost(bool, tag = "726")]
    pub unk4: bool,
    #[prost(string, tag = "790")]
    pub msg: ::prost::alloc::string::String,
    #[prost(bool, tag = "903")]
    pub unk5: bool,
    #[prost(bool, tag = "1515")]
    pub unk6: bool,
    #[prost(string, tag = "1774")]
    pub asset_bundle_url_android: ::prost::alloc::string::String,
    #[prost(string, tag = "2038")]
    pub ifix_url: ::prost::alloc::string::String,
    #[prost(string, tag = "2044")]
    pub client_secret_key: ::prost::alloc::string::String,
    #[prost(bool, tag = "2047")]
    pub unk7: bool,
    #[prost(string, tag = "796")]
    pub mdk_res_version: ::prost::alloc::string::String,
    #[prost(string, tag = "1657")]
    pub ifix_version: ::prost::alloc::string::String,
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(62)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GateServerScNotify {
    /// offset: 24
    #[prost(string, tag = "5")]
    pub oklnpledkde: ::prost::alloc::string::String,
}
/// Obf: AIOOFPINJMD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(12)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGenderCsReq {
    /// offset: 24
    #[prost(enumeration = "Gender", tag = "5")]
    pub gender: i32,
}
/// Obf: PEDNDGLKGKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(35)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGenderScRsp {
    /// offset: 24
    #[prost(enumeration = "MultiPathAvatarType", tag = "8")]
    pub cur_avatar_path: i32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: HIPEONEPCFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(75)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPlayerInfoCsReq {
    /// offset: 36
    #[prost(bool, tag = "3")]
    pub is_modify: bool,
    /// offset: 32
    #[prost(enumeration = "Gender", tag = "8")]
    pub gender: i32,
    /// offset: 24
    #[prost(string, tag = "11")]
    pub nickname: ::prost::alloc::string::String,
}
/// Obf: JNAOCJBLPPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(44)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPlayerInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "5")]
    pub is_modify: bool,
    /// offset: 28
    #[prost(enumeration = "MultiPathAvatarType", tag = "7")]
    pub cur_avatar_path: i32,
    /// offset: 40
    #[prost(int64, tag = "10")]
    pub set_time: i64,
}
/// Obf: FAICKIOJMDI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(15)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QueryProductInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Product {
    /// offset: 72
    #[prost(uint32, tag = "1")]
    pub encdabooikj: u32,
    /// offset: 48
    #[prost(int64, tag = "2")]
    pub end_time: i64,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub cldelmpnapb: u32,
    /// offset: 24
    #[prost(string, tag = "4")]
    pub price_tier: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(int64, tag = "5")]
    pub begin_time: i64,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub product_id: ::prost::alloc::string::String,
    /// offset: 68
    #[prost(bool, tag = "8")]
    pub double_reward: bool,
    /// offset: 64
    #[prost(enumeration = "ProductGiftType", tag = "10")]
    pub gift_type: i32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub emihednkbca: u32,
}
/// Obf: GLCGPJLPPPD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(18)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryProductInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub product_list: ::prost::alloc::vec::Vec<Product>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub bffhekcglma: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub bebfndigkfk: u32,
    /// offset: 48
    #[prost(uint64, tag = "7")]
    pub month_card_out_date_time: u64,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KLMEKMCOMBA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(46)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MonthCardRewardNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(53)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClientDownloadDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
}
/// Obf: AGBAOKHOJJP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjDownloadDataScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
/// Obf: UpdateFeatureSwitchScNotify
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(52)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFeatureSwitchScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub switch_info_list: ::prost::alloc::vec::Vec<Hdoknmgidmb>,
}
/// Obf: KKEFJFJLOMJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(89)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyRefreshNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub mdiijkbhbbi: u32,
}
/// Obf: OGIJHINKOKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(82)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGameplayBirthdayCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub birthday: u32,
}
/// Obf: EAAHHGIGLNN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(94)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGameplayBirthdayScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub birthday: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(37)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Flmodpllmnf {
    /// offset: 16
    #[prost(string, tag = "8")]
    pub gifoenldcho: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub nmelidcdkak: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(51)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhmfplekoil {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(19)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iaochinipgk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub flfbhongdad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(28)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerHeartBeatCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub sc_data: ::core::option::Option<Lfkkombkjip>,
    /// offset: 40
    #[prost(uint64, tag = "8")]
    pub client_time_ms: u64,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub eohfcodkkmd: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(98)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerHeartBeatScRsp {
    /// offset: 40
    #[prost(uint64, tag = "5")]
    pub client_time_ms: u64,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub download_data: ::core::option::Option<ClientDownloadData>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint64, tag = "13")]
    pub server_time_ms: u64,
}
/// Obf: DCJOEGCEEOP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(66)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeatureSwitchClosedScNotify {
    /// offset: 24
    #[prost(enumeration = "FeatureSwitchType", tag = "6")]
    pub fmglebcibhg: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SecretKeyInfo {
    /// offset: 32
    #[prost(enumeration = "SecretKeyType", tag = "3")]
    pub r#type: i32,
    /// offset: 24
    #[prost(string, tag = "13")]
    pub secret_key: ::prost::alloc::string::String,
}
/// Obf: JODCPJNHFDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSecretKeyInfoCsReq {
    /// offset: 24
    #[prost(bytes = "vec", tag = "5")]
    pub cilhepfkkni: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: AHIEHELEMMN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(74)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSecretKeyInfoScRsp {
    /// offset: 32
    #[prost(bytes = "vec", tag = "4")]
    pub secret_rsp: ::prost::alloc::vec::Vec<u8>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub secret_info: ::prost::alloc::vec::Vec<SecretKeyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: HMFGBKIIHKB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(57)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerLoginFinishCsReq {}
/// Obf: ELCNIAHOIMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(27)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerLoginFinishScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(54)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ForceSyncGameStateFinishCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(56)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ForceSyncGameStateFinishScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct VideoKeyInfo {
    /// offset: 24
    #[prost(uint64, tag = "1")]
    pub ibdimhpopoj: u64,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub id: u32,
    /// offset: 32
    #[prost(uint64, tag = "11")]
    pub video_key: u64,
}
/// Obf: ICJJFFBPOGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(23)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetVideoVersionKeyCsReq {}
/// Obf: KAHKFFDIHNN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(83)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetVideoVersionKeyScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub activity_video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub video_key_info_list: ::prost::alloc::vec::Vec<VideoKeyInfo>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfchhmggmpc {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub bmfjffbpadd: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub show_type: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub ehnjdidabhd: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub content_id: u32,
}
/// Obf: BPKIBBNHPAA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(95)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRedPointStatusScNotify {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub bmfjffbpadd: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub content_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub show_type: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub bkakijoacpo: ::prost::alloc::vec::Vec<Lfchhmggmpc>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub uid: u32,
}
/// Obf: KOMDFDFEGDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(90)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReserveStaminaExchangeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
/// Obf: OBAMDDOKJIH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(32)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReserveStaminaExchangeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub num: u32,
}
/// Obf: DDDDKIANBGI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(70)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StaminaInfoScNotify {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub reserve_stamina: u32,
    /// offset: 40
    #[prost(int64, tag = "10")]
    pub next_recover_time: i64,
    /// offset: 32
    #[prost(int64, tag = "15")]
    pub ehjcpbjneoo: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdatePlayerSetting {
    #[prost(
        oneof = "update_player_setting::Bkaglmfnkka",
        tags = "9, 5, 7, 12, 1, 4, 8, 6, 2, 14, 56, 1951, 1477, 541, 1238, 1738, 1456"
    )]
    pub bkaglmfnkka: ::core::option::Option<update_player_setting::Bkaglmfnkka>,
}
/// Nested message and enum types in `UpdatePlayerSetting`.
pub mod update_player_setting {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bkaglmfnkka {
        /// offset: 16
        #[prost(bool, tag = "9")]
        Aacoehcfndb(bool),
        /// offset: 16
        #[prost(bool, tag = "5")]
        Dgcnhmihfjb(bool),
        /// offset: 16
        #[prost(bool, tag = "7")]
        Fdhepcklcam(bool),
        /// offset: 16
        #[prost(bool, tag = "12")]
        Dcjecfmmibc(bool),
        /// offset: 16
        #[prost(bool, tag = "1")]
        Iojeaocobbf(bool),
        /// offset: 16
        #[prost(bool, tag = "4")]
        Pfbhgahafmd(bool),
        /// offset: 16
        #[prost(bool, tag = "8")]
        Gnfddpemmfn(bool),
        /// offset: 16
        #[prost(bool, tag = "6")]
        Makolelflfh(bool),
        /// offset: 16
        #[prost(bool, tag = "2")]
        Njakomdmfjd(bool),
        /// offset: 16
        #[prost(message, tag = "14")]
        Ojpaodihaje(super::Pnolliakgdb),
        /// offset: 16
        #[prost(bool, tag = "56")]
        Bomgnmdoglm(bool),
        /// offset: 16
        #[prost(bool, tag = "1951")]
        Bbeebbidjhe(bool),
        /// offset: 16
        #[prost(bool, tag = "1477")]
        Hgpffgknpfb(bool),
        /// offset: 16
        #[prost(bool, tag = "541")]
        Lnghijgfdkp(bool),
        /// offset: 16
        #[prost(bool, tag = "1238")]
        Gokfngffmob(bool),
        /// offset: 16
        #[prost(message, tag = "1738")]
        Cmfcooeeecb(super::Jpgackplgcd),
        /// offset: 16
        #[prost(message, tag = "1456")]
        Egloifdidpk(super::Kvp),
    }
}
/// Obf: KLDMCHLFPDL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(97)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdatePlayerSettingCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub player_setting: ::core::option::Option<UpdatePlayerSetting>,
}
/// Obf: OGPOBJMBBLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdatePlayerSettingScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub player_setting: ::core::option::Option<UpdatePlayerSetting>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: AMIMPEBJMAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(64)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClientObjUploadCsReq {
    /// offset: 36
    #[prost(enumeration = "Algmickcabi", tag = "1")]
    pub content_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub eohfcodkkmd: u32,
    /// offset: 16
    #[prost(bytes = "vec", tag = "14")]
    pub sc_data: ::prost::alloc::vec::Vec<u8>,
}
/// Obf: AMHDDDHIGAM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(68)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ClientObjUploadScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub data: ::core::option::Option<ClientObjDownloadData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Glnjkgogkkl {
    /// offset: 24
    #[prost(string, repeated, tag = "2")]
    pub odahkgonnhj: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ibcddgknicg {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub black_list: ::core::option::Option<Glnjkgogkkl>,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub cnmafmekadj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eafhbodfekm {
    #[prost(oneof = "eafhbodfekm::Gbgkejpfeil", tags = "1829, 378, 279")]
    pub gbgkejpfeil: ::core::option::Option<eafhbodfekm::Gbgkejpfeil>,
}
/// Nested message and enum types in `EAFHBODFEKM`.
pub mod eafhbodfekm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Gbgkejpfeil {
        /// offset: 16
        #[prost(bool, tag = "1829")]
        Cnmafmekadj(bool),
        /// offset: 16
        #[prost(message, tag = "378")]
        Bdhbffeopfg(super::Glnjkgogkkl),
        /// offset: 16
        #[prost(message, tag = "279")]
        Dldgbibhdkm(super::Glnjkgogkkl),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(91)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kekfnkdldom {
    #[prost(oneof = "kekfnkdldom::Jnlijaabgff", tags = "1425, 1509")]
    pub jnlijaabgff: ::core::option::Option<kekfnkdldom::Jnlijaabgff>,
}
/// Nested message and enum types in `KEKFNKDLDOM`.
pub mod kekfnkdldom {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Jnlijaabgff {
        /// offset: 16
        #[prost(message, tag = "1425")]
        Icknlcpnhcd(super::Ibcddgknicg),
        /// offset: 16
        #[prost(message, tag = "1509")]
        Lompgeljclm(super::Eafhbodfekm),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(59)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Idaihhggpij {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emfkfgcbjbp {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(76)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ggihckpgacf {
    /// offset: 16
    #[prost(string, repeated, tag = "4")]
    pub pklfojbalkk: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 24
    #[prost(string, repeated, tag = "6")]
    pub hbbihglhkdm: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 40
    #[prost(string, repeated, tag = "8")]
    pub ehmgemmnpla: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: HeadIconData
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeadIconData {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
/// Obf: DisplayAvatarData
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DisplayAvatarData {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub pos_index: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DisplayAvatarVec {
    /// offset: 32
    #[prost(bool, tag = "8")]
    pub is_display: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
}
/// Obf: CDHHAGAANBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPlayerBoardDataCsReq {}
/// Obf: BHLJGGCMJAB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2878)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPlayerBoardDataScRsp {
    /// offset: 76
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub assist_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(string, tag = "5")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, repeated, tag = "6")]
    pub unlocked_personal_card_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub display_avatar_vec: ::core::option::Option<DisplayAvatarVec>,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIconData>,
    /// offset: 72
    #[prost(uint32, tag = "10")]
    pub current_head_icon_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub current_personal_card_id: u32,
}
/// Obf: PPCIADKDOHF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2893)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetHeadIconCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub id: u32,
}
/// Obf: LDFOADKBPJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2858)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetHeadIconScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub current_head_icon_id: u32,
}
/// Obf: IBAGCHAMPEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2838)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPersonalCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Obf: KJANDMMOIPP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2839)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetPersonalCardScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub current_personal_card_id: u32,
}
/// Obf: GIIJKONEENG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2888)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
}
/// Obf: KFEPCAOAMML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDisplayAvatarScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub display_avatar_list: ::prost::alloc::vec::Vec<DisplayAvatarData>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: ALOLLLFPILL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2886)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub is_display: bool,
}
/// Obf: NMCCBANNPKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2847)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetIsDisplayAvatarInfoScRsp {
    /// offset: 28
    #[prost(bool, tag = "7")]
    pub is_display: bool,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: MKDOMJOBANO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2813)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetSignatureCsReq {
    /// offset: 24
    #[prost(string, tag = "13")]
    pub signature: ::prost::alloc::string::String,
}
/// Obf: FOAAMBMEOPK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2871)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetSignatureScRsp {
    /// offset: 16
    #[prost(string, tag = "7")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KPJIDIACCKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2840)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAssistAvatarCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: KFMDFCHECOM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2833)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetAssistAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4525)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Feihgoepani {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub pkokbhdlfnm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kehogiendkc {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub daccgmconbp: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub aibjefapgmn: u32,
    /// offset: 28
    #[prost(enumeration = "Mmlapdebfjm", tag = "15")]
    pub authkey_ver: i32,
}
/// Obf: LAJDMCJIBOP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4578)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub aalgefblhea: ::prost::alloc::vec::Vec<Kehogiendkc>,
}
/// Obf: INPJIEHGCEG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4593)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnSignScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub aalgefblhea: ::prost::alloc::vec::Vec<Kehogiendkc>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub gpfmedkpeaj: ::prost::alloc::vec::Vec<ItemList>,
}
/// Obf: FPKPLOPKPBG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4558)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnPointChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub mnmjcnoliii: u32,
}
/// Obf: KFBDGDKFPJO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4588)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnTakePointRewardCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub daccgmconbp: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub gmkkbfhomcm: u32,
}
/// Obf: CEAFINHNEBL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4581)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakePointRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub jnjpknpcmib: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub daccgmconbp: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub gmkkbfhomcm: u32,
}
/// Obf: KIKINEEIMFM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4586)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnTakeRewardCsReq {}
/// Obf: MBCOHBBDJAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4547)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub gpfmedkpeaj: ::core::option::Option<ItemList>,
}
/// Obf: PHGMHBGDPFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4526)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnInfoQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ibkdhoidkja {
    /// offset: 88
    #[prost(uint32, tag = "1")]
    pub kamecncknab: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub elkopdbomad: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "3")]
    pub kmmnjbaemab: ::prost::alloc::vec::Vec<u32>,
    /// offset: 120
    #[prost(int64, tag = "4")]
    pub start_time: i64,
    /// offset: 92
    #[prost(uint32, tag = "5")]
    pub modfnpmcaan: u32,
    /// offset: 83
    #[prost(bool, tag = "6")]
    pub hhfiekhfnfp: bool,
    /// offset: 108
    #[prost(enumeration = "Pjimobkfdnp", tag = "7")]
    pub status: i32,
    /// offset: 81
    #[prost(bool, tag = "8")]
    pub is_taken_reward: bool,
    /// offset: 72
    #[prost(int64, tag = "9")]
    pub finish_time: i64,
    /// offset: 104
    #[prost(uint32, tag = "10")]
    pub world_level: u32,
    /// offset: 112
    #[prost(uint32, tag = "11")]
    pub mnmjcnoliii: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "12")]
    pub nlmeehnnocp: ::prost::alloc::vec::Vec<PileItem>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub kchpdjinnlh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 84
    #[prost(uint32, tag = "15")]
    pub pdhomkkmeme: u32,
    /// offset: 68
    #[prost(uint32, tag = "578")]
    pub hbpkgodmjnk: u32,
    /// offset: 82
    #[prost(bool, tag = "622")]
    pub nffoahmfcmd: bool,
    /// offset: 100
    #[prost(uint32, tag = "751")]
    pub clalljoacnf: u32,
    /// offset: 96
    #[prost(uint32, tag = "862")]
    pub acdpgfldfhk: u32,
    /// offset: 64
    #[prost(uint32, tag = "1101")]
    pub cfcniplekon: u32,
    /// offset: 40
    #[prost(message, optional, tag = "1617")]
    pub bihnckpbboa: ::core::option::Option<Cedcmimkjhk>,
    /// offset: 80
    #[prost(bool, tag = "1696")]
    pub ocplgilcppn: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cedcmimkjhk {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub is_open: bool,
}
/// Obf: EBCEGDPGHLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4513)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnInfoQueryScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub najphjofgbb: ::core::option::Option<Ibkdhoidkja>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub hdgpodmdlbl: u32,
}
/// Obf: CCKNNFODOMO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4571)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnForceFinishScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub najphjofgbb: ::core::option::Option<Ibkdhoidkja>,
}
/// Obf: OABAALAHIIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4540)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnTakeRelicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub avatar_id: u32,
}
/// Obf: FFEKPEKHAPC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeRelicScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub item_list: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
/// Obf: GPDJDMFMBCN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4538)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnTakeExtraHcoinScNotify {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub onaemdlnjda: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub lhgknpenjdo: u32,
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub eajkaikehol: bool,
}
/// Obf: HPKIKIEFALC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4539)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnTakeCustomRelicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
}
/// Obf: FODMCAGKAIO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4504)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerReturnTakeCustomRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: IDFEIJGOFBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4548)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeReturnExtraHcoinRewardCsReq {}
/// Obf: FPKDOKMHBKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4545)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeReturnExtraHcoinRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub cfcniplekon: u32,
}
/// Obf: LODKEPFLBKK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4569)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PlayerReturnExtraHcoinProgressScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub hbpkgodmjnk: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4565)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ceinlellflf {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub avatar_list: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub acdpgfldfhk: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4530)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kffeedheooh {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub acdpgfldfhk: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpofmgoohan {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub camcbjpomlc: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1178)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onnidpkmopb {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub camcbjpomlc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeiaeaegebj {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub fdjhmfageoa: ::core::option::Option<Gmdhiallilj>,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub hdhifjnjobk: u32,
    /// offset: 40
    #[prost(enumeration = "PunkLordAttackerStatus", tag = "13")]
    pub hceenpenfgi: i32,
}
/// Obf: PNLGHIIDPGF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3225)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPunkLordMonsterDataCsReq {}
/// Obf: FDJIMEBNEMD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3278)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordMonsterDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub pblbbdbdlek: ::prost::alloc::vec::Vec<Jeiaeaegebj>,
}
/// Obf: GNEBIBDMKHP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3293)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartPunkLordRaidCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub uid: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub monster_id: u32,
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub idmpmeocjik: bool,
}
/// Obf: NEJJPFMAOOB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartPunkLordRaidScRsp {
    /// offset: 48
    #[prost(int64, tag = "1")]
    pub peamkpjkiel: i64,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub onicjoaoema: ::core::option::Option<Jeiaeaegebj>,
    /// offset: 56
    #[prost(bool, tag = "7")]
    pub idmpmeocjik: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub fnmgmnabajg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<Gegljdelbha>,
}
/// Obf: ANJMHNEPNBP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3288)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SharePunkLordMonsterCsReq {
    /// offset: 28
    #[prost(enumeration = "PunkLordShareType", tag = "1")]
    pub share_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub monster_id: u32,
}
/// Obf: KKCHHOMOBDG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3281)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SharePunkLordMonsterScRsp {
    /// offset: 36
    #[prost(enumeration = "PunkLordShareType", tag = "1")]
    pub share_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub monster_id: u32,
}
/// Obf: EHJHGMHCEAL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3286)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SummonPunkLordMonsterCsReq {}
/// Obf: MOLFHANBJOG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3247)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SummonPunkLordMonsterScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub onicjoaoema: ::core::option::Option<Jeiaeaegebj>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: GHEMEECJJIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3233)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakePunkLordPointRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 28
    #[prost(bool, tag = "13")]
    pub lefjbfmdegk: bool,
}
/// Obf: INBDBFEEBAD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3238)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakePunkLordPointRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(bool, tag = "15")]
    pub lefjbfmdegk: bool,
}
/// Obf: EBNLFLNLAFK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3239)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordMonsterInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub fdjhmfageoa: ::core::option::Option<Cjdiahdlcnj>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub basic_info: ::core::option::Option<PunkLordMonsterBasicInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub fnmgmnabajg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(enumeration = "Pakhplahgbn", tag = "15")]
    pub reason: i32,
}
/// Obf: PPONBPACPAE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3204)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPunkLordDataCsReq {}
/// Obf: GBDFLHHJCGM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3211)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPunkLordDataScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ieppngmckjh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "5")]
    pub neoglpegbhe: i64,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub bpcoiolgemk: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub kcbpbmojokj: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub giiifdgfjpg: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub mgbhjppjhea: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub lcafkpgbdol: u32,
}
/// Obf: IDOMBJBHFEO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3248)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PunkLordRaidTimeOutScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub onicjoaoema: ::core::option::Option<PunkLordMonsterBasicInfo>,
}
/// Obf: IKCMNJJGNHK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3230)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PunkLordBattleResultScNotify {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub assist_score: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub damage_score: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub onicjoaoema: ::core::option::Option<PunkLordMonsterBasicInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub fdjhmfageoa: ::core::option::Option<Cjdiahdlcnj>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub final_hit_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fgfginefbbk {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub fjkdafhkpgc: u32,
    /// offset: 40
    #[prost(bool, tag = "3")]
    pub apcmaijppeh: bool,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub config_id: u32,
    /// offset: 48
    #[prost(int64, tag = "5")]
    pub create_time: i64,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub monster_id: u32,
}
/// Obf: CDBGGEJBNNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3242)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataCsReq {}
/// Obf: DJALOMIEKNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3272)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetKilledPunkLordMonsterDataScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub blllcponfbe: ::prost::alloc::vec::Vec<Cdccphilocc>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub cppdaimldgb: ::prost::alloc::vec::Vec<Fgfginefbbk>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: EPHPENFEPAJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3221)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PunkLordMonsterKilledNotify {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub pebmdfagjam: ::core::option::Option<Fgfginefbbk>,
}
/// Obf: OMEEPHBFPHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3205)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub kholbegbfom: ::core::option::Option<Cdccphilocc>,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub lomgnmfapge: bool,
}
/// Obf: MMIGPCKGBBO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3241)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeKilledPunkLordMonsterScoreScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub score_id: u32,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub lomgnmfapge: bool,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub dfjfjnpcipa: ::prost::alloc::vec::Vec<Cdccphilocc>,
}
/// Obf: NOAINAEHIJE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3210)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PunkLordDataChangeNotify {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub mgbhjppjhea: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub bpcoiolgemk: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub giiifdgfjpg: u32,
}
/// Obf: BIMOGNBKODL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3243)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPunkLordBattleRecordCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub kholbegbfom: ::core::option::Option<Cdccphilocc>,
}
/// Obf: MAMCOFJJOHG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3229)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPunkLordBattleRecordScRsp {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub hlcimlhmeki: ::prost::alloc::vec::Vec<TryDownLoadReplay>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub kholbegbfom: ::core::option::Option<Cdccphilocc>,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub gaikbnpiflm: ::prost::alloc::vec::Vec<Cjdiahdlcnj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Blphonlbnbo {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub instance_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahclmagahpn {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub entity_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dghpidmdojm {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub gabodfdmpmm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ppjfmbigigb: ::core::option::Option<Ahclmagahpn>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub oeibhlmdjka: ::core::option::Option<Blphonlbnbo>,
    /// offset: 40
    #[prost(string, tag = "7")]
    pub uuid: ::prost::alloc::string::String,
}
/// Obf: EMKAACCBCCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(925)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetQuestDataCsReq {}
/// Obf: Quest
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Quest {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub progress: u32,
    /// offset: 48
    #[prost(int64, tag = "2")]
    pub finish_time: i64,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub records: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub id: u32,
    /// offset: 36
    #[prost(enumeration = "QuestStatus", tag = "15")]
    pub status: i32,
}
/// Obf: BMENGFFDCNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(978)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
}
/// Obf: EMHALMBFHKG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(993)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeQuestRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: TakeQuestRewardScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestRewardScRsp {
    /// offset: 40
    #[prost(uint32, repeated, tag = "5")]
    pub succ_quest_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub quest_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JOMMJIBBCCI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(940)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeQuestOptionalRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub optional_reward_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub quest_id: u32,
}
/// Obf: JGAMLCKCIKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(933)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeQuestOptionalRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub quest_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: NKOIPKDPHGF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(986)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetQuestRecordCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eclgdfggofh {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub mnlamkjiaoc: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub progress: u32,
}
/// Obf: ABFPFFEJCBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(947)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetQuestRecordScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub aoofgcnfbpl: ::prost::alloc::vec::Vec<Eclgdfggofh>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: GILLCJGDGOD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(926)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuestRecordScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub hlmpjldbpjp: ::core::option::Option<Eclgdfggofh>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(913)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishQuestCsReq {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub prop_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub quest_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(971)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishQuestScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BatchGetQuestDataCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub quest_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(904)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetQuestDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gegljdelbha {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub raid_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub mophkigkdik: ::core::option::Option<SceneInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<LineupInfo>,
}
/// Obf: GDCGMBJAEGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2209)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidCsReq {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub is_save: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub world_level: u32,
    /// offset: 52
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub raid_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub nimdepfjjni: ::prost::alloc::vec::Vec<AvatarLineup>,
}
/// Obf: KPJCDAOHOAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2223)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRaidScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub scene: ::core::option::Option<Gegljdelbha>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: KIKOJGLGJFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2237)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveRaidCsReq {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub is_save: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub raid_id: u32,
}
/// Obf: FPHIKGOGJIP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2244)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveRaidScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RaidTargetInfo {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub kkckmcdgcgk: u32,
    /// offset: 32
    #[prost(enumeration = "Mjpgdjiglko", tag = "10")]
    pub kceehiocbpc: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub lcilpgideac: u32,
}
/// Obf: GKNMMJHBFEM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2219)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidInfoNotify {
    /// offset: 48
    #[prost(uint64, tag = "1")]
    pub raid_finish_time: u64,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 60
    #[prost(enumeration = "RaidStatus", tag = "11")]
    pub status: i32,
    /// offset: 56
    #[prost(uint32, tag = "13")]
    pub raid_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kbonopflpdj {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub max_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub raid_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishedRaidInfo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub ngkbfpfoopk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub world_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub raid_id: u32,
}
/// Obf: CELCIDNLPPO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2224)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRaidInfoCsReq {}
/// Obf: GetRaidInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2220)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRaidInfoScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub challenge_taken_reward_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "12")]
    pub finished_raid_info_list: ::prost::alloc::vec::Vec<FinishedRaidInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub challenge_raid_list: ::prost::alloc::vec::Vec<Kbonopflpdj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oiclhaljieh {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2203)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pmliefofjhf {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub dboadifanmh: ::prost::alloc::vec::Vec<Kbonopflpdj>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub iccchccdknd: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JPCNCABCMGA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2207)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeChallengeRaidRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub hejanccdgap: u32,
}
/// Obf: NOKJGNCMOBK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2210)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeChallengeRaidRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub hejanccdgap: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: KJJDLEIGPMJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2221)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChallengeRaidNotify {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub gcbdmepbnhn: ::core::option::Option<Kbonopflpdj>,
}
/// Obf: PIKGCABFJAE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2217)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetClientRaidTargetCountCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub kjkghieknid: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub progress: u32,
}
/// Obf: GKGJKFHIPKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2229)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetClientRaidTargetCountScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub kjkghieknid: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub progress: u32,
}
/// Obf: NGDCCMAHNDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2233)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSaveRaidCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub world_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub raid_id: u32,
}
/// Obf: MKMPGOFLAPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2206)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSaveRaidScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub raid_id: u32,
    /// offset: 40
    #[prost(bool, tag = "4")]
    pub is_save: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidData {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub raid_target_info: ::prost::alloc::vec::Vec<RaidTargetInfo>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub raid_id: u32,
}
/// Obf: FHJENMNMMKO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2202)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAllSaveRaidCsReq {}
/// Obf: PNDCHLMHJCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2214)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllSaveRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub raid_data_list: ::prost::alloc::vec::Vec<RaidData>,
}
/// Obf: GDKFOIFIAFD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2235)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DelSaveRaidScNotify {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub raid_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
}
/// Obf: MCJANHINPDO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(2215)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidKickByServer {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub world_level: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub raid_id: u32,
    /// offset: 44
    #[prost(enumeration = "Gmfmppkaehe", tag = "9")]
    pub reason: i32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bopobhgdikn {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub oblciendled: u32,
}
/// Obf: KNDCKLDMJKB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6958)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RaidCollectionDataCsReq {}
/// Obf: APODDGMLMLF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6948)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub challenge_list: ::prost::alloc::vec::Vec<Bopobhgdikn>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: JFEMDCIJMFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6952)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidCsReq {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub raid_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub is_save: u32,
}
/// Obf: NJGHHOHJGEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6942)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RaidCollectionEnterNextRaidScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<Gegljdelbha>,
}
/// Obf: GFIIJCDEBDH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8378)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRechargeGiftInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ijhpilbbhdi {
    /// offset: 28
    #[prost(enumeration = "ijhpilbbhdi::bbibcfckpjh::Egcfncblhjc", tag = "2")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub index: u32,
}
/// Nested message and enum types in `IJHPILBBHDI`.
pub mod ijhpilbbhdi {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct Bbibcfckpjh {}
    /// Nested message and enum types in `BBIBCFCKPJH`.
    pub mod bbibcfckpjh {
        #[derive(proto_derive::CmdID)]
        #[derive(
            Clone,
            Copy,
            Debug,
            PartialEq,
            Eq,
            Hash,
            PartialOrd,
            Ord,
            ::prost::Enumeration
        )]
        #[repr(i32)]
        pub enum Egcfncblhjc {
            Edhbommokgm = 0,
            Acbhglibjbg = 1,
            Ljlkndiaceo = 2,
        }
        impl Egcfncblhjc {
            /// String value of the enum field names used in the ProtoBuf definition.
            ///
            /// The values are not transformed in any way and thus are considered stable
            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
            pub fn as_str_name(&self) -> &'static str {
                match self {
                    Self::Edhbommokgm => "EGCFNCBLHJC_EDHBOMMOKGM",
                    Self::Acbhglibjbg => "EGCFNCBLHJC_ACBHGLIBJBG",
                    Self::Ljlkndiaceo => "EGCFNCBLHJC_LJLKNDIACEO",
                }
            }
            /// Creates an enum from field names used in the ProtoBuf definition.
            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
                match value {
                    "EGCFNCBLHJC_EDHBOMMOKGM" => Some(Self::Edhbommokgm),
                    "EGCFNCBLHJC_ACBHGLIBJBG" => Some(Self::Acbhglibjbg),
                    "EGCFNCBLHJC_LJLKNDIACEO" => Some(Self::Ljlkndiaceo),
                    _ => None,
                }
            }
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbngcjjdlhl {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub gift_type: u32,
    /// offset: 32
    #[prost(int64, tag = "3")]
    pub end_time: i64,
    /// offset: 48
    #[prost(int64, tag = "5")]
    pub start_time: i64,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub status_list: ::prost::alloc::vec::Vec<Ijhpilbbhdi>,
}
/// Obf: JFEKFHLDLPK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8368)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeGiftInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub ofihocchncn: ::prost::alloc::vec::Vec<Jbngcjjdlhl>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: KCEJICPPKKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8363)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRechargeGiftRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub gift_type: u32,
}
/// Obf: DCAICJKEIPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8372)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeGiftRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub kjbdniibgne: ::core::option::Option<Jbngcjjdlhl>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: EGNKGGAIGBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8362)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRechargeBenefitInfoCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcajnmllied {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub panel_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub olhodifnabl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub progress: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
/// Obf: JNGJOABNBIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8377)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRechargeBenefitInfoScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub oabbabnppoo: ::prost::alloc::vec::Vec<Bcajnmllied>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: IMIOIKDAJOK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8365)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRechargeBenefitInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub klcgbjiempo: ::core::option::Option<Bcajnmllied>,
}
/// Obf: CKCPEGPJGLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8364)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRechargeBenefitRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub id: u32,
}
/// Obf: JINIOBBNJPF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8371)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRechargeBenefitRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub klcgbjiempo: ::core::option::Option<Bcajnmllied>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmmhjifcgno {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub mipkoffgpfa: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub kajcfpkegbp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EquipmentRecommend {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub equipment_list: ::prost::alloc::vec::Vec<Bmmhjifcgno>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ghajjbbehbe {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub lmhdfofnfii: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub bbghafgmmnm: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub oaopdhldfip: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicRecommend {
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub gmcnpkajmhc: ::prost::alloc::vec::Vec<Ghajjbbehbe>,
}
/// Obf: KOAGMGNMMOC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2403)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBigDataRecommendCsReq {
    /// offset: 28
    #[prost(enumeration = "BigDataRecommendType", tag = "1")]
    pub big_data_recommend_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub equip_avatar: u32,
}
/// Obf: BGGIHLHFPGA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2407)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataRecommendScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub equip_avatar: u32,
    /// offset: 36
    #[prost(bool, tag = "6")]
    pub has_recommand: bool,
    /// offset: 40
    #[prost(enumeration = "BigDataRecommendType", tag = "12")]
    pub big_data_recommend_type: i32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    #[prost(oneof = "get_big_data_recommend_sc_rsp::RecommendType", tags = "13, 11, 4")]
    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: 16
        #[prost(message, tag = "13")]
        EquipmentRecommend(super::EquipmentRecommend),
        /// offset: 16
        #[prost(message, tag = "11")]
        RelicRecommend(super::RelicRecommend),
        /// offset: 16
        #[prost(message, tag = "4")]
        Khcmlinmgen(super::Gnbbdmbnndj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RecomendedAvatarInfo {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub recommend_avatar_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub relic_set_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendRelicAvatar {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub recommended_avatar_info_list: ::prost::alloc::vec::Vec<RecomendedAvatarInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbgplpccdbj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nmfgibmhnki: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub gbjpbahgbpo: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub percent: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bpfdfojoemi {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub percent: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub lbdlaacoccn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataAvatarRelicRecommend {
    /// offset: 64
    #[prost(message, repeated, tag = "1")]
    pub sphere_main_property_list: ::prost::alloc::vec::Vec<Bpfdfojoemi>,
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub rope_main_property_list: ::prost::alloc::vec::Vec<Bpfdfojoemi>,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub foot_main_property_list: ::prost::alloc::vec::Vec<Bpfdfojoemi>,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub body_main_property_list: ::prost::alloc::vec::Vec<Bpfdfojoemi>,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
    /// offset: 56
    #[prost(message, repeated, tag = "10")]
    pub inner_set_list: ::prost::alloc::vec::Vec<Jbgplpccdbj>,
    /// offset: 48
    #[prost(message, repeated, tag = "12")]
    pub outer_set_list: ::prost::alloc::vec::Vec<Jbgplpccdbj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigDataRecommendAvatarRelic {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub recomended_relic_info_list: ::prost::alloc::vec::Vec<
        BigDataAvatarRelicRecommend,
    >,
}
/// Obf: HGKBKMFJJCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2410)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetBigDataAllRecommendCsReq {
    /// offset: 24
    #[prost(enumeration = "BigDataRecommendType", tag = "13")]
    pub big_data_recommend_type: i32,
}
/// Obf: EJEDKALMMNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2421)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetBigDataAllRecommendScRsp {
    /// offset: 36
    #[prost(enumeration = "BigDataRecommendType", tag = "5")]
    pub big_data_recommend_type: i32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    #[prost(
        oneof = "get_big_data_all_recommend_sc_rsp::RecommendType",
        tags = "1, 8, 7"
    )]
    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: 16
        #[prost(message, tag = "1")]
        RelicAvatar(super::BigDataRecommendRelicAvatar),
        /// offset: 16
        #[prost(message, tag = "8")]
        AvatarRelic(super::BigDataRecommendAvatarRelic),
        /// offset: 16
        #[prost(message, tag = "7")]
        Khcmlinmgen(super::Gnbbdmbnndj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhnaejbkinh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub kcnpfighdal: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gfoamknhbfe {
    /// offset: 16
    #[prost(map = "uint32, message", tag = "2")]
    pub banbccboebj: ::std::collections::HashMap<u32, Fhnaejbkinh>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub fdeakdcdgml: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub panel_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5909)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAllRedDotDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5923)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllRedDotDataScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub kgonobeagai: ::prost::alloc::vec::Vec<Gfoamknhbfe>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nncefffgnen {
    /// offset: 36
    #[prost(enumeration = "Kfmhmjlphog", tag = "6")]
    pub biclkapmfgp: i32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub panel_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub fdeakdcdgml: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5944)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egelhckmlnk {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub fdeakdcdgml: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub panel_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ildomdofepk {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub fdeakdcdgml: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub panel_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5948)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Llcohlnbngm {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub panel_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub bknkfnhipak: ::core::option::Option<Fhnaejbkinh>,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub fdeakdcdgml: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pngbddibcdd {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub sub_affix_list: ::prost::alloc::vec::Vec<RelicAffix>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub exp: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub tid: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub main_affix_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jboaapidoic {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ipilhkhcljh: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub flfochjfloe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hgabljfokdg {
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(enumeration = "Jfiiihfblpa", tag = "12")]
    pub hdhkahjbfkd: i32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub noajighliic: ::core::option::Option<Jboaapidoic>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bebnhpcbmpf {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub noajighliic: ::core::option::Option<Jboaapidoic>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dpjcbhkgfok {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub relics: ::prost::alloc::vec::Vec<Relic>,
}
/// Obf: NGKOLFNOAKC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8968)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRelicBoxDataCsReq {}
/// Obf: JOONMECDIHJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8958)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRelicBoxDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub ahnppgmfokn: ::core::option::Option<Dpjcbhkgfok>,
    /// offset: 72
    #[prost(enumeration = "Bdfgbphepdi", tag = "3")]
    pub state: i32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub njfefofpkpf: ::core::option::Option<Pngbddibcdd>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub target: ::core::option::Option<Hgabljfokdg>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "13")]
    pub oajfafidkpi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ebdiojpdjih: ::prost::alloc::vec::Vec<Bebnhpcbmpf>,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub mflmhflmcpo: u32,
}
/// Obf: OKCGFDFBPBL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8953)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRelicBoxCustomCsReq {
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub jkkfjhkhfpl: ::prost::alloc::vec::Vec<Bebnhpcbmpf>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub ebdiojpdjih: ::core::option::Option<Bebnhpcbmpf>,
}
/// Obf: ONJHKFHDPGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8962)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetRelicBoxCustomScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: ANOEGCFDJKD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8952)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetRelicBoxTargetCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub target: ::core::option::Option<Hgabljfokdg>,
}
/// Obf: DGJAPNJCDCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8967)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetRelicBoxTargetScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub target: ::core::option::Option<Hgabljfokdg>,
}
/// Obf: GFOFPDMELCL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8961)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenRelicBoxCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub target: ::core::option::Option<Hgabljfokdg>,
}
/// Obf: PCAFMOHEDGK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8965)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRelicBoxScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub lcmaddimion: ::core::option::Option<Pngbddibcdd>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub gnlaaidfojf: u32,
}
/// Obf: OJKDPIDOBEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8951)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmRelicBoxCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub bbnifadmhho: bool,
}
/// Obf: EENMGNBLPEJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8959)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ConfirmRelicBoxScRsp {
    /// offset: 36
    #[prost(bool, tag = "1")]
    pub bbnifadmhho: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub oajfafidkpi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub hmbnjlnblif: u32,
}
/// Obf: AGKJMBBJCNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8960)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReportRelicBoxActionCsReq {
    #[prost(oneof = "report_relic_box_action_cs_req::Mkkdalgeakk", tags = "1")]
    pub mkkdalgeakk: ::core::option::Option<report_relic_box_action_cs_req::Mkkdalgeakk>,
}
/// Nested message and enum types in `ReportRelicBoxActionCsReq`.
pub mod report_relic_box_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mkkdalgeakk {
        /// offset: 24
        #[prost(uint32, tag = "1")]
        Kcglkfkhpic(u32),
    }
}
/// Obf: OBKJIKBEHHF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8957)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReportRelicBoxActionScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(enumeration = "Bdfgbphepdi", tag = "11")]
    pub state: i32,
}
/// Obf: BIGELLJGGEP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8964)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicBoxRegularScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub ahnppgmfokn: ::core::option::Option<Dpjcbhkgfok>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfckbfldhni {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub unique_id: u32,
    /// offset: 48
    #[prost(enumeration = "RelicPresetPlanSourceType", tag = "13")]
    pub source_type: i32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9858)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetGetPlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub avatar_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9848)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicPresetGetPlanScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub relic_plan_list: ::prost::alloc::vec::Vec<Pfckbfldhni>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9843)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetAddPlanCsReq {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(enumeration = "RelicPresetPlanSourceType", tag = "8")]
    pub source_type: i32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(enumeration = "Fdjkljgdcid", tag = "14")]
    pub lljjcookanh: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9852)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetAddPlanScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub relic_plan: ::core::option::Option<Pfckbfldhni>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9842)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetDeletePlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub unique_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9857)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetDeletePlanScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hppoinflepj {
    /// offset: 36
    #[prost(enumeration = "Fdjkljgdcid", tag = "1")]
    pub lljjcookanh: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(enumeration = "RelicPresetPlanSourceType", tag = "12")]
    pub source_type: i32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9845)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetUpdatePlanCsReq {
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
    #[prost(oneof = "relic_preset_update_plan_cs_req::Kknboacncon", tags = "12, 13")]
    pub kknboacncon: ::core::option::Option<
        relic_preset_update_plan_cs_req::Kknboacncon,
    >,
}
/// Nested message and enum types in `RelicPresetUpdatePlanCsReq`.
pub mod relic_preset_update_plan_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "12")]
        RelicList(super::Hppoinflepj),
        /// offset: 24
        #[prost(string, tag = "13")]
        Name(::prost::alloc::string::String),
    }
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9844)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicPresetUpdatePlanScRsp {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    #[prost(oneof = "relic_preset_update_plan_sc_rsp::Kknboacncon", tags = "15, 9")]
    pub kknboacncon: ::core::option::Option<
        relic_preset_update_plan_sc_rsp::Kknboacncon,
    >,
}
/// Nested message and enum types in `RelicPresetUpdatePlanScRsp`.
pub mod relic_preset_update_plan_sc_rsp {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "15")]
        RelicList(super::Hppoinflepj),
        /// offset: 16
        #[prost(string, tag = "9")]
        Name(::prost::alloc::string::String),
    }
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9851)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eggoclkiame {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9855)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejilgjglkio {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub relic_plan: ::core::option::Option<Pfckbfldhni>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearPlan {
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub outside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub avatar_id: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub inside_relic_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PIHNFHMEHCD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8268)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearGetPlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: MBLPEOFOOAF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8258)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPlanScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub relic_plan_list: ::prost::alloc::vec::Vec<RelicSmartWearPlan>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KHPMJDJKEAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8253)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearAddPlanCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
}
/// Obf: ILCBEINELFA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8262)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearAddPlanScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
}
/// Obf: AHKGHNIDDHI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8252)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
}
/// Obf: BPHCDBFPIFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8267)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearUpdatePlanScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub relic_plan: ::core::option::Option<RelicSmartWearPlan>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: IGFDCGKPJBE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8255)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearDeletePlanCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub unique_id: u32,
}
/// Obf: POPMMDIDDJO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8254)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearDeletePlanScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onflanpghhl {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub inside_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "Kckjilimnff", tag = "13")]
    pub alaeibdighm: i32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub outside_relic_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cabbookaodo {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub aeonnkangce: ::core::option::Option<Onflanpghhl>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "10")]
    pub relic_ids: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
/// Obf: OKLKPLGFPNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8251)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub avatar_id: u32,
}
/// Obf: EMKANKKOICP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8259)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearGetPinRelicScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub ojncaokpkib: ::prost::alloc::vec::Vec<Cabbookaodo>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: JIODIEHBGMI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8270)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub anchgognlfp: ::prost::alloc::vec::Vec<Cabbookaodo>,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub plncncnipkn: ::prost::alloc::vec::Vec<Cabbookaodo>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub relic_unique_id: u32,
}
/// Obf: PMMIOMPJADM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8264)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub dnnkbpbfpbk: ::core::option::Option<Cabbookaodo>,
}
/// Obf: IJMEMLHHMIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8256)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RelicSmartWearUpdatePinRelicScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub dnnkbpbfpbk: ::core::option::Option<Cabbookaodo>,
}
/// Obf: FABKOODPCLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8269)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePinRelicCsReq {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub beajgcmpoed: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub aifamifgmch: ::prost::alloc::vec::Vec<Onflanpghhl>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub avatar_id: u32,
}
/// Obf: KJHJMAEMDMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8266)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RelicSmartWearDeletePinRelicScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub aifamifgmch: ::prost::alloc::vec::Vec<Onflanpghhl>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3525)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetReplayTokenCsReq {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub klifgjoilee: u32,
    /// offset: 48
    #[prost(enumeration = "Pbiefhknafa", tag = "7")]
    pub replay_type: i32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub pbnienncnop: u32,
    /// offset: 32
    #[prost(string, tag = "10")]
    pub lmffnnigmmo: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(string, tag = "12")]
    pub gimgdnjppdj: ::prost::alloc::string::String,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3578)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetReplayTokenScRsp {
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 40
    #[prost(enumeration = "Pbiefhknafa", tag = "6")]
    pub replay_type: i32,
    /// offset: 32
    #[prost(string, tag = "9")]
    pub token: ::prost::alloc::string::String,
    /// offset: 24
    #[prost(string, tag = "10")]
    pub gimgdnjppdj: ::prost::alloc::string::String,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3425)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRndOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3478)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRndOptionScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub efloilnlfic: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3493)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyFirstMeetPamCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3458)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DailyFirstMeetPamScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Abofjeimllj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub buff_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Paijcbokifo {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub majkfimpoof: u32,
    /// offset: 36
    #[prost(enumeration = "RogueRoomStatus", tag = "13")]
    pub cagdnhcockm: i32,
    /// offset: 28
    #[prost(enumeration = "RogueRoomStatus", tag = "14")]
    pub fchhpcidngm: i32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub pgacmflcdid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dndmlicbkef {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub anhdbmopgdc: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub hpkmgkppelc: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub llnichddian: ::prost::alloc::vec::Vec<Paijcbokifo>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub map_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cajeboppmcj {
    /// offset: 40
    #[prost(enumeration = "RogueStatus", tag = "1")]
    pub nhdlefaapob: i32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub kndhmnbiidf: u32,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub alajjmkomml: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub map_id: u32,
    /// offset: 36
    #[prost(enumeration = "RogueAreaStatus", tag = "14")]
    pub area_status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aeffocfjnbf {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfgbcekgfhk {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub emagfiblncj: ::prost::alloc::vec::Vec<Aeffocfjnbf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Efdaibdbfea {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub dggcfdkjdpo: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub ljceogpogbe: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub nphajekcbkf: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub total_count: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oednnhaohab {
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub majgmmcocig: ::prost::alloc::vec::Vec<Efdaibdbfea>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcmfaibmohb {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gaobhblfpec {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ofhbbkokanf: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gbieamklonk: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dbhoidlkmab: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub lkhaieidajl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agehgbkobef {
    /// offset: 24
    #[prost(message, optional, tag = "448")]
    pub cfdiklbinhk: ::core::option::Option<Hnkaofdglie>,
    /// offset: 32
    #[prost(message, optional, tag = "960")]
    pub lflcdngalme: ::core::option::Option<Edoiemcffca>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Edoiemcffca {
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub nikdpodbief: ::core::option::Option<Mbcbdjnkfeb>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub hhfaafobkme: ::core::option::Option<Cgnnmpikbbb>,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub aclkmfcdmed: ::core::option::Option<Goiejocfkee>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub aefmmohkchj: ::core::option::Option<Gfghgcimkga>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hnkaofdglie {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub cooomdkgodf: ::core::option::Option<Dndmlicbkef>,
    /// offset: 56
    #[prost(message, optional, tag = "3")]
    pub ielpchglfca: ::core::option::Option<Cddijcbeahj>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub dhekljdbnnp: ::core::option::Option<Ageogdogdmm>,
    /// offset: 88
    #[prost(enumeration = "RogueStatus", tag = "5")]
    pub status: i32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub dnpccfffbhn: ::core::option::Option<Hikobombmpb>,
    /// offset: 72
    #[prost(message, optional, tag = "7")]
    pub fmigokidkjl: ::core::option::Option<Inhbmhcjjcn>,
    /// offset: 64
    #[prost(message, optional, tag = "9")]
    pub eiohfjmfokf: ::core::option::Option<Enobklgchod>,
    /// offset: 80
    #[prost(message, optional, tag = "12")]
    pub aefmmohkchj: ::core::option::Option<Cifcaiedolk>,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub habjhgpfgeb: ::core::option::Option<Cfmhemgeanc>,
    /// offset: 92
    #[prost(bool, tag = "15")]
    pub ilofgcafhah: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cgnnmpikbbb {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ljngpckpjlf: u32,
    /// offset: 40
    #[prost(int64, tag = "8")]
    pub begin_time: i64,
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub end_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Goiejocfkee {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub ojgoaoplmlb: ::prost::alloc::vec::Vec<Cajeboppmcj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gfghgcimkga {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub opaegcbnacj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub unlock_aeon_enhance_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mbcbdjnkfeb {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub gebggmagdjb: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pdgbejhnhhe: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub cicaendedfe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfmhemgeanc {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub chcmekafkaf: ::prost::alloc::vec::Vec<Abofjeimllj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hikobombmpb {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub dnpccfffbhn: ::core::option::Option<Oednnhaohab>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enobklgchod {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub mfeodnjngdp: ::core::option::Option<Kcmfaibmohb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cifcaiedolk {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub unlock_aeon_enhance_num: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub jppaggpjomo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cddijcbeahj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub cemojmbhldd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jibbeeaidic {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub opaegcbnacj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub jppaggpjomo: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub unlock_aeon_enhance_num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Alblefhhjic {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub slot: u32,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kcoejjkgnig {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub majgmmcocig: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<Alblefhhjic>,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub buff_list: ::prost::alloc::vec::Vec<Abofjeimllj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gkhgfcbmlbl {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub lhpnjlbpaca: ::core::option::Option<ItemList>,
    /// offset: 60
    #[prost(uint32, tag = "9")]
    pub gebggmagdjb: u32,
    /// offset: 48
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub ghcbfcigibf: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub score_id: u32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub mhphdcfkmlf: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub gmiimahlijf: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub record_info: ::core::option::Option<Kcoejjkgnig>,
    /// offset: 56
    #[prost(uint32, tag = "29")]
    pub area_id: u32,
    /// offset: 68
    #[prost(uint32, tag = "1073")]
    pub heomalbnjll: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phinpojojgd {
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub mhchfdfmnfp: u32,
    /// offset: 48
    #[prost(int64, tag = "4")]
    pub cdgmpcfgkmd: i64,
    /// offset: 37
    #[prost(bool, tag = "6")]
    pub pkpnmooicgp: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub fhhkohkbnop: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(int64, tag = "9")]
    pub mjkpnomchid: i64,
    /// offset: 36
    #[prost(bool, tag = "12")]
    pub kmnpjkcmien: bool,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub pool_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Flcpjjmhago {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub max_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub afemblfccch: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Lohlenbeieb {
    /// offset: 28
    #[prost(int32, tag = "1")]
    pub mnlinfeodpj: i32,
    /// offset: 32
    #[prost(float, tag = "7")]
    pub ratio: f32,
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub is_valid: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Molckkmnhae {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub game_mode_type: u32,
}
/// Obf: GMFGIAEEAFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1825)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueInfoCsReq {}
/// Obf: DDOOMBLAOHN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1878)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub rogue_game_info: ::core::option::Option<Agehgbkobef>,
}
/// Obf: LJINAKCNBCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1893)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartRogueCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "2")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "4")]
    pub afemblfccch: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub jkpipnmggoa: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HHNAMDCALND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1858)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartRogueScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub rogue_game_info: ::core::option::Option<Agehgbkobef>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: MGBFNLJFCAA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1888)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterRogueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
}
/// Obf: KNBOCPOOAEM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub rogue_game_info: ::core::option::Option<Agehgbkobef>,
}
/// Obf: CAGNJEEKBNN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1886)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LeaveRogueCsReq {}
/// Obf: DAEOAHLMACG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1847)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LeaveRogueScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: FKBINHGJLGL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1839)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueFinishScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub nleomlnokcc: ::core::option::Option<Gkhgfcbmlbl>,
}
/// Obf: EKFCDGNOAIN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1804)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekfcdgnoain {
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
}
/// Obf: BHLEHMNFHPJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1811)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bhlehmnfhpj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "7")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: PDNOJMFCDDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1848)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdnojmfcddg {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AJAOJOEAGML
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1845)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajaojoeagml {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub mfeodnjngdp: ::core::option::Option<Kcmfaibmohb>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KHCBONJOLDP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1810)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueReviveInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub mfeodnjngdp: ::core::option::Option<Kcmfaibmohb>,
}
/// Obf: CGMBIHBHLFK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1830)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cgmbihbhlfk {}
/// Obf: AJNDMBCDEOL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1842)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajndmbcdeol {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ilmamlblidl: ::core::option::Option<Hfgbcekgfhk>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: CINMCBDCBMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1872)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cinmcbdcbmj {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub maze_buff_id: u32,
}
/// Obf: NAHANHPHGGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1880)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nahanhphggf {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub cnefdjckapl: ::core::option::Option<Abofjeimllj>,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub kgkejakkldp: bool,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MDFEOFGBJBI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1843)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuitRogueCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
}
/// Obf: PLIDMPJNFEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1829)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuitRogueScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub rogue_game_info: ::core::option::Option<Agehgbkobef>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DDIHBNNOKJN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1834)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueExploreWinScNotify {
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub ilofgcafhah: bool,
}
/// Obf: IMOIBEFBKCL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1896)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueSeasonFinishScNotify {
    /// offset: 48
    #[prost(bool, tag = "2")]
    pub faljmpelhio: bool,
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub nleomlnokcc: ::core::option::Option<Gkhgfcbmlbl>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: GFMDKGLKCOF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1835)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterRogueMapRoomCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub room_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub majkfimpoof: u32,
}
/// Obf: NNAMFPHNGBF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1875)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueMapRoomScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 40
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub anhdbmopgdc: u32,
}
/// Obf: CLPJHIIDAGN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1815)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueMapRoomScNotify {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub map_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub hneanmnjhdb: ::core::option::Option<Paijcbokifo>,
}
/// Obf: KHKGDGBHHPK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1846)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenRogueChestCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub fdekkokbdic: bool,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: CBOLGFEIIOA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1819)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenRogueChestScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub abemlcjbief: ::core::option::Option<Lmdpkoelkfl>,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: JCFJFAFJACN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1828)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeRogueRewardKeyCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub count: u32,
}
/// Obf: LEKLEHPFHMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1898)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExchangeRogueRewardKeyScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub count: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: KPDDKCNHJAB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1895)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueAreaUnlockScNotify {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub area_id: u32,
}
/// Obf: FGOPLKFEJAP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1817)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueGetItemScNotify {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub get_item_list: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub iideaglamcc: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1860)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Higamejncjj {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub afemblfccch: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1890)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kfjfhkljkak {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub afemblfccch: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Klfphoopelb {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1849)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cdokclhedbo {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: FLGHJEANCAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1887)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueAeonInfoCsReq {}
/// Obf: MMOAIOJAMPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1824)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueAeonInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub jhehaibmnnf: ::prost::alloc::vec::Vec<Flcpjjmhago>,
}
/// Obf: FKEFNGCFJKN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1885)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishAeonDialogueGroupCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub afemblfccch: u32,
}
/// Obf: FAOLLLOFMKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1877)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishAeonDialogueGroupScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub aefmmohkchj: ::core::option::Option<Flcpjjmhago>,
}
/// Obf: MKBJONMNLCH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1831)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueTalentInfoCsReq {}
/// Obf: JOCBDCIBNMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1802)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueTalentInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
}
/// Obf: GFMEMPALPAM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1900)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnableRogueTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ckhclkoalke: u32,
}
/// Obf: KLAEMDDHPNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1808)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnableRogueTalentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
}
/// Obf: JNDNJFPANEB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1822)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueVirtualItemInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub nikdpodbief: ::core::option::Option<Gaobhblfpec>,
}
/// Obf: NIFJKCEJFIP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1899)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueStatusScNotify {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub aobckabchgo: bool,
    /// offset: 28
    #[prost(enumeration = "RogueStatus", tag = "11")]
    pub status: i32,
}
/// Obf: IEFFGOMNLNA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1883)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncRogueAeonScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub bgdgiiokhgf: ::core::option::Option<Jibbeeaidic>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcpgbpngoff {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: OIGKGOMIOFF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7683)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueArcadeStartCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub room_id: u32,
}
/// Obf: EEKPMCEONGD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7685)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeStartScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub idcmaccpcbh: ::core::option::Option<Gcpgbpngoff>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: AGGEHIICBBD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7656)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueArcadeLeaveCsReq {}
/// Obf: NLAGBKIIIJK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7659)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeLeaveScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub idcmaccpcbh: ::core::option::Option<Gcpgbpngoff>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NILHOOGLKAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7679)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueArcadeRestartCsReq {}
/// Obf: LNKHNPOEJJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7664)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueArcadeRestartScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub idcmaccpcbh: ::core::option::Option<Gcpgbpngoff>,
}
/// Obf: EBPAKHMFKML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7669)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueArcadeGetInfoCsReq {}
/// Obf: POHFDLFAHKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7690)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueArcadeGetInfoScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub room_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kjamnogfamj {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub hagdkkbaakk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apnccnfjbko {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub buff_list: ::prost::alloc::vec::Vec<Kjamnogfamj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gggbaiapdlo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub ebmeekjgppm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "3")]
    pub noamcdnnhmd: u32,
    /// offset: 68
    #[prost(bool, tag = "4")]
    pub can_roll: bool,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub leofnindjdb: ::prost::alloc::vec::Vec<Kjamnogfamj>,
    /// offset: 52
    #[prost(enumeration = "RogueCommonBuffSelectSourceType", tag = "7")]
    pub source_type: i32,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub fimmfjckcnk: u32,
    /// offset: 76
    #[prost(uint32, tag = "9")]
    pub nkggaojlcmd: u32,
    /// offset: 72
    #[prost(uint32, tag = "10")]
    pub egfolkepnci: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub eialmeadlgf: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub pcgfioklibe: u32,
    /// offset: 40
    #[prost(message, optional, tag = "15")]
    pub dehjdniekhb: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bplnkhgailk {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub baofigffmln: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Demeneaagaa {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkogdinobdf {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub pchgegfbklf: ::core::option::Option<Gggbaiapdlo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bponkblgnnl {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aacjbnfgaba {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub emagfiblncj: ::prost::alloc::vec::Vec<Bponkblgnnl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcciobkofjn {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub lgipilakikb: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub jjdilehlhdh: ::prost::alloc::vec::Vec<Kjamnogfamj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmmlebeejlb {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub nnnjecnenga: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iejiogigfai {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub lgipilakikb: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub cgaepnocdig: ::prost::alloc::vec::Vec<Kjamnogfamj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aejlpcaiodp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub baofigffmln: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkfnillondf {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lgipilakikb: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub leofnindjdb: ::prost::alloc::vec::Vec<Kjamnogfamj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjmedboacgl {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub baofigffmln: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eglapjgfkpn {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub jpkacknnhca: ::core::option::Option<Apnccnfjbko>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kofmgcnimin {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub dggcfdkjdpo: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub total_count: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onkhcfloelj {
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub bkcnaamghkj: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iomemieapjo {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub miracle: ::core::option::Option<Kofmgcnimin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikhmhnoigab {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lhkncmfepfk {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub miracle: ::core::option::Option<Kofmgcnimin>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub fdeecoedjeb: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub egjieaaeebd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okblblpoeno {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub miracle: ::core::option::Option<Kofmgcnimin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jlhjicbchmo {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub hlcpflopgbm: ::core::option::Option<Kofmgcnimin>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub bjibcohegij: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckeomfnpkpo {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub miracle: ::core::option::Option<Kofmgcnimin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmijhconfih {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub majgmmcocig: ::prost::alloc::vec::Vec<Kofmgcnimin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amkalfjhfjp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub lifjcjknknj: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub bpddbkgdmdd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub fahamjfpmmi: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jinfljmpphn {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub ojpgddfjchb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldfjbldicpj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpipkicgabb {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub amibpagbmfp: ::core::option::Option<Amkalfjhfjp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfkolkfkoap {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub clejhgmafod: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bfambjhpnge {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub gegjgjkmeld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lbkikiglimj {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub lgipilakikb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub mjgblebkmdh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpdalngidag {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub pbgbmgiihha: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mbpjgcjegjb {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lgipilakikb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub lhmiifkppag: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jekgaincpnh {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ahplanfabjh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jjpdjpindoa {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub lgipilakikb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub aninmmmglll: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kihmnmmjidl {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ljgnhkcbaio: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dngeekchhed {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub bgafhioehfh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Chepplbnoff {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ojpgddfjchb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngebikihidd {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub bgafhioehfh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aomoenmncnb {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub ojpgddfjchb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cibmbddogbh {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub oomknhfigaf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhlbnbbdhmi {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub hajjbofcfoo: ::core::option::Option<Gmijhconfih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Inkpgecidne {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub kpjpabdiojb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ageogdogdmm {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub rogue_money: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npcigebnofg {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub display_type: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knejehoofgi {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ehkdajfliei {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub jaaiadkfpcl: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub hhfkoojbobf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iohkfhbgicd {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub item_list: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Napfnbjdioo {
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub mcggeaahbpd: ::core::option::Option<Ehkdajfliei>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub reward_item: ::core::option::Option<Iohkfhbgicd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mngnloclnof {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Feijpejbddh {
    /// offset: 24
    #[prost(int32, tag = "9")]
    pub count: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jmpngbailbg {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fenfehccoca {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueAdventureRoomGameplayWolfGunTarget {
    #[prost(
        oneof = "rogue_adventure_room_gameplay_wolf_gun_target::TargetImpl",
        tags = "15, 12, 6, 5"
    )]
    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, Eq, Hash, ::prost::Oneof)]
    pub enum TargetImpl {
        /// offset: 24
        #[prost(message, tag = "15")]
        TargetNone(super::Mngnloclnof),
        /// offset: 24
        #[prost(message, tag = "12")]
        TargetCoin(super::Feijpejbddh),
        /// offset: 24
        #[prost(message, tag = "6")]
        TargetMiracle(super::Jmpngbailbg),
        /// offset: 24
        #[prost(message, tag = "5")]
        TargetRuanmei(super::Fenfehccoca),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bdphjaebkad {
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub battle_target_list: ::prost::alloc::vec::Vec<
        RogueAdventureRoomGameplayWolfGunTarget,
    >,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub nfgnocbckid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Anmdoacphmn {
    #[prost(oneof = "anmdoacphmn::Kknboacncon", tags = "1")]
    pub kknboacncon: ::core::option::Option<anmdoacphmn::Kknboacncon>,
}
/// Nested message and enum types in `ANMDOACPHMN`.
pub mod anmdoacphmn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "1")]
        Pooglpnndab(super::Bdphjaebkad),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhagofkbfap {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub iimoonehglo: u32,
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub score_id: u32,
    /// offset: 40
    #[prost(double, tag = "7")]
    pub ndljijinobb: f64,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub ihnenegkepo: ::core::option::Option<Anmdoacphmn>,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub mefkkhajacj: u32,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub status: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5625)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pjfpipipojn {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub djmhhmmabjl: ::core::option::Option<Hhagofkbfap>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5678)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lnkeeakfehm {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5693)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcadhjhjmmd {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub djmhhmmabjl: ::core::option::Option<Hhagofkbfap>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5672)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Edbogekadgp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub kgebfiojflc: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub eedpldbfmmm: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5680)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mchijnkkoam {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub djmhhmmabjl: ::core::option::Option<Hhagofkbfap>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5638)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cedcddphbog {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5639)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ckpkiinilka {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub djmhhmmabjl: ::core::option::Option<Hhagofkbfap>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5652)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jljnnpiakgh {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub score_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub round: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5620)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flcpmjgchid {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub djmhhmmabjl: ::core::option::Option<Hhagofkbfap>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Elgobkcnohh {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub ljceogpogbe: u32,
    /// offset: 40
    #[prost(bool, tag = "8")]
    pub belpgdagfih: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub kinnmagddjj: ::core::option::Option<ItemCostData>,
    /// offset: 41
    #[prost(bool, tag = "15")]
    pub gcihgkcjogb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjeobmbmnin {
    /// offset: 49
    #[prost(bool, tag = "2")]
    pub belpgdagfih: bool,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub kinnmagddjj: ::core::option::Option<ItemCostData>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub buff_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub jbgenfikggf: u32,
    /// offset: 48
    #[prost(bool, tag = "8")]
    pub gcihgkcjogb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omlmojiglee {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub kahmgpgpoii: u32,
    /// offset: 44
    #[prost(bool, tag = "5")]
    pub belpgdagfih: bool,
    /// offset: 45
    #[prost(bool, tag = "11")]
    pub gcihgkcjogb: bool,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub kinnmagddjj: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Agkonmpojkp {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub majgmmcocig: ::prost::alloc::vec::Vec<Elgobkcnohh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Daenhkenjhk {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub buff_list: ::prost::alloc::vec::Vec<Kjeobmbmnin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gbhahdbdoie {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub kjfeffgpnff: ::prost::alloc::vec::Vec<Omlmojiglee>,
}
/// Obf: MJCPFFDLGGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5681)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueShopBuffInfoCsReq {
    /// offset: 24
    #[prost(bool, tag = "1")]
    pub ljbcdjnnbjh: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: APCHMPGJGGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5686)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopBuffInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub habjhgpfgeb: ::core::option::Option<Daenhkenjhk>,
    /// offset: 40
    #[prost(int32, tag = "10")]
    pub kcbohfnfjea: i32,
    /// offset: 44
    #[prost(int32, tag = "11")]
    pub apmgphfhenp: i32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub jomdkginnek: ::core::option::Option<ItemCostData>,
}
/// Obf: CICKIFGMKPF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5658)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueShopMiracleInfoCsReq {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub ljbcdjnnbjh: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: DDHJFDPBPAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5688)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopMiracleInfoScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub jomdkginnek: ::core::option::Option<ItemCostData>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub dnpccfffbhn: ::core::option::Option<Agkonmpojkp>,
}
/// Obf: JIKKKPKEFMH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5700)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueShopFormulaInfoCsReq {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub ljbcdjnnbjh: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: GFGLECFFFLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5608)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueShopFormulaInfoScRsp {
    /// offset: 40
    #[prost(int32, tag = "4")]
    pub apmgphfhenp: i32,
    /// offset: 44
    #[prost(int32, tag = "9")]
    pub kcbohfnfjea: i32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub jomdkginnek: ::core::option::Option<ItemCostData>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub eapcjknggca: ::core::option::Option<Gbhahdbdoie>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5647)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mknbfmjgkbm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub ljceogpogbe: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5613)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lecigppcmab {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub aoliedbcnbn: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OMAOGCPKDNB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5667)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyRogueShopMiracleCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "7")]
    pub kofnojcmefa: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: DLJLBCGBOCB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5626)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopMiracleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub dnpccfffbhn: ::core::option::Option<Agkonmpojkp>,
}
/// Obf: DCAEIHGJFDE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5671)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopBuffScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub habjhgpfgeb: ::core::option::Option<Daenhkenjhk>,
}
/// Obf: PFJKHHMEOGH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5676)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyRogueShopFormulaScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub eapcjknggca: ::core::option::Option<Gbhahdbdoie>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5640)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjepclpmkki {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub hdhnkfpmpao: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5633)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gknpeghpcmh {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MPDDBHDFJKH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5654)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueShopBeginBattleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub interacted_prop_entity_id: u32,
}
/// Obf: PBFEGMDAIDN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5656)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueShopBeginBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub aepnedjpagk: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FACMJBCOHBP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5618)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonActionResultScNotify {
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub clggklnplck: ::prost::alloc::vec::Vec<Maokmpoelco>,
    /// offset: 44
    #[prost(enumeration = "Diceondkeff", tag = "9")]
    pub display_type: i32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub dlojfeehlij: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub kclbfindgna: ::prost::alloc::vec::Vec<Acmkpnmkokh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Maokmpoelco {
    /// offset: 36
    #[prost(enumeration = "Nhhmepillhl", tag = "9")]
    pub source: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub queue_position: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub detail: ::core::option::Option<Pkhkeekiodc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbdmgegelfm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub key: u32,
    /// offset: 24
    #[prost(int32, tag = "12")]
    pub dpicngbhfac: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Omjgknjkhch {
    /// offset: 24
    #[prost(int32, tag = "2")]
    pub ngibkcodmal: i32,
    /// offset: 32
    #[prost(int32, tag = "9")]
    pub joccapdmhgb: i32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub ignacljkfgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lejfiepmmgg {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub ifjihnbdngn: ::prost::alloc::vec::Vec<Cbdmgegelfm>,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub kahmgpgpoii: u32,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub is_activated: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hmaaicnbkci {
    /// offset: 16
    #[prost(map = "uint32, int32", tag = "12")]
    pub dclbhohpgmb: ::std::collections::HashMap<u32, i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jjemdneimoj {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub dkeenimplkd: ::core::option::Option<Lejfiepmmgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mknalglebna {
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub dkeenimplkd: ::core::option::Option<Lejfiepmmgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkohblegmao {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub dkeenimplkd: ::core::option::Option<Lejfiepmmgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbgiinjfccd {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub dkeenimplkd: ::core::option::Option<Lejfiepmmgg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfjnapdimkm {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub emllepoaded: ::prost::alloc::vec::Vec<Omjgknjkhch>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cjafldkhdaf {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub value: ::core::option::Option<Hmaaicnbkci>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djoddecfhmc {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub enfikccmhai: ::core::option::Option<Hmaaicnbkci>,
    /// offset: 40
    #[prost(message, repeated, tag = "8")]
    pub kjfeffgpnff: ::prost::alloc::vec::Vec<Lejfiepmmgg>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub emllepoaded: ::prost::alloc::vec::Vec<Omjgknjkhch>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hcnefgjccmb {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pekgidfpbnj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lflmjklkbil {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub pekgidfpbnj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohhkeogomca {
    /// offset: 16
    #[prost(map = "uint32, bool", tag = "3")]
    pub paclgpidjgl: ::std::collections::HashMap<u32, bool>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bdjlhjdpeek {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub composition_type: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub attribute_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nkobpbbondj {
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub bjdebhmkjbc: bool,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub kdfkdnlndhn: ::core::option::Option<Bdjlhjdpeek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ipkobbjpkml {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gnlbcchfilk {
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub bjdebhmkjbc: bool,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub kdfkdnlndhn: ::core::option::Option<Bdjlhjdpeek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eddeokaijab {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub amoablicedp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pkoofpocnkb {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ifdihfkkcle: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub dbpahbjpflj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pkhkeekiodc {
    #[prost(
        oneof = "pkhkeekiodc::Kknboacncon",
        tags = "5, 14, 1986, 703, 250, 1047, 198, 329, 1684, 1145, 1974, 986, 1496, 101, 1592, 1007, 99, 137, 221, 1284, 663, 1991, 449, 895, 2015, 486, 685, 1026, 897, 1082, 246, 518, 141, 950, 903, 1429, 985, 945, 2011, 1617, 364"
    )]
    pub kknboacncon: ::core::option::Option<pkhkeekiodc::Kknboacncon>,
}
/// Nested message and enum types in `PKHKEEKIODC`.
pub mod pkhkeekiodc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "5")]
        Ddclcnponoh(super::Npcigebnofg),
        /// offset: 16
        #[prost(message, tag = "14")]
        Condgfpofkd(super::Npcigebnofg),
        /// offset: 16
        #[prost(message, tag = "1986")]
        Ifooepkggag(super::Kjamnogfamj),
        /// offset: 16
        #[prost(message, tag = "703")]
        Cmpncfcjcne(super::Kjamnogfamj),
        /// offset: 16
        #[prost(message, tag = "250")]
        Gpjjmpcmaaa(super::Iomemieapjo),
        /// offset: 16
        #[prost(message, tag = "1047")]
        Laefenccbbc(super::Ikhmhnoigab),
        /// offset: 16
        #[prost(message, tag = "198")]
        Kdjbdmldmhg(super::Lhkncmfepfk),
        /// offset: 16
        #[prost(message, tag = "329")]
        Cbpinaohebd(super::Okblblpoeno),
        /// offset: 16
        #[prost(message, tag = "1684")]
        Omflcebllmi(super::Jlhjicbchmo),
        /// offset: 16
        #[prost(message, tag = "1145")]
        Flggfgcignj(super::Ckeomfnpkpo),
        /// offset: 16
        #[prost(message, tag = "1974")]
        Acifeippila(super::Knejehoofgi),
        /// offset: 16
        #[prost(message, tag = "986")]
        Mdgndllefje(super::Jjemdneimoj),
        /// offset: 16
        #[prost(message, tag = "1496")]
        Joclinghbhe(super::Mknalglebna),
        /// offset: 16
        #[prost(message, tag = "101")]
        Hpmjhogclgg(super::Pkohblegmao),
        /// offset: 16
        #[prost(message, tag = "1592")]
        Kmamkbkncpm(super::Fbgiinjfccd),
        /// offset: 16
        #[prost(message, tag = "1007")]
        Jejcfjedola(super::Cfjnapdimkm),
        /// offset: 16
        #[prost(message, tag = "99")]
        Jeblgelgbhm(super::Cjafldkhdaf),
        /// offset: 16
        #[prost(message, tag = "137")]
        Ghmkdckjilo(super::Hcnefgjccmb),
        /// offset: 16
        #[prost(message, tag = "221")]
        Ceicjpemghd(super::Lflmjklkbil),
        /// offset: 16
        #[prost(message, tag = "1284")]
        Ebfcomcmglc(super::Gngihjijgmd),
        /// offset: 16
        #[prost(message, tag = "663")]
        Jdcmepiompn(super::Lbbcnooocne),
        /// offset: 16
        #[prost(message, tag = "1991")]
        Kcghlohdmbm(super::Aofkckoifcm),
        /// offset: 16
        #[prost(message, tag = "449")]
        Jmjponnljej(super::Mmbbhfnjili),
        /// offset: 16
        #[prost(message, tag = "895")]
        Mcpkpjhbeak(super::Mmbbhfnjili),
        /// offset: 16
        #[prost(message, tag = "2015")]
        Gdabgnbkfpa(super::Mmbbhfnjili),
        /// offset: 16
        #[prost(message, tag = "486")]
        Apgpogakpac(super::Dnlkmhlaphc),
        /// offset: 16
        #[prost(message, tag = "685")]
        Jolnbchmdnn(super::Nemjdllbbgn),
        /// offset: 16
        #[prost(message, tag = "1026")]
        Kohocjamjan(super::Nbfagoojiob),
        /// offset: 16
        #[prost(message, tag = "897")]
        Aegmecdfnbe(super::Nbfagoojiob),
        /// offset: 16
        #[prost(message, tag = "1082")]
        Ciolgfnlebb(super::Nkobpbbondj),
        /// offset: 16
        #[prost(message, tag = "246")]
        Bijodagiknf(super::Ipkobbjpkml),
        /// offset: 16
        #[prost(message, tag = "518")]
        Melcfmhkeca(super::Gnlbcchfilk),
        /// offset: 16
        #[prost(message, tag = "141")]
        Emkighcfkcn(super::Eddeokaijab),
        /// offset: 16
        #[prost(message, tag = "950")]
        Kahkmdhfloh(super::Pkoofpocnkb),
        /// offset: 16
        #[prost(message, tag = "903")]
        Alneineojoj(super::Himjnabcjmm),
        /// offset: 16
        #[prost(message, tag = "1429")]
        Egploeaafgl(super::Pphlebfjigm),
        /// offset: 16
        #[prost(message, tag = "985")]
        Jkljbcbfnpl(super::Jgcmgamhdhm),
        /// offset: 16
        #[prost(message, tag = "945")]
        Midflehkpbf(super::Oecnjoapcko),
        /// offset: 16
        #[prost(message, tag = "2011")]
        Nbekldcbjch(super::Omacakfnaoa),
        /// offset: 16
        #[prost(message, tag = "1617")]
        Dfjckblaobn(super::Gbkilnhhglb),
        /// offset: 16
        #[prost(message, tag = "364")]
        Flpdilmmcfk(super::Oepihjohlkm),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofmcklemomp {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub lgipilakikb: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub oneceaijlam: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub ojceeicjbgi: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub deniihgknfm: u32,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub goomjpleikl: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(bool, tag = "15")]
    pub can_roll: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pijdfmajmfd {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub jmnmfmhpckd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jiglehnaknj {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub lgipilakikb: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub kllijgihfap: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igodpkfldne {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub jmnmfmhpckd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Chdpilmcjnp {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okfpppbnjnh {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub fneoomhhggb: ::core::option::Option<Ofmcklemomp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pagjkbppokl {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub fneoomhhggb: ::core::option::Option<Ofmcklemomp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Helgmbbogmj {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub jmnmfmhpckd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pibomockaca {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub kdiddhidncg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ldkmoffmgel {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub r#type: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub lpolpdbelon: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub slot: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ocbpjllljgo {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gcahklngfck: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dnlkmhlaphc {
    /// offset: 48
    #[prost(message, optional, tag = "6")]
    pub oopcpmancbo: ::core::option::Option<Ocbpjllljgo>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "9")]
    pub hcpnpdljkgf: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "13")]
    pub lednahckmhk: ::prost::alloc::vec::Vec<Ldkmoffmgel>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub ajflahgjelp: ::prost::alloc::vec::Vec<Okccleepelm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okccleepelm {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cfkkkpnkhel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mmbbhfnjili {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub ojeandpabhc: ::core::option::Option<Okccleepelm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gngihjijgmd {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub lanfflclgah: ::core::option::Option<Dnlkmhlaphc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbbcnooocne {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lanfflclgah: ::core::option::Option<Dnlkmhlaphc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aofkckoifcm {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub lanfflclgah: ::core::option::Option<Dnlkmhlaphc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kbklneckden {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub nkggaojlcmd: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub agkfaodicea: ::prost::alloc::vec::Vec<Okccleepelm>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub epoclanfiac: ::core::option::Option<Okccleepelm>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub eialmeadlgf: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ofggmbhckpj {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub lgipilakikb: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub agkfaodicea: ::prost::alloc::vec::Vec<Mmbbhfnjili>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gdiklacnoej {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub acccinppinc: ::core::option::Option<Okccleepelm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahnlmmfhome {
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub acccinppinc: ::core::option::Option<Mmbbhfnjili>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nemjdllbbgn {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub blebjldolii: ::core::option::Option<Mmbbhfnjili>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub liijnikigjd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nfnmmfbjblc {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub inldhmaipmh: ::prost::alloc::vec::Vec<Ocbpjllljgo>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub lgipilakikb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhbeohdmhda {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub pjjnmnjmkbg: ::core::option::Option<Ocbpjllljgo>,
    /// offset: 32
    #[prost(bool, tag = "14")]
    pub okjjommgigd: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpjbdopfpdl {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub maagbkhlecb: ::core::option::Option<Ocbpjllljgo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ihofknbnnlb {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub nbkmdmgmogk: ::core::option::Option<Ocbpjllljgo>,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub ajplpefcnam: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nbfagoojiob {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub omhhoadfmli: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fggjcldlmmi {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pljpipdfaha: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub ohkhmdeocla: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpofapdkbja {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub lgipilakikb: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub fbjllmgopho: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub pnncegemapp: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub pgacppnafff: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub daemebckhik: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gjihimkiclg {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub meohdnhgpmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mcfekkmfeha {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eljdpdfmlpm {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ickmkpjacab: ::core::option::Option<Kpofapdkbja>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdicomlmbme {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub aiafekgbfif: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ebolnpimdal {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub battle_event_id: u32,
    /// offset: 36
    #[prost(bool, tag = "10")]
    pub is_win: bool,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "14")]
    pub ngjjmoiajko: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhllnfjhmek {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub aiafekgbfif: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Odhjedhkhod {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub nmmcobbkkha: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub bimfeahdmik: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jdfnpicgcgi {
    /// offset: 56
    #[prost(map = "uint32, uint32", tag = "1")]
    pub keghpohgpff: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "2")]
    pub mlidkpgkcil: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub gjfpefcobfj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "5")]
    pub lifjcjknknj: u32,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub jbebekeckjn: ::core::option::Option<Odhjedhkhod>,
    /// offset: 81
    #[prost(bool, tag = "11")]
    pub pljnppkffco: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub oimcphnonpf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "13")]
    pub fniphpiebnb: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "14")]
    pub fahamjfpmmi: u32,
    /// offset: 80
    #[prost(bool, tag = "15")]
    pub klgghnilhic: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ekifaojkocl {
    #[prost(oneof = "ekifaojkocl::Gbfhogkmmea", tags = "14, 13")]
    pub gbfhogkmmea: ::core::option::Option<ekifaojkocl::Gbfhogkmmea>,
}
/// Nested message and enum types in `EKIFAOJKOCL`.
pub mod ekifaojkocl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Gbfhogkmmea {
        /// offset: 16
        #[prost(uint32, tag = "14")]
        UniqueId(u32),
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Jamnnbeppke(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Apokgadphdc {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Obneohhdaip {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub ifpbfmoajop: ::core::option::Option<Jdfnpicgcgi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nihkhkonhpn {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub cpohglheolg: ::core::option::Option<Fhbdpojeemj>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub lgipilakikb: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub fncioccacmd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub leopmigfdlk: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Almgfdoplga {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub fgihkkkogjd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egmpaconnfp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub npblekplpfa: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub gncfhikodke: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Himjnabcjmm {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub jkfnakbgibf: ::prost::alloc::vec::Vec<Egmpaconnfp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pphlebfjigm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub oiijcljhppe: u32,
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub aiifgdgonif: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub style_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub style_exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omacakfnaoa {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub ihfebnbhdfm: ::prost::alloc::vec::Vec<Kvp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oecnjoapcko {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fagjacofhgf: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub kmikbanmafk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgcmgamhdhm {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub pggdehkkinp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pgmiabhejnb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub iccmiehkdao: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Clmpccgcadk {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub eoolciachfj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohjjmcmjehl {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub blahnldhinc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub daemebckhik: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub naenaegaeaf: u32,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub odbkcibgllp: bool,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub mljhcognjel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jklllndhjhi {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pgdehmagglf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bohajcpbbji {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Klehehamklc {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub kbebglaaegm: ::core::option::Option<Ohjjmcmjehl>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kgliooodbpn {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub composition_type: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub oeomilpafgi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pbmgacmambe {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub iojpokcdfhm: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub jkfnakbgibf: ::prost::alloc::vec::Vec<Kgliooodbpn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ogpohfpheob {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub pmilabmfmmm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gbkilnhhglb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub gmmafionfnf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lhkaopapjek {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub scene: ::core::option::Option<SceneInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Oepihjohlkm {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub idcmaccpcbh: ::core::option::Option<Lhkaopapjek>,
}
/// Obf: DLNANAEDDEE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5653)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonPendingActionScNotify {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub dlojfeehlij: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub action: ::core::option::Option<Inhbmhcjjcn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Inhbmhcjjcn {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub queue_position: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub detail: ::core::option::Option<Dcfpeimamcn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcfpeimamcn {
    #[prost(
        oneof = "dcfpeimamcn::Kknboacncon",
        tags = "724, 1500, 2020, 1112, 491, 1660, 1193, 462, 756, 278, 1576, 578, 633, 1077, 1569, 576, 1927, 499, 1290, 1880, 471, 2028, 1107, 171, 566, 1003, 167, 290"
    )]
    pub kknboacncon: ::core::option::Option<dcfpeimamcn::Kknboacncon>,
}
/// Nested message and enum types in `DCFPEIMAMCN`.
pub mod dcfpeimamcn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "724")]
        Pchgegfbklf(super::Gggbaiapdlo),
        /// offset: 16
        #[prost(message, tag = "1500")]
        Jfnhdjidjda(super::Gcciobkofjn),
        /// offset: 16
        #[prost(message, tag = "2020")]
        Femfjidbeab(super::Iejiogigfai),
        /// offset: 16
        #[prost(message, tag = "1112")]
        Ghbbkkabkbn(super::Pkfnillondf),
        /// offset: 16
        #[prost(message, tag = "491")]
        Amibpagbmfp(super::Amkalfjhfjp),
        /// offset: 16
        #[prost(message, tag = "1660")]
        Pakphfjobaf(super::Lfkolkfkoap),
        /// offset: 16
        #[prost(message, tag = "1193")]
        Bjkedgmkolm(super::Lbkikiglimj),
        /// offset: 16
        #[prost(message, tag = "462")]
        Ngcjbbcoocf(super::Mbpjgcjegjb),
        /// offset: 16
        #[prost(message, tag = "756")]
        Cnanedfpnkj(super::Jjpdjpindoa),
        /// offset: 16
        #[prost(message, tag = "278")]
        Cdfpgkgilaj(super::Dngeekchhed),
        /// offset: 16
        #[prost(message, tag = "1576")]
        Pmkjimiiogm(super::Ngebikihidd),
        /// offset: 16
        #[prost(message, tag = "578")]
        Jipepmdmcmb(super::Inkpgecidne),
        /// offset: 16
        #[prost(message, tag = "633")]
        Fneoomhhggb(super::Ofmcklemomp),
        /// offset: 16
        #[prost(message, tag = "1077")]
        Emojgafocml(super::Jiglehnaknj),
        /// offset: 16
        #[prost(message, tag = "1569")]
        Bmemabnefkk(super::Pagjkbppokl),
        /// offset: 16
        #[prost(message, tag = "576")]
        Goifjfkifff(super::Kbklneckden),
        /// offset: 16
        #[prost(message, tag = "1927")]
        Fjchodndika(super::Nfnmmfbjblc),
        /// offset: 16
        #[prost(message, tag = "499")]
        Faenlpcffeb(super::Kpjbdopfpdl),
        /// offset: 16
        #[prost(message, tag = "1290")]
        Nlamhgacgio(super::Ofggmbhckpj),
        /// offset: 16
        #[prost(message, tag = "1880")]
        Jcbniadpogn(super::Ofggmbhckpj),
        /// offset: 16
        #[prost(message, tag = "471")]
        Ijmiemkjchm(super::Ofggmbhckpj),
        /// offset: 16
        #[prost(message, tag = "2028")]
        Phglaeogjkm(super::Fdicomlmbme),
        /// offset: 16
        #[prost(message, tag = "1107")]
        Mmhgaebeihd(super::Kpofapdkbja),
        /// offset: 16
        #[prost(message, tag = "171")]
        Ifpbfmoajop(super::Jdfnpicgcgi),
        /// offset: 16
        #[prost(message, tag = "566")]
        Knkapjocngm(super::Nihkhkonhpn),
        /// offset: 16
        #[prost(message, tag = "1003")]
        Hdahobbjdif(super::Pgmiabhejnb),
        /// offset: 16
        #[prost(message, tag = "167")]
        Kbebglaaegm(super::Ohjjmcmjehl),
        /// offset: 16
        #[prost(message, tag = "290")]
        Hblhlfdhigp(super::Pbmgacmambe),
    }
}
/// Obf: OFEDNNJIJFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5637)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub bfneppcnooi: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_cs_req::Kknboacncon",
        tags = "137, 239, 280, 1141, 1212, 1883, 1597, 1599, 1768, 1186, 1191, 1744, 734, 1694, 399, 731, 251, 1533, 1148, 221, 668, 1545, 1397, 1949, 1946, 1679, 1757, 860, 278, 1375, 878, 879, 1358, 641, 244760, 257315"
    )]
    pub kknboacncon: ::core::option::Option<
        handle_rogue_common_pending_action_cs_req::Kknboacncon,
    >,
}
/// Nested message and enum types in `HandleRogueCommonPendingActionCsReq`.
pub mod handle_rogue_common_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "137")]
        Opdcgjekekp(super::Bplnkhgailk),
        /// offset: 24
        #[prost(message, tag = "239")]
        Hknplhmlinb(super::Nmmlebeejlb),
        /// offset: 24
        #[prost(message, tag = "280")]
        Illbnbmcmpf(super::Aejlpcaiodp),
        /// offset: 24
        #[prost(message, tag = "1141")]
        Dfkjoggfdhd(super::Demeneaagaa),
        /// offset: 24
        #[prost(message, tag = "1212")]
        Hdnglmgchek(super::Pjmedboacgl),
        /// offset: 24
        #[prost(message, tag = "1883")]
        Jogglmmcmfh(super::Jinfljmpphn),
        /// offset: 24
        #[prost(message, tag = "1597")]
        Omakkkmncjh(super::Ldfjbldicpj),
        /// offset: 24
        #[prost(message, tag = "1599")]
        Caelbfpkndn(super::Bfambjhpnge),
        /// offset: 24
        #[prost(message, tag = "1768")]
        Egoffkfondp(super::Kpdalngidag),
        /// offset: 24
        #[prost(message, tag = "1186")]
        Hfmojhnmnjn(super::Jekgaincpnh),
        /// offset: 24
        #[prost(message, tag = "1191")]
        Ganjigmpdnl(super::Kihmnmmjidl),
        /// offset: 24
        #[prost(message, tag = "1744")]
        Baalmnpnglo(super::Chepplbnoff),
        /// offset: 24
        #[prost(message, tag = "734")]
        Eblalpnfhfm(super::Aomoenmncnb),
        /// offset: 24
        #[prost(message, tag = "1694")]
        Gfilimkpcdm(super::Cibmbddogbh),
        /// offset: 24
        #[prost(message, tag = "399")]
        Mlbekiddgod(super::Pijdfmajmfd),
        /// offset: 24
        #[prost(message, tag = "731")]
        Hpbiagddehn(super::Chdpilmcjnp),
        /// offset: 24
        #[prost(message, tag = "251")]
        Nbchiifmcnc(super::Igodpkfldne),
        /// offset: 24
        #[prost(message, tag = "1533")]
        Emefjodmaoi(super::Helgmbbogmj),
        /// offset: 24
        #[prost(message, tag = "1148")]
        Cfcbjdkkcmb(super::Gdiklacnoej),
        /// offset: 24
        #[prost(message, tag = "221")]
        Capldjmoipb(super::Jhbeohdmhda),
        /// offset: 24
        #[prost(message, tag = "668")]
        Mnlhchkleog(super::Ihofknbnnlb),
        /// offset: 24
        #[prost(message, tag = "1545")]
        Egiiehodaej(super::Ahnlmmfhome),
        /// offset: 24
        #[prost(message, tag = "1397")]
        Nnplaaibogb(super::Ahnlmmfhome),
        /// offset: 24
        #[prost(message, tag = "1949")]
        Ahkbaeimcnm(super::Ahnlmmfhome),
        /// offset: 24
        #[prost(message, tag = "1946")]
        Ljjnmmgjgna(super::Gjihimkiclg),
        /// offset: 24
        #[prost(message, tag = "1679")]
        Legobnmkhco(super::Mcfekkmfeha),
        /// offset: 24
        #[prost(message, tag = "1757")]
        Logmghbmhpe(super::Ekifaojkocl),
        /// offset: 24
        #[prost(message, tag = "860")]
        Cgehcaikapj(super::Apokgadphdc),
        /// offset: 24
        #[prost(message, tag = "278")]
        Opjonhebibg(super::Almgfdoplga),
        /// offset: 24
        #[prost(message, tag = "1375")]
        Aijhfpcfpdm(super::Clmpccgcadk),
        /// offset: 24
        #[prost(message, tag = "878")]
        Gcbfcjihnfc(super::Jklllndhjhi),
        /// offset: 24
        #[prost(message, tag = "879")]
        Nfmaagnlala(super::Bohajcpbbji),
        /// offset: 24
        #[prost(message, tag = "1358")]
        Iacmghackda(super::Ogpohfpheob),
        /// offset: 24
        #[prost(message, tag = "641")]
        Cngclilldjg(super::Pibomockaca),
        /// offset: 24
        #[prost(message, tag = "244760")]
        Fnglocnbcoj(super::Ebolnpimdal),
        /// offset: 24
        #[prost(message, tag = "257315")]
        Pdaehmfkeof(super::Mhllnfjhmek),
    }
}
/// Obf: LEFAKCMDGNB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5651)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HandleRogueCommonPendingActionScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub queue_position: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub bfneppcnooi: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    #[prost(
        oneof = "handle_rogue_common_pending_action_sc_rsp::Kknboacncon",
        tags = "7, 14, 4, 12, 11, 627"
    )]
    pub kknboacncon: ::core::option::Option<
        handle_rogue_common_pending_action_sc_rsp::Kknboacncon,
    >,
}
/// 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 Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "7")]
        Jfhkdeidmog(super::Fkogdinobdf),
        /// offset: 16
        #[prost(message, tag = "14")]
        Cobnpfdhmea(super::Hpipkicgabb),
        /// offset: 16
        #[prost(message, tag = "4")]
        Ldofnpgnjjc(super::Okfpppbnjnh),
        /// offset: 16
        #[prost(message, tag = "12")]
        Pkboekffmkm(super::Eljdpdfmlpm),
        /// offset: 16
        #[prost(message, tag = "11")]
        Fpjabecnfna(super::Obneohhdaip),
        /// offset: 16
        #[prost(message, tag = "627")]
        Hgbkmehomha(super::Klehehamklc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bphikpcnbhm {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub maze_buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cigdbckofbn {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub npnmlpnbhdp: u32,
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub alajjmkomml: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmhmghehhcm {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub pnhglnpdfea: u32,
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub alajjmkomml: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmdkhgggmbc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub hmiohpimlce: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub exp: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub level: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub max_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub afemblfccch: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onmfminnbeb {
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub ddladfjmeec: ::core::option::Option<Ocbpjllljgo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lgfokkpiceh {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub kgophalllli: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub cfkkkpnkhel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhgjeihkkhb {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub buff_list: ::prost::alloc::vec::Vec<Bphikpcnbhm>,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub jhehaibmnnf: ::prost::alloc::vec::Vec<Nmdkhgggmbc>,
    /// offset: 40
    #[prost(message, repeated, tag = "14")]
    pub majgmmcocig: ::prost::alloc::vec::Vec<Cigdbckofbn>,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub pmiffbhoooo: ::prost::alloc::vec::Vec<Nmhmghehhcm>,
}
/// Obf: MJNKKPCCBMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5673)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueHandbookDataCsReq {}
/// Obf: CNOFLEBNGAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5612)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueHandbookDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub hamkplcbebg: ::core::option::Option<Nhgjeihkkhb>,
}
/// Obf: FFFCJNFIDLO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5635)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueHandbookDataUpdateScNotify {
    /// offset: 48
    #[prost(message, repeated, tag = "7")]
    pub ipnaagcmnlb: ::prost::alloc::vec::Vec<Bphikpcnbhm>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub bojgaejncfp: ::prost::alloc::vec::Vec<Nmhmghehhcm>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub jeagpfdbjdh: ::prost::alloc::vec::Vec<Lgfokkpiceh>,
    /// offset: 40
    #[prost(message, repeated, tag = "11")]
    pub bfdfabhmcne: ::prost::alloc::vec::Vec<Cigdbckofbn>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub lmdkijfdleo: ::prost::alloc::vec::Vec<Onmfminnbeb>,
}
/// Obf: MBNKNCDIJLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5675)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub phinemjkbjk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ABAJJKIIFBG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5644)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueMiracleHandbookRewardScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub cndlcgeflcj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: OJGOBCCMHOH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5649)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeEventHandbookRewardCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub pinndkijhfg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: LMCDLJJFGKE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5615)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeEventHandbookRewardScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub dbgookphlfd: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkedpcmlife {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "2")]
    pub hjaniokjalb: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cackkioeoef {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub jppaggpjomo: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub oljcajmfjpo: ::core::option::Option<Lmncbidkhlf>,
    /// offset: 36
    #[prost(int32, tag = "13")]
    pub fjciknakjog: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbanjnlbdbb {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub kehklhmeabi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jeikfffgonb {
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub bhbpkkknabo: ::prost::alloc::vec::Vec<Dingdglkhip>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ecjamihnofl {
    #[prost(oneof = "ecjamihnofl::Leoiaofbbfa", tags = "10, 15, 3, 11, 13, 1, 6, 4")]
    pub leoiaofbbfa: ::core::option::Option<ecjamihnofl::Leoiaofbbfa>,
}
/// Nested message and enum types in `ECJAMIHNOFL`.
pub mod ecjamihnofl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Leoiaofbbfa {
        /// offset: 16
        #[prost(message, tag = "10")]
        Habjhgpfgeb(super::Eglapjgfkpn),
        /// offset: 16
        #[prost(message, tag = "15")]
        Dnpccfffbhn(super::Nhlbnbbdhmi),
        /// offset: 16
        #[prost(message, tag = "3")]
        Hfepbjhjpaf(super::Fkedpcmlife),
        /// offset: 16
        #[prost(message, tag = "11")]
        Aefmmohkchj(super::Cackkioeoef),
        /// offset: 16
        #[prost(message, tag = "13")]
        Eiihjjebkoe(super::Cbanjnlbdbb),
        /// offset: 16
        #[prost(message, tag = "1")]
        Eapcjknggca(super::Djoddecfhmc),
        /// offset: 16
        #[prost(message, tag = "6")]
        Klnbjhpdmfi(super::Ohhkeogomca),
        /// offset: 16
        #[prost(message, tag = "4")]
        Eiohfjmfokf(super::Jeikfffgonb),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkfgimibbhf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mmfgajncaoa: u32,
    /// offset: 28
    #[prost(bool, tag = "8")]
    pub finish: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Okpipfkonmg {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub ckhclkoalke: u32,
    /// offset: 32
    #[prost(enumeration = "RogueTalentStatus", tag = "8")]
    pub status: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub ldhijahnegk: ::prost::alloc::vec::Vec<Gkfgimibbhf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fdbdlbapdbe {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub blhjipbhhfo: ::prost::alloc::vec::Vec<Okpipfkonmg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lkcdljckcji {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub kmnilikjfhd: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub item_type: u32,
}
/// Obf: FDFGDPBEKCJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5614)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueVirtualItemInfoScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub dmcincjlmnd: ::prost::alloc::vec::Vec<Lkcdljckcji>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kpihdpgdmkb {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub ocagiakngpg: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub nbbababpebe: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub dgjpgmgpcce: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahlaleejoeg {
    /// offset: 24
    #[prost(enumeration = "Mgjdnghdikg", repeated, tag = "10")]
    pub lfcgpokmjlc: ::prost::alloc::vec::Vec<i32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cddeipobbcn {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub bhaglnbngbp: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ganfmbpejpf {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub jfhkjogeond: ::prost::alloc::vec::Vec<Dikbpkakeno>,
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub cepdobeiefg: ::prost::alloc::vec::Vec<Jmjeibgacmd>,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub pakecmnpejj: ::prost::alloc::vec::Vec<Dgklppljbnb>,
    /// offset: 48
    #[prost(message, repeated, tag = "15")]
    pub dpikocfilgp: ::prost::alloc::vec::Vec<Npajhgdeidj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cckjaedddcl {
    #[prost(oneof = "cckjaedddcl::Kknboacncon", tags = "6, 14, 5, 15")]
    pub kknboacncon: ::core::option::Option<cckjaedddcl::Kknboacncon>,
}
/// Nested message and enum types in `CCKJAEDDDCL`.
pub mod cckjaedddcl {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "6")]
        Bmgolfnghgh(super::Kpihdpgdmkb),
        /// offset: 24
        #[prost(message, tag = "14")]
        Bbekbjphejk(super::Ahlaleejoeg),
        /// offset: 24
        #[prost(message, tag = "5")]
        Mecoefejane(super::Cddeipobbcn),
        /// offset: 24
        #[prost(message, tag = "15")]
        Abpoocookcf(super::Ganfmbpejpf),
    }
}
/// Obf: BGDHGALEOIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5646)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CommonRogueQueryCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub query_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NHLDNOOFHCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5619)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonRogueQueryScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub glgheoppcmh: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub lflcdngalme: ::prost::alloc::vec::Vec<Cckjaedddcl>,
}
/// Obf: OKPPACPGJIO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5628)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CommonRogueUpdateScNotify {
    #[prost(oneof = "common_rogue_update_sc_notify::Nokmoihlgbn", tags = "6, 14, 3")]
    pub nokmoihlgbn: ::core::option::Option<common_rogue_update_sc_notify::Nokmoihlgbn>,
}
/// Nested message and enum types in `CommonRogueUpdateScNotify`.
pub mod common_rogue_update_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Nokmoihlgbn {
        /// offset: 24
        #[prost(message, tag = "6")]
        Bmgolfnghgh(super::Kpihdpgdmkb),
        /// offset: 24
        #[prost(message, tag = "14")]
        Bbekbjphejk(super::Ahlaleejoeg),
        /// offset: 24
        #[prost(message, tag = "3")]
        Mecoefejane(super::Cddeipobbcn),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Heobldjaope {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub mjbknmjhogp: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub oeanpihchhf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Foingknpblj {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub kahmgpgpoii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Knpmlbobkpi {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub lnahjengela: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oepamdepflj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lehbibdgehg {
    #[prost(oneof = "lehbibdgehg::Jgoloiomgfo", tags = "12, 13, 4, 1")]
    pub jgoloiomgfo: ::core::option::Option<lehbibdgehg::Jgoloiomgfo>,
}
/// Nested message and enum types in `LEHBIBDGEHG`.
pub mod lehbibdgehg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Jgoloiomgfo {
        /// offset: 24
        #[prost(message, tag = "12")]
        Mfaegbjbjbe(super::Heobldjaope),
        /// offset: 24
        #[prost(message, tag = "13")]
        Mnkgphfjdfm(super::Foingknpblj),
        /// offset: 24
        #[prost(message, tag = "4")]
        Dcfilenmpcc(super::Knpmlbobkpi),
        /// offset: 24
        #[prost(message, tag = "1")]
        Bdfkgflfcfo(super::Oepamdepflj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Knmnejcmhge {
    /// offset: 24
    #[prost(float, tag = "12")]
    pub gmpkbklgdma: f32,
    /// offset: 28
    #[prost(int32, tag = "14")]
    pub mnlinfeodpj: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piacccgnoof {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub battle_event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bpokopcgmaj {
    /// offset: 24
    #[prost(int32, tag = "4")]
    pub change_value: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Maeeibpeofn {
    #[prost(oneof = "maeeibpeofn::Pgniencdoda", tags = "2, 14")]
    pub pgniencdoda: ::core::option::Option<maeeibpeofn::Pgniencdoda>,
}
/// Nested message and enum types in `MAEEIBPEOFN`.
pub mod maeeibpeofn {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Pgniencdoda {
        /// offset: 24
        #[prost(message, tag = "2")]
        Bacbkgjjoga(super::Piacccgnoof),
        /// offset: 24
        #[prost(message, tag = "14")]
        Cnkcdgojgjh(super::Bpokopcgmaj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdodfhmdaji {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub hafokmhcgfm: u32,
    /// offset: 48
    #[prost(bool, tag = "6")]
    pub is_selected: bool,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub param: ::core::option::Option<Knmnejcmhge>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub arg_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub ldcjonhgdan: ::prost::alloc::vec::Vec<Maeeibpeofn>,
    /// offset: 49
    #[prost(bool, tag = "14")]
    pub is_valid: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfeognamhcg {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub aiafekgbfif: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub owner: ::core::option::Option<Lehbibdgehg>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub kfnmiembjgd: ::prost::alloc::vec::Vec<Kdodfhmdaji>,
}
/// Obf: BBILDBEOKIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5698)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueCommonDialogueDataCsReq {}
/// Obf: KIFHJJILCHH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5662)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueCommonDialogueDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub dialogue_list: ::prost::alloc::vec::Vec<Hfeognamhcg>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: KPDMLEELICE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5666)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub aiafekgbfif: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub hafokmhcgfm: u32,
}
/// Obf: HDDJBPIOCMC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5655)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SelectRogueCommonDialogueOptionScRsp {
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub aiafekgbfif: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 48
    #[prost(uint32, tag = "12")]
    pub hafokmhcgfm: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub cgingcncpco: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub onolngohemf: ::core::option::Option<Hfeognamhcg>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5616)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bihaclhmako {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub aiafekgbfif: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5606)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpdpajgfbmm {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: NJPGOAAALGJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5674)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueDataScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub dialogue_list: ::prost::alloc::vec::Vec<Hfeognamhcg>,
}
/// Obf: HDIICGMJNBO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5657)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncRogueCommonDialogueOptionFinishScNotify {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub hafokmhcgfm: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub fjpgaohgebh: ::core::option::Option<Kdodfhmdaji>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub aiafekgbfif: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cbolonjdhhl {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub icgcmeibjlc: u32,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub ljobbefacpg: u32,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub modifier: ::core::option::Option<Nchglfjcgij>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub blackboard: ::core::option::Option<Gmimdejmfco>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub fmigokidkjl: ::core::option::Option<Inhbmhcjjcn>,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub dlojfeehlij: u32,
    /// offset: 48
    #[prost(string, tag = "14")]
    pub trans_no: ::prost::alloc::string::String,
}
/// Obf: KIFALDPCHGB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5623)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueWorkbenchGetInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
}
/// Obf: EOKICOIMEPH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5683)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchGetInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(map = "uint32, message", tag = "9")]
    pub njapfmhhppa: ::std::collections::HashMap<u32, Bcoegnbgjfc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bcoegnbgjfc {
    #[prost(
        oneof = "bcoegnbgjfc::Pkmejecpmch",
        tags = "14, 3, 9, 11, 1, 2, 13, 7, 5, 4, 12"
    )]
    pub pkmejecpmch: ::core::option::Option<bcoegnbgjfc::Pkmejecpmch>,
}
/// Nested message and enum types in `BCOEGNBGJFC`.
pub mod bcoegnbgjfc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Pkmejecpmch {
        /// offset: 24
        #[prost(message, tag = "14")]
        Nljponkbmfi(super::Bajdllefghb),
        /// offset: 24
        #[prost(message, tag = "3")]
        Bbnegkcnmba(super::Bjbifimjdol),
        /// offset: 24
        #[prost(message, tag = "9")]
        Pkpiefobhkh(super::Bliccehiolh),
        /// offset: 24
        #[prost(message, tag = "11")]
        Fkmadcafjmc(super::Omnmbandcba),
        /// offset: 24
        #[prost(message, tag = "1")]
        Phledabhdml(super::Dcepbljknne),
        /// offset: 24
        #[prost(message, tag = "2")]
        Ddladfjmeec(super::Fbofeochdmn),
        /// offset: 24
        #[prost(message, tag = "13")]
        Ojeandpabhc(super::Bahbcfdaikg),
        /// offset: 24
        #[prost(message, tag = "7")]
        Cllejepnbdh(super::Gnfdponfljd),
        /// offset: 24
        #[prost(message, tag = "5")]
        Dnhknalbamg(super::Ojpmmkijifh),
        /// offset: 24
        #[prost(message, tag = "4")]
        Lbbcjhopeph(super::Ehelnmgmeno),
        /// offset: 24
        #[prost(message, tag = "12")]
        Kdfgakdcmik(super::Lpodfeegdob),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bajdllefghb {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub jfignbblcim: u32,
    /// offset: 36
    #[prost(int32, tag = "14")]
    pub liaggddilgo: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bjbifimjdol {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 36
    #[prost(int32, tag = "12")]
    pub liaggddilgo: i32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub jfignbblcim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bliccehiolh {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub cur_num: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub max_num: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "11")]
    pub lbeihaokhad: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Omnmbandcba {
    /// offset: 40
    #[prost(int32, tag = "2")]
    pub liaggddilgo: i32,
    /// offset: 16
    #[prost(map = "uint32, bool", tag = "3")]
    pub pilabddekii: ::std::collections::HashMap<u32, bool>,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub jfignbblcim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dcepbljknne {
    /// offset: 32
    #[prost(int32, tag = "2")]
    pub liaggddilgo: i32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub jfignbblcim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lnpgbgdpiik {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub iojfgbdpphi: ::core::option::Option<ItemCostData>,
    /// offset: 48
    #[prost(bool, tag = "12")]
    pub ifigfodopbb: bool,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub ddladfjmeec: ::core::option::Option<Ocbpjllljgo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fbofeochdmn {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub gjgfcckemfd: ::prost::alloc::vec::Vec<Lnpgbgdpiik>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbhheneonho {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub kgophalllli: u32,
    /// offset: 48
    #[prost(bool, tag = "3")]
    pub ifigfodopbb: bool,
    /// offset: 44
    #[prost(uint32, tag = "9")]
    pub cfkkkpnkhel: u32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub iojfgbdpphi: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bahbcfdaikg {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub hiildalhimd: ::prost::alloc::vec::Vec<Bbhheneonho>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnfdponfljd {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cost_data: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub jfignbblcim: u32,
    /// offset: 36
    #[prost(int32, tag = "11")]
    pub liaggddilgo: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ojpmmkijifh {
    /// offset: 24
    #[prost(map = "uint32, message", tag = "4")]
    pub bhpelimodbc: ::std::collections::HashMap<u32, ItemCostData>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub pkambcbekme: ::core::option::Option<ItemCostData>,
    /// offset: 44
    #[prost(int32, tag = "9")]
    pub liaggddilgo: i32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub jfignbblcim: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nefbeckcjih {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gcahklngfck: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub cost_data: ::core::option::Option<ItemCostData>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ehelnmgmeno {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub maldomhpilm: ::prost::alloc::vec::Vec<Nefbeckcjih>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lpodfeegdob {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dmgjdgjmcjl: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub clndmeodhje: u32,
}
/// Obf: FPNMBONIFEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5695)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub pelkpphlmhe: ::core::option::Option<Mipgdfdckle>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub prop_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub func_id: u32,
}
/// Obf: DPGLHPGGPHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5617)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueWorkbenchHandleFuncScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub jnpaldknhkm: ::core::option::Option<Bcoegnbgjfc>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub func_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mipgdfdckle {
    #[prost(
        oneof = "mipgdfdckle::Mmcgbgdjipn",
        tags = "9, 5, 4, 7, 1, 3, 13, 8, 10, 2, 6"
    )]
    pub mmcgbgdjipn: ::core::option::Option<mipgdfdckle::Mmcgbgdjipn>,
}
/// Nested message and enum types in `MIPGDFDCKLE`.
pub mod mipgdfdckle {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 16
        #[prost(message, tag = "9")]
        Nljponkbmfi(super::Jfggdmpdknh),
        /// offset: 16
        #[prost(message, tag = "5")]
        Bbnegkcnmba(super::Cokkoebbegm),
        /// offset: 16
        #[prost(message, tag = "4")]
        Pkpiefobhkh(super::Fhaagbgahlo),
        /// offset: 16
        #[prost(message, tag = "7")]
        Fkmadcafjmc(super::Lnopjjfkmdl),
        /// offset: 16
        #[prost(message, tag = "1")]
        Phledabhdml(super::Mkfcldmemgn),
        /// offset: 16
        #[prost(message, tag = "3")]
        Ddladfjmeec(super::Doejldnided),
        /// offset: 16
        #[prost(message, tag = "13")]
        Ojeandpabhc(super::Aljjnbkgeoc),
        /// offset: 16
        #[prost(message, tag = "8")]
        Cllejepnbdh(super::Lfbpmggfceo),
        /// offset: 16
        #[prost(message, tag = "10")]
        Dnhknalbamg(super::Ejbeekfjahm),
        /// offset: 16
        #[prost(message, tag = "2")]
        Lbbcjhopeph(super::Llbknijdalm),
        /// offset: 16
        #[prost(message, tag = "6")]
        Kdfgakdcmik(super::Ngokmaabdjj),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jfggdmpdknh {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fgkpobcockm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cokkoebbegm {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub hdgpbcjpnbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhaagbgahlo {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub cjgioodiadg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lnopjjfkmdl {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub pdambonnond: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mkfcldmemgn {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub falfbmddfpa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Doejldnided {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub dpgkmiibpdb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aljjnbkgeoc {
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub ehkpmgbcpcg: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lfbpmggfceo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub ipacfecebff: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejbeekfjahm {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub cfkkkpnkhel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Llbknijdalm {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub gcahklngfck: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngokmaabdjj {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub gmmafionfnf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npajhgdeidj {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ecpdjmmogci: u32,
    /// offset: 28
    #[prost(enumeration = "Lpcebdcjboi", tag = "13")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jmjeibgacmd {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub cnfgohfplgo: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ecpdjmmogci: u32,
    /// offset: 32
    #[prost(enumeration = "Lbpljchejok", tag = "13")]
    pub status: i32,
}
/// Obf: COFMBMIJHNB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5660)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetRogueCollectionCsReq {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub npicfpdapaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub mfmpddcggmn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "Migpnaoghep", repeated, tag = "8")]
    pub nekjdkdamkf: ::prost::alloc::vec::Vec<i32>,
}
/// Obf: GDLCKAFPJCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5690)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueCollectionScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub cepdobeiefg: ::prost::alloc::vec::Vec<Jmjeibgacmd>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub dpikocfilgp: ::prost::alloc::vec::Vec<Npajhgdeidj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dikbpkakeno {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub efcajenmlka: u32,
    /// offset: 24
    #[prost(enumeration = "Nklaehjpimn", tag = "3")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dgklppljbnb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cnfgohfplgo: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub efcajenmlka: u32,
    /// offset: 28
    #[prost(enumeration = "Lbpljchejok", tag = "11")]
    pub status: i32,
}
/// Obf: ILCJAJBPOMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5632)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetRogueExhibitionCsReq {
    /// offset: 40
    #[prost(enumeration = "Migpnaoghep", repeated, tag = "3")]
    pub adgnfdjdclg: ::prost::alloc::vec::Vec<i32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub hncflokljla: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub dmiibkinpnl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: IDCEKOBEEFI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5670)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetRogueExhibitionScRsp {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub pakecmnpejj: ::prost::alloc::vec::Vec<Dgklppljbnb>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub jfhkjogeond: ::prost::alloc::vec::Vec<Dikbpkakeno>,
}
/// Obf: KEMPKDDHEFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5679)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueGetGambleInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub prop_entity_id: u32,
}
/// Obf: LIOHNCDIAPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5607)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueGetGambleInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub kobbmdfpnka: ::core::option::Option<Hkoeaopneac>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: JGHALBFPDLO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5687)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueDoGambleCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
}
/// Obf: NOCJKPILNMP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5624)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueDoGambleScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub hnccdepdneg: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub dooecgpimbd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub kobbmdfpnka: ::core::option::Option<Hkoeaopneac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akmcodlaeki {
    /// offset: 32
    #[prost(double, tag = "2")]
    pub value: f64,
    /// offset: 16
    #[prost(string, tag = "3")]
    pub key: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgeflgjigij {
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub gahfpgcpaja: u64,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
    /// offset: 40
    #[prost(enumeration = "Mmfogjpohgj", tag = "14")]
    pub owner_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mggbpkanfoa {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmimdejmfco {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub global_blackboard: ::core::option::Option<Mggbpkanfoa>,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub gmalfeablng: ::prost::alloc::vec::Vec<Lgeflgjigij>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nchglfjcgij {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub hdlglfgkonc: ::prost::alloc::vec::Vec<Bmcndlnonmo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Acmkpnmkokh {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub queue_position: u32,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub detail: ::core::option::Option<Fkbooenadfm>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkbooenadfm {
    #[prost(oneof = "fkbooenadfm::Mmcgbgdjipn", tags = "12, 3, 6, 15, 8")]
    pub mmcgbgdjipn: ::core::option::Option<fkbooenadfm::Mmcgbgdjipn>,
}
/// Nested message and enum types in `FKBOOENADFM`.
pub mod fkbooenadfm {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mmcgbgdjipn {
        /// offset: 24
        #[prost(message, tag = "12")]
        Pdfdendalfd(super::Lplhnopdkhi),
        /// offset: 24
        #[prost(message, tag = "3")]
        Himdhcbofeh(super::Idmhnmolhkn),
        /// offset: 24
        #[prost(message, tag = "6")]
        Ngefapoenbd(super::Eoiflhmpbif),
        /// offset: 24
        #[prost(message, tag = "15")]
        Kbameddaiin(super::Ggcfmpibgha),
        /// offset: 24
        #[prost(message, tag = "8")]
        Liaodkpfbha(super::Knoljdopbdg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lplhnopdkhi {
    /// offset: 40
    #[prost(uint64, tag = "6")]
    pub gahfpgcpaja: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
    /// offset: 32
    #[prost(enumeration = "Mmfogjpohgj", tag = "13")]
    pub owner_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idmhnmolhkn {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
    /// offset: 40
    #[prost(uint64, tag = "7")]
    pub gahfpgcpaja: u64,
    /// offset: 32
    #[prost(enumeration = "Mmfogjpohgj", tag = "8")]
    pub owner_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eoiflhmpbif {
    /// offset: 24
    #[prost(enumeration = "Mmfogjpohgj", tag = "3")]
    pub owner_type: i32,
    /// offset: 32
    #[prost(uint64, tag = "11")]
    pub gahfpgcpaja: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ggcfmpibgha {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Knoljdopbdg {
    /// offset: 32
    #[prost(uint64, tag = "2")]
    pub gahfpgcpaja: u64,
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub gfkafifmhnf: ::prost::alloc::vec::Vec<Akmcodlaeki>,
    /// offset: 40
    #[prost(enumeration = "Mmfogjpohgj", tag = "15")]
    pub owner_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jgammpgmcni {
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dkfjlhhdfko {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "14")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dingdglkhip {
    /// offset: 24
    #[prost(enumeration = "Beaikeeandp", tag = "3")]
    pub hokefmonopg: i32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ahlgkkeiiec {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub djcolflfigk: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub aojkkgkceoe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Djeecbnbgmn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egailaeblig {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebidbcoblnm {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub bnlnggchfnf: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ihdpggcjiak: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub fopmpmpncoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hlebbgfakak {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub gncfhikodke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cokfmmndchn {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ckhclkoalke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhbdpojeemj {
    #[prost(oneof = "fhbdpojeemj::Koefmoapdgi", tags = "13, 1, 6")]
    pub koefmoapdgi: ::core::option::Option<fhbdpojeemj::Koefmoapdgi>,
}
/// Nested message and enum types in `FHBDPOJEEMJ`.
pub mod fhbdpojeemj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Koefmoapdgi {
        /// offset: 16
        #[prost(message, tag = "13")]
        Hhbpbgmngpn(super::Djeecbnbgmn),
        /// offset: 16
        #[prost(message, tag = "1")]
        Ecclokpnfhp(super::Egailaeblig),
        /// offset: 16
        #[prost(message, tag = "6")]
        Hdflcoidcpe(super::Hlebbgfakak),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hjdcjnofbhh {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fegkcmbhhjp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub fgfflbhlkdf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nejpagjbmda {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fgfflbhlkdf: u32,
    /// offset: 36
    #[prost(bool, tag = "15")]
    pub ognbananfcc: bool,
    #[prost(oneof = "nejpagjbmda::Mokoadhebba", tags = "12, 9")]
    pub mokoadhebba: ::core::option::Option<nejpagjbmda::Mokoadhebba>,
}
/// Nested message and enum types in `NEJPAGJBMDA`.
pub mod nejpagjbmda {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Mokoadhebba {
        /// offset: 16
        #[prost(message, tag = "12")]
        Aolfpjfjpeo(super::Hjdcjnofbhh),
        /// offset: 16
        #[prost(message, tag = "9")]
        Ngalcdkbgbk(super::Fegkcmbhhjp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhpbjombcad {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub ijkibljegge: ::prost::alloc::vec::Vec<Nejpagjbmda>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub group_id: u32,
    /// offset: 36
    #[prost(bool, tag = "13")]
    pub noalgkcldhf: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hkoeaopneac {
    /// offset: 52
    #[prost(uint32, tag = "2")]
    pub dggcfdkjdpo: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub gpnjgmepmmd: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub jaedkhmmpih: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub ajkokajabfg: ::prost::alloc::vec::Vec<Bhpbjombcad>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub canjgjidkhk: ::core::option::Option<ItemCostData>,
    /// offset: 56
    #[prost(bool, tag = "14")]
    pub ceiigjeoiad: bool,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub kmndbepfmgn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bbcolchcefp {
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub hajjbofcfoo: ::core::option::Option<Gmijhconfih>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "6")]
    pub map_id: u32,
    /// offset: 68
    #[prost(enumeration = "RogueStatus", tag = "8")]
    pub status: i32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub jpkacknnhca: ::core::option::Option<Apnccnfjbko>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub kndhmnbiidf: u32,
    /// offset: 60
    #[prost(uint32, tag = "12")]
    pub pjkmdlcchhd: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "14")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajnoekplpcl {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub dnapfbanfhj: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub ickjkienkfi: u32,
    /// offset: 44
    #[prost(bool, tag = "6")]
    pub mjipojpbknb: bool,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub cur_layer: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub fmcphdjeidc: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pkkdalhlcla: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub ieogefblnel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgfjahilcaa {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub bhhhnhmmdmh: ::core::option::Option<Bbcolchcefp>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub pmkgmlelppi: ::core::option::Option<Ajnoekplpcl>,
}
/// Obf: KCEFGNINEBG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6010)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRogueEndlessActivityDataCsReq {}
/// Obf: NKNPAOHOGHI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6001)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetRogueEndlessActivityDataScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub ieppngmckjh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub data: ::prost::alloc::vec::Vec<Hgfjahilcaa>,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub iahedaapneo: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub chiafooaibk: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Caefbgafkhd {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "15")]
    pub avatar_type: i32,
}
/// Obf: FFDJLHCAKAP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6003)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub avatar_list: ::prost::alloc::vec::Vec<Caefbgafkhd>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub mpmmcpmnlid: u32,
}
/// Obf: AKINJCDPGIF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterRogueEndlessActivityStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: IGOFLPJHHAO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6004)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueEndlessActivityBattleEndScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub pmkgmlelppi: ::core::option::Option<Ajnoekplpcl>,
}
/// Obf: ALBOKFLDIIH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6006)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardCsReq {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub lefjbfmdegk: bool,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
/// Obf: OGDDOAIIMPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6002)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityPointRewardScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "2")]
    pub ieppngmckjh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub level: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub chiafooaibk: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GHDBOHHNOME
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6009)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardCsReq {}
/// Obf: DIGOHHNDDCA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6008)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRogueEndlessActivityAllBonusRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub chiafooaibk: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ieppngmckjh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eeilainolpo {
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 40
    #[prost(message, optional, tag = "13")]
    pub jnklnlkhgbb: ::core::option::Option<Fhegnopnich>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gpepgkcpbpb {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub jeheilkkdef: ::prost::alloc::vec::Vec<Fodhgnlpbkh>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub jojcpknijoh: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mdaiamfjnhm: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub layer_index: u32,
    /// offset: 40
    #[prost(enumeration = "Jgnaepijdnc", tag = "15")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fodhgnlpbkh {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub eepidjjjmah: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub ghehgioagdg: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub room_id: u32,
    /// offset: 24
    #[prost(enumeration = "Hoifdjpbglb", tag = "13")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdhaifiokdn {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub jdphadiiape: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub jjlednenpjk: u32,
    /// offset: 44
    #[prost(enumeration = "Pfkhkambhbn", tag = "6")]
    pub status: i32,
    /// offset: 36
    #[prost(enumeration = "Jamingbjhbk", tag = "9")]
    pub reason: i32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub nnffpjoldhk: ::prost::alloc::vec::Vec<Gpepgkcpbpb>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub bjhmfoagmbf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Plbamnclbhb {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub nbmnpgkeiih: u32,
    /// offset: 44
    #[prost(bool, tag = "3")]
    pub hikmfmjcnkp: bool,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub hiildalhimd: ::prost::alloc::vec::Vec<Mmbbhfnjili>,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub maldomhpilm: ::prost::alloc::vec::Vec<Dnlkmhlaphc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fpndobpmned {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub kehklhmeabi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cppengoohgn {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub ddgdpdipjpp: u32,
}
/// Obf: LPMJNCECOFE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7725)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicStartCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "5")]
    pub ocegekkflal: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub ieofonjhfdj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gcbckokeajh {
    /// offset: 56
    #[prost(message, optional, tag = "1")]
    pub basic_info: ::core::option::Option<Cbolonjdhhl>,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub level: ::core::option::Option<Kdhaifiokdn>,
    /// offset: 72
    #[prost(message, optional, tag = "5")]
    pub ddladfjmeec: ::core::option::Option<Plbamnclbhb>,
    /// offset: 64
    #[prost(message, optional, tag = "7")]
    pub miracle: ::core::option::Option<Nhlbnbbdhmi>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub lineup: ::core::option::Option<Jeikfffgonb>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub item_value: ::core::option::Option<Fkedpcmlife>,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub meejdfnhbdi: ::core::option::Option<Fpndobpmned>,
}
/// Obf: EHFDAIAINCI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicStartScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub phgjijelkdb: ::core::option::Option<Gcbckokeajh>,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
}
/// Obf: ALAAINODLIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7793)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicEnterCsReq {}
/// Obf: MGIHGHJMFAE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub phgjijelkdb: ::core::option::Option<Gcbckokeajh>,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: IEJLKCJOAEM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicLeaveCsReq {}
/// Obf: FAKIIFNHANG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7781)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLeaveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
}
/// Obf: KIDHIFECNAH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7726)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicEnterRoomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub jojcpknijoh: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub khblmaoplln: u32,
}
/// Obf: IGJJHHFJBDJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7713)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterRoomScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
}
/// Obf: ICNPODONHGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7771)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicEnterLayerCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub bjhmfoagmbf: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub khblmaoplln: u32,
}
/// Obf: NEDEIDNOLIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7740)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnterLayerScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
}
/// Obf: MAHGFIIOPHL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7733)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicLevelInfoUpdateScNotify {
    /// offset: 36
    #[prost(enumeration = "Pfkhkambhbn", tag = "1")]
    pub status: i32,
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub jjlednenpjk: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub bjhmfoagmbf: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub jdphadiiape: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub nnffpjoldhk: ::prost::alloc::vec::Vec<Gpepgkcpbpb>,
    /// offset: 40
    #[prost(enumeration = "Jamingbjhbk", tag = "15")]
    pub reason: i32,
}
/// Obf: ALDJDOPBDHP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7738)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicAreaUpdateScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub dannidipfal: ::prost::alloc::vec::Vec<Ifcnlkppphk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Noakcdkaafb {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub dofneaphmkh: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub admjahdjddj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ejhdajagfij {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub dofneaphmkh: bool,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub aeahogpjkef: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Fkfoidmndfg {
    /// offset: 40
    #[prost(message, optional, tag = "2")]
    pub bnllejpcigd: ::core::option::Option<Noakcdkaafb>,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub kddgklngnea: ::core::option::Option<Ejhdajagfij>,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub phgjijelkdb: ::core::option::Option<Gcbckokeajh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gphmajpggek {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub ihkchdjejgj: ::prost::alloc::vec::Vec<Okccleepelm>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub ebfhidkdjob: ::prost::alloc::vec::Vec<Ocbpjllljgo>,
}
/// Obf: HFPCLMDMEME
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7736)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicBattleFailSettleInfoScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub bflljjbhldf: ::core::option::Option<Fkfoidmndfg>,
}
/// Obf: CJACBFMGOLK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicSettleCsReq {}
/// Obf: CHFAMIIIKAH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7747)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicSettleScRsp {
    /// offset: 48
    #[prost(message, optional, tag = "2")]
    pub bflljjbhldf: ::core::option::Option<Fkfoidmndfg>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "10")]
    pub iiomcjpcfml: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub iehpmhofbnj: ::core::option::Option<Gphmajpggek>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub idcmaccpcbh: ::core::option::Option<Eeilainolpo>,
}
/// Obf: ALBMDPOIIDL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7748)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveCostUpdateScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
}
/// Obf: FDHHFKCPCIF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7745)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicReviveAvatarCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub interacted_prop_entity_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub noepbnmjfgl: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ENIMHEHPGMI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7769)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicReviveAvatarScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: IPIFCANPPEO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7765)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Njmoagdjkfh {
    /// offset: 88
    #[prost(uint32, tag = "3")]
    pub mhpciabalpi: u32,
    /// offset: 68
    #[prost(uint32, tag = "5")]
    pub jjlednenpjk: u32,
    /// offset: 80
    #[prost(uint32, tag = "6")]
    pub adiflcnaabj: u32,
    /// offset: 64
    #[prost(uint32, tag = "7")]
    pub gejeanjfcmi: u32,
    /// offset: 84
    #[prost(uint32, tag = "8")]
    pub medaaelfemn: u32,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub ejjghjmcfph: u32,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub nnnceigniia: u32,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub lkhaieidajl: u32,
    /// offset: 76
    #[prost(uint32, tag = "15")]
    pub nbmnpgkeiih: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "499")]
    pub avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "1214")]
    pub hiildalhimd: ::prost::alloc::vec::Vec<Mmbbhfnjili>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "1581")]
    pub bgafhioehfh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, repeated, tag = "1842")]
    pub maldomhpilm: ::prost::alloc::vec::Vec<Dnlkmhlaphc>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pggmpdimlae {
    /// offset: 16
    #[prost(uint32, repeated, tag = "354")]
    pub ilnfeabhhch: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ifcnlkppphk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub pbjlmcgibnd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub coebcngcnoo: ::core::option::Option<Pggmpdimlae>,
    /// offset: 40
    #[prost(message, optional, tag = "8")]
    pub record_info: ::core::option::Option<Njmoagdjkfh>,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub area_id: u32,
    /// offset: 50
    #[prost(bool, tag = "10")]
    pub is_unlock: bool,
    /// offset: 49
    #[prost(bool, tag = "14")]
    pub is_taken_reward: bool,
    /// offset: 48
    #[prost(bool, tag = "15")]
    pub fjkhifdjmdb: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nmommmghmoa {
    /// offset: 24
    #[prost(bool, tag = "4")]
    pub is_unlock: bool,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub dfbdpehaamg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gnpfdbacmih {
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub nomddggiibf: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cilkbjmgngl {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub gjgfcckemfd: ::prost::alloc::vec::Vec<Onmfminnbeb>,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub ihjklhgmkbi: ::core::option::Option<Dfgaioogppa>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "8")]
    pub obbkbndgoai: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub story_info: ::core::option::Option<Gnpfdbacmih>,
    /// offset: 72
    #[prost(message, repeated, tag = "11")]
    pub hiildalhimd: ::prost::alloc::vec::Vec<Lgfokkpiceh>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jjieddmalpe: ::prost::alloc::vec::Vec<Nmommmghmoa>,
    /// offset: 64
    #[prost(message, repeated, tag = "15")]
    pub dannidipfal: ::prost::alloc::vec::Vec<Ifcnlkppphk>,
}
/// Obf: CDDMMHNKKPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7730)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicQueryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub phgjijelkdb: ::core::option::Option<Gcbckokeajh>,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub lflcdngalme: ::core::option::Option<Cilkbjmgngl>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7772)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkmoakplbho {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub lpolpdbelon: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub gcahklngfck: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub dice_slot_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7780)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dbomcceifjo {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7744)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nicajbejahc {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub jdjfhimpipk: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7749)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nadkcpcfipm {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: OLCIGFGFELG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7773)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitCsReq {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub gbemcahpbkp: bool,
}
/// Obf: FIMGINEKACP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7712)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicSetAutoDressInMagicUnitScRsp {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub gbemcahpbkp: bool,
}
/// Obf: DDLEEJAAMGH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7718)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicAutoDressInMagicUnitChangeScNotify {
    /// offset: 24
    #[prost(bool, tag = "12")]
    pub gbemcahpbkp: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7784)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hbcofddcgol {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub jdjfhimpipk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub gcahklngfck: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7721)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohonllchifj {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Obf: KLBGMAEDODL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7705)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicUnitComposeCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub jdjfhimpipk: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FABNMKAOFMJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7741)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicUnitComposeScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dfgaioogppa {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub imlhhakikcd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
}
/// Obf: NBKAAJAHAJH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7734)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicEnableTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub ckhclkoalke: u32,
}
/// Obf: KFMAONOMPLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7796)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueMagicEnableTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub ihjklhgmkbi: ::core::option::Option<Dfgaioogppa>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: NCLFFAFGEFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7735)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataCsReq {}
/// Obf: LFMDOOIGGHK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7775)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicGetMiscRealTimeDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub kddgklngnea: ::core::option::Option<Ejhdajagfij>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub bnllejpcigd: ::core::option::Option<Noakcdkaafb>,
}
/// Obf: AGDCHGINKCA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7715)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueMagicStoryInfoUpdateScNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub bnhaikilajk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kijefiibbgg {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub jaaiadkfpcl: u32,
    /// offset: 24
    #[prost(enumeration = "Phaoiglgbmg", tag = "9")]
    pub content_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub ikdhamlpnpj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fghimgpgbnf {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub fohifimhenn: u32,
    /// offset: 32
    #[prost(bool, tag = "7")]
    pub is_selected: bool,
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub ogoilmlpdeo: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aibnhpagdol {
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub gkeppnolnhf: bool,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub forbid_reason: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfjkocdoaeh {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub eknhhgmjcpm: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub olppacccngd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bmcndlnonmo {
    /// offset: 40
    #[prost(uint64, tag = "8")]
    pub fchlcanjigl: u64,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub oopcpmancbo: ::core::option::Option<Kijefiibbgg>,
    /// offset: 52
    #[prost(enumeration = "RogueModifierSourceType", tag = "14")]
    pub source_type: i32,
    #[prost(oneof = "bmcndlnonmo::Kknboacncon", tags = "11, 15, 1")]
    pub kknboacncon: ::core::option::Option<bmcndlnonmo::Kknboacncon>,
}
/// Nested message and enum types in `BMCNDLNONMO`.
pub mod bmcndlnonmo {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "11")]
        Nlgjfigpenf(super::Fghimgpgbnf),
        /// offset: 24
        #[prost(message, tag = "15")]
        Lejpohhgbmb(super::Aibnhpagdol),
        /// offset: 24
        #[prost(message, tag = "1")]
        Ggjokfeoebk(super::Hfjkocdoaeh),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lmncbidkhlf {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub hdlglfgkonc: ::prost::alloc::vec::Vec<Bmcndlnonmo>,
}
/// Obf: PEPPCBMPOJD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5393)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueModifierAddNotify {
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub modifier: ::core::option::Option<Bmcndlnonmo>,
}
/// Obf: FBEHJJBBLPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(5358)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueModifierSelectCellCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ihaomlephom: u32,
}
/// Obf: GIMJFGIPDKI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(5388)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueModifierSelectCellScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub nmjgheaccmc: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: DMHDLBHJKOG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5347)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueModifierUpdateNotify {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub modifier: ::core::option::Option<Bmcndlnonmo>,
}
/// Obf: OCJPKEMHEFF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5326)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueModifierDelNotify {
    /// offset: 24
    #[prost(uint64, tag = "10")]
    pub fchlcanjigl: u64,
}
/// Obf: KGNPGIKFOMJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(5313)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueModifierStageStartNotify {
    /// offset: 24
    #[prost(enumeration = "RogueModifierSourceType", tag = "13")]
    pub source_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pfloihllmee {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub basic: ::core::option::Option<Cbolonjdhhl>,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub ameabnlmmgb: ::core::option::Option<Cgngoljkbmp>,
    #[prost(oneof = "pfloihllmee::Kknboacncon", tags = "349, 1144, 244")]
    pub kknboacncon: ::core::option::Option<pfloihllmee::Kknboacncon>,
}
/// Nested message and enum types in `PFLOIHLLMEE`.
pub mod pfloihllmee {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "349")]
        Fbhckmgocjj(super::Namckjlafcn),
        /// offset: 24
        #[prost(message, tag = "1144")]
        Hajegkbffaf(super::Amohfceebnk),
        /// offset: 24
        #[prost(message, tag = "244")]
        Opdeifocjef(super::Cabkllakhko),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dcdmpljnbjc {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub ndgklbdhjkb: u32,
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub dofneaphmkh: bool,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub kabcghcpebg: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub gephkcplajf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fbbokklgkgl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub lfcdpddgfcb: u32,
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub dofneaphmkh: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub difiehpcdgo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjlnebbmmoe {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub niofioogkld: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub dofneaphmkh: bool,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub pdfjmfbhpfc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gkhffkmfmen {
    /// offset: 24
    #[prost(bool, tag = "10")]
    pub dofneaphmkh: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub niofioogkld: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hiahpmeagfc {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub joojijfchmk: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cgngoljkbmp {
    /// offset: 96
    #[prost(message, optional, tag = "1")]
    pub hhmlhklkndh: ::core::option::Option<Hggpkppbgfp>,
    /// offset: 80
    #[prost(message, optional, tag = "3")]
    pub meejdfnhbdi: ::core::option::Option<Phhlbglnbhe>,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub item_value: ::core::option::Option<Fkedpcmlife>,
    /// offset: 64
    #[prost(message, optional, tag = "5")]
    pub formula: ::core::option::Option<Djoddecfhmc>,
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub lncokkipaep: ::core::option::Option<Ohhkeogomca>,
    /// offset: 72
    #[prost(message, optional, tag = "8")]
    pub buff: ::core::option::Option<Eglapjgfkpn>,
    /// offset: 56
    #[prost(message, optional, tag = "9")]
    pub bcnmbonfkpk: ::core::option::Option<Hiahpmeagfc>,
    /// offset: 104
    #[prost(message, optional, tag = "11")]
    pub level: ::core::option::Option<Onpofjpebmj>,
    /// offset: 48
    #[prost(message, optional, tag = "12")]
    pub miracle: ::core::option::Option<Nhlbnbbdhmi>,
    /// offset: 88
    #[prost(message, optional, tag = "13")]
    pub lineup: ::core::option::Option<Jeikfffgonb>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub bkipdofonld: ::core::option::Option<Cgbkkjeneof>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Onpofjpebmj {
    /// offset: 44
    #[prost(enumeration = "RogueTournLevelStatus", tag = "6")]
    pub status: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub nnffpjoldhk: ::prost::alloc::vec::Vec<Ijnfohjgpbc>,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub bjhmfoagmbf: u32,
    /// offset: 48
    #[prost(bool, tag = "12")]
    pub ejdmoenbhdp: bool,
    /// offset: 49
    #[prost(bool, tag = "13")]
    pub kenpennaglg: bool,
    /// offset: 56
    #[prost(enumeration = "Fkngoglnkig", tag = "14")]
    pub reason: i32,
    #[prost(oneof = "onpofjpebmj::Bhgkhelcpgo", tags = "8")]
    pub bhgkhelcpgo: ::core::option::Option<onpofjpebmj::Bhgkhelcpgo>,
}
/// Nested message and enum types in `ONPOFJPEBMJ`.
pub mod onpofjpebmj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Bhgkhelcpgo {
        /// offset: 24
        #[prost(message, tag = "8")]
        Fiadmepdaog(super::Cfoifhebcjc),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lpaddgplikk {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub nmmcobbkkha: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub amoablicedp: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub mkjdmnaeaed: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub pjoaklhhcni: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "9")]
    pub bimfeahdmik: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub lonfkfcfdnd: ::prost::alloc::vec::Vec<Bdjlhjdpeek>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cfoifhebcjc {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub ccfgccmefci: ::core::option::Option<Lpaddgplikk>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hggpkppbgfp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub ohpelhfngci: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phhlbglnbhe {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub kehklhmeabi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ijnfohjgpbc {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub jojcpknijoh: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub jeheilkkdef: ::prost::alloc::vec::Vec<Odnbcbeinnc>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub layer_index: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub mdaiamfjnhm: u32,
    /// offset: 36
    #[prost(enumeration = "Idcbnmfdico", tag = "12")]
    pub status: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Odnbcbeinnc {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub ghehgioagdg: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub lhlkjidflin: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub room_id: u32,
    /// offset: 32
    #[prost(enumeration = "Iiaogeiadga", tag = "10")]
    pub status: i32,
    /// offset: 52
    #[prost(uint32, tag = "12")]
    pub eepidjjjmah: u32,
    #[prost(oneof = "odnbcbeinnc::Bhgkhelcpgo", tags = "1")]
    pub bhgkhelcpgo: ::core::option::Option<odnbcbeinnc::Bhgkhelcpgo>,
}
/// Nested message and enum types in `ODNBCBEINNC`.
pub mod odnbcbeinnc {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Bhgkhelcpgo {
        /// offset: 16
        #[prost(message, tag = "1")]
        Fiadmepdaog(super::Elhlcfbpamo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cgbkkjeneof {
    /// offset: 24
    #[prost(uint32, repeated, tag = "11")]
    pub bdbfenoakod: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Namckjlafcn {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amohfceebnk {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub fcmgnliodgi: ::core::option::Option<Fggjcldlmmi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Elhlcfbpamo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub attribute_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub composition_type: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jhecccanfgp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub total_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub gncfhikodke: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ajcfolganfc {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub dedchhnchfm: u32,
    /// offset: 52
    #[prost(uint32, tag = "3")]
    pub style_level: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub ihfebnbhdfm: ::prost::alloc::vec::Vec<Kvp>,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub pggdehkkinp: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub gjboljejiee: ::prost::alloc::vec::Vec<Jhecccanfgp>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub style_exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cabkllakhko {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub gmepgcodkke: ::core::option::Option<Ajcfolganfc>,
}
/// Obf: DFNGEOHAHGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6023)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub area_id: u32,
    /// offset: 36
    #[prost(bool, tag = "5")]
    pub ejdmoenbhdp: bool,
    /// offset: 37
    #[prost(bool, tag = "11")]
    pub kenpennaglg: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<Dkfjlhhdfko>,
}
/// Obf: JMAHJPIJEND
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6093)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournStartScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub phgjijelkdb: ::core::option::Option<Pfloihllmee>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FHJINHEABAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6080)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournEnterCsReq {}
/// Obf: NAGABJLKFON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6043)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterScRsp {
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub phgjijelkdb: ::core::option::Option<Pfloihllmee>,
    /// offset: 32
    #[prost(message, optional, tag = "13")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
}
/// Obf: OAEMCMCGPID
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6089)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournLeaveCsReq {}
/// Obf: HMGGLHFHGLM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6062)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: IDCDOCPNPMD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6085)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournSettleCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Faicnbkiell {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub bnllejpcigd: ::core::option::Option<Fbbokklgkgl>,
    /// offset: 64
    #[prost(message, optional, tag = "7")]
    pub cpolahjpgfe: ::core::option::Option<Jgmdjienffh>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub jjlfknpepfp: ::core::option::Option<Gkhffkmfmen>,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub aogohocffne: ::core::option::Option<Dcdmpljnbjc>,
    /// offset: 48
    #[prost(message, optional, tag = "13")]
    pub phgjijelkdb: ::core::option::Option<Pfloihllmee>,
    /// offset: 56
    #[prost(message, optional, tag = "15")]
    pub aomhplhonja: ::core::option::Option<Bjlnebbmmoe>,
}
/// Obf: HCMFPHICBOI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6037)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSettleScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub bflljjbhldf: ::core::option::Option<Faicnbkiell>,
}
/// Obf: EILCNCFMDLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6044)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournEnterRoomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub khblmaoplln: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub jojcpknijoh: u32,
}
/// Obf: DOEONJEAGPA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRoomScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: LHPEMLMHIHE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6061)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournEnterLayerCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub bjhmfoagmbf: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub khblmaoplln: u32,
}
/// Obf: EOMHILBJNDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6082)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterLayerScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: NLIOPBPOBHB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6067)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLevelInfoUpdateScNotify {
    /// offset: 40
    #[prost(enumeration = "Fkngoglnkig", tag = "2")]
    pub reason: i32,
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub nnffpjoldhk: ::prost::alloc::vec::Vec<Ijnfohjgpbc>,
    /// offset: 32
    #[prost(enumeration = "RogueTournLevelStatus", tag = "5")]
    pub status: i32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub bjhmfoagmbf: u32,
}
/// Obf: HNMANMBPEOG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6036)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournTakeExpRewardCsReq {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub fabmhmfnmdb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub hbgafafffao: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FHNIFCJJKEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6075)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournTakeExpRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub fkdnandjlgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub exp: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: IGDHPBBNEIC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6030)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournExpNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub exp: u32,
}
/// Obf: KGGIFOABIDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6068)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournQueryCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dlekolhcnie {
    /// offset: 26
    #[prost(bool, tag = "9")]
    pub fjkhifdjmdb: bool,
    /// offset: 25
    #[prost(bool, tag = "10")]
    pub is_taken_reward: bool,
    /// offset: 24
    #[prost(bool, tag = "11")]
    pub is_unlock: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cjocdggcpcn {
    /// offset: 32
    #[prost(int64, tag = "6")]
    pub end_time: i64,
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub kbnnophggin: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub jnbiijcakkb: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub jdpfpdecpeh: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgjeicaeleb {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub fkdnandjlgk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mdlpifchfpj {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub injekplhpif: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fjfblhnfmom {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub dfbdpehaamg: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub is_unlock: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hmggoehmijo {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub fabmhmfnmdb: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub hhaeeeoadoj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hmoecpbnaok {
    /// offset: 48
    #[prost(uint32, repeated, tag = "1")]
    pub mmpphjoonmi: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "6")]
    pub iffmidabnee: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "7")]
    pub jkkiablfcpe: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub pinndkijhfg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "11")]
    pub joaaoedappj: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub dpebcgbejig: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "15")]
    pub dmfagjoogjm: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgmdjienffh {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gnifodgcpaa: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub jbkhifhpghm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kikeajjlamh {
    /// offset: 80
    #[prost(message, optional, tag = "1")]
    pub hanicmmhjgi: ::core::option::Option<Kgpieekieme>,
    /// offset: 88
    #[prost(message, repeated, tag = "2")]
    pub hljomimoanl: ::prost::alloc::vec::Vec<Mjmgobmopdl>,
    /// offset: 56
    #[prost(message, optional, tag = "3")]
    pub dldcfhhfmid: ::core::option::Option<Jgmdjienffh>,
    /// offset: 72
    #[prost(message, optional, tag = "5")]
    pub bfnhjibdmoa: ::core::option::Option<Cjocdggcpcn>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub hhfaafobkme: ::core::option::Option<Hmggoehmijo>,
    /// offset: 64
    #[prost(message, repeated, tag = "10")]
    pub dannidipfal: ::prost::alloc::vec::Vec<Dlekolhcnie>,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub dmfpcfchhke: ::core::option::Option<Jgjeicaeleb>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub hamkplcbebg: ::core::option::Option<Hmoecpbnaok>,
    /// offset: 40
    #[prost(message, optional, tag = "14")]
    pub dpabcohlplh: ::core::option::Option<Mdlpifchfpj>,
}
/// Obf: JNAKFEHIMFM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6052)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournQueryScRsp {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub phgjijelkdb: ::core::option::Option<Pfloihllmee>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub lflcdngalme: ::core::option::Option<Kikeajjlamh>,
}
/// Obf: IANKKDKAHPD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournAreaUpdateScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub dannidipfal: ::prost::alloc::vec::Vec<Dlekolhcnie>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mjmgobmopdl {
    /// offset: 56
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<Dkfjlhhdfko>,
    /// offset: 32
    #[prost(string, tag = "5")]
    pub name: ::prost::alloc::string::String,
    /// offset: 64
    #[prost(int64, tag = "6")]
    pub time: i64,
    /// offset: 80
    #[prost(int64, tag = "9")]
    pub end_time: i64,
    /// offset: 72
    #[prost(uint32, tag = "11")]
    pub nphajekcbkf: u32,
    /// offset: 40
    #[prost(message, optional, tag = "12")]
    pub data: ::core::option::Option<Lgcplljlhff>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub phgjijelkdb: ::core::option::Option<Pfloihllmee>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub hhfaafobkme: ::core::option::Option<Hmggoehmijo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lgcplljlhff {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub item_value: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub buff_list: ::prost::alloc::vec::Vec<Kjamnogfamj>,
}
/// Obf: JLICJLBDLDD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6015)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetAllArchiveCsReq {}
/// Obf: CANHNOJACGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6045)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllArchiveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub mcggponockc: ::prost::alloc::vec::Vec<Mjmgobmopdl>,
}
/// Obf: GOOILNEKEMG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6054)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournDeleteArchiveCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub nphajekcbkf: u32,
}
/// Obf: OKGDAFCIBFB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6081)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournDeleteArchiveScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub nphajekcbkf: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: MMKDJEFGBNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6021)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournRenameArchiveCsReq {
    /// offset: 24
    #[prost(string, tag = "3")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub nphajekcbkf: u32,
}
/// Obf: FCHCIKGBLGC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6057)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournRenameArchiveScRsp {
    /// offset: 24
    #[prost(string, tag = "11")]
    pub name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub nphajekcbkf: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: EHLPFGCOJBN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6016)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournClearArchiveNameScNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub nphajekcbkf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ooljjhmlhbh {
    /// offset: 32
    #[prost(uint32, repeated, tag = "1")]
    pub jhbejkbchen: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "4")]
    pub akemnamgdod: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "7")]
    pub lbkfgkgncch: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "8")]
    pub hhaeeeoadoj: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub kojmgcblkka: ::prost::alloc::vec::Vec<Aafbnnalhdk>,
    /// offset: 68
    #[prost(uint32, tag = "11")]
    pub fabmhmfnmdb: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub mdhgbncjngb: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aafbnnalhdk {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub nphajekcbkf: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "4")]
    pub hhfpjhmeijk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "10")]
    pub bdjdaogdbdd: u32,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub alopegjpakk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Difggdihdeg {
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub mpoefpfpend: ::core::option::Option<Ooljjhmlhbh>,
    /// offset: 56
    #[prost(int64, tag = "7")]
    pub bhnfgjolllb: i64,
    /// offset: 40
    #[prost(int64, tag = "11")]
    pub time: i64,
    /// offset: 16
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub nphajekcbkf: u32,
}
/// Obf: ELDONCLGHPO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6051)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetAllBuildRefCsReq {}
/// Obf: KDNMOFGMMNP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6096)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetAllBuildRefScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub gioepgjgmpd: ::prost::alloc::vec::Vec<Difggdihdeg>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: OGKOAHJCBAF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6070)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournDeleteBuildRefCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KIIOBCNAPLC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6091)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournDeleteBuildRefScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ggigdjpfbbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: FOJJLDAKMFL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6059)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournSaveBuildRefCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub mpoefpfpend: ::core::option::Option<Ooljjhmlhbh>,
    /// offset: 32
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub nphajekcbkf: u32,
}
/// Obf: CFGGFPAIEFK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6027)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournSaveBuildRefScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub nphajekcbkf: u32,
    /// offset: 16
    #[prost(string, tag = "13")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: BJNLMGBAFFO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6042)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournRenameBuildRefCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub nphajekcbkf: u32,
    /// offset: 16
    #[prost(string, tag = "7")]
    pub name: ::prost::alloc::string::String,
}
/// Obf: GFAMMPEELKD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6098)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournRenameBuildRefScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub nphajekcbkf: u32,
    /// offset: 24
    #[prost(string, tag = "15")]
    pub name: ::prost::alloc::string::String,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6092)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgfpijkofcc {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub nphajekcbkf: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6069)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Palaopcbapc {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub nphajekcbkf: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: NHPGACAHCFP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6097)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoCsReq {}
/// Obf: CCMNLLNLLOJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6035)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetPermanentTalentInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub dpabcohlplh: ::core::option::Option<Mdlpifchfpj>,
}
/// Obf: HPGLOBODDMA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6046)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ckhclkoalke: u32,
}
/// Obf: CJBNDIGHHDI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6058)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnablePermanentTalentScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub dpabcohlplh: ::core::option::Option<Mdlpifchfpj>,
}
/// Obf: DEBMBMMMCGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6073)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournResetPermanentTalentCsReq {}
/// Obf: CCLKCHGMNAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6031)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournResetPermanentTalentScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub dpabcohlplh: ::core::option::Option<Mdlpifchfpj>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: CBILHHEENJG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6072)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneCsReq {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub dcnnfjlabpl: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub nblmaglgcgn: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub difficulty: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<AvatarLineup>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub heccobfbjfi: u32,
}
/// Obf: IOJFJPFJINM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6079)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnterRogueCocoonSceneScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: GDGKPCGNDIB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6048)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneCsReq {}
/// Obf: JLPLFCOHHFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6053)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournLeaveRogueCocoonSceneScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: ELJIHLDPDDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageCsReq {}
/// Obf: KGHGKLIAKLL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6028)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReEnterRogueCocoonStageScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: HHKCBNKJELL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6065)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoCsReq {}
/// Obf: FNBJGDHOIBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6090)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetCurRogueCocoonInfoScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub dcnnfjlabpl: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub nblmaglgcgn: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub difficulty: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub heccobfbjfi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecmnfoedojc {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dnceoophiok {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub ljceogpogbe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kcdbgkjanih {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub buff_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kilgonodpic {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjbodjkdppd {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub kahmgpgpoii: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kppbbojomdb {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub phpnbflilfl: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub category: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub omhhoadfmli: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cooidllffij {
    #[prost(oneof = "cooidllffij::Ajoabbckhck", tags = "13, 2")]
    pub ajoabbckhck: ::core::option::Option<cooidllffij::Ajoabbckhck>,
}
/// Nested message and enum types in `COOIDLLFFIJ`.
pub mod cooidllffij {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Ajoabbckhck {
        /// offset: 16
        #[prost(uint32, tag = "13")]
        Knilakjmeep(u32),
        /// offset: 16
        #[prost(uint32, tag = "2")]
        Pggdehkkinp(u32),
    }
}
/// Obf: ICIJOIFOIIG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6055)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournHandBookNotify {
    #[prost(
        oneof = "rogue_tourn_hand_book_notify::Kknboacncon",
        tags = "6, 14, 11, 12, 5, 3"
    )]
    pub kknboacncon: ::core::option::Option<rogue_tourn_hand_book_notify::Kknboacncon>,
}
/// Nested message and enum types in `RogueTournHandBookNotify`.
pub mod rogue_tourn_hand_book_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "6")]
        Odhgplkcbbg(super::Ecmnfoedojc),
        /// offset: 24
        #[prost(message, tag = "14")]
        Iooachnehah(super::Dnceoophiok),
        /// offset: 24
        #[prost(message, tag = "11")]
        Lfcdgliehai(super::Kcdbgkjanih),
        /// offset: 24
        #[prost(message, tag = "12")]
        Oooaclefdgm(super::Kilgonodpic),
        /// offset: 24
        #[prost(message, tag = "5")]
        Icnoegeepof(super::Mjbodjkdppd),
        /// offset: 24
        #[prost(message, tag = "3")]
        Cfnakpadaeb(super::Cooidllffij),
    }
}
/// Obf: BHELJEPEIHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6083)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetSettleInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
}
/// Obf: KFOJKMHIACH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6047)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSettleInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub bflljjbhldf: ::core::option::Option<Faicnbkiell>,
}
/// Obf: LPFHAKOGFHH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6056)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournConfirmSettleCsReq {
    /// offset: 24
    #[prost(string, tag = "6")]
    pub name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub nphajekcbkf: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub area_id: u32,
}
/// Obf: KJOIFCADNGL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6029)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournConfirmSettleScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub iiomcjpcfml: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub blpdbphmcga: ::core::option::Option<Mjmgobmopdl>,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub aeljfopmdjg: ::core::option::Option<ItemList>,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MKCDLMPCJJJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6084)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournWeekChallengeUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub bfnhjibdmoa: ::core::option::Option<Cjocdggcpcn>,
}
/// Obf: MBOGFJLPLPG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6094)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataCsReq {}
/// Obf: LCOKLOGEKEL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6063)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetMiscRealTimeDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "3")]
    pub aomhplhonja: ::core::option::Option<Bjlnebbmmoe>,
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub cpolahjpgfe: ::core::option::Option<Jgmdjienffh>,
    /// offset: 48
    #[prost(message, optional, tag = "9")]
    pub jjlfknpepfp: ::core::option::Option<Gkhffkmfmen>,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 56
    #[prost(message, optional, tag = "13")]
    pub bnllejpcigd: ::core::option::Option<Fbbokklgkgl>,
    /// offset: 32
    #[prost(message, optional, tag = "14")]
    pub aogohocffne: ::core::option::Option<Dcdmpljnbjc>,
}
/// Obf: JDMILAADNLN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6033)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryCsReq {}
/// Obf: GINKCKNPFDA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6026)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetArchiveRepositoryScRsp {
    /// offset: 32
    #[prost(uint32, repeated, tag = "3")]
    pub bdnfdhjbame: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub pbpioekjjpf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: NMCIFMBGOLP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6039)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveCostUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
}
/// Obf: JHDKGCPHDNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6020)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarCsReq {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub interacted_prop_entity_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Dkfjlhhdfko>,
}
/// Obf: HECNEEFNGFH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6095)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournReviveAvatarScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub lniefkbmipd: ::core::option::Option<ItemCostData>,
}
/// Obf: JFDAMIHLMLF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6024)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournBattleFailSettleInfoScNotify {
    /// offset: 32
    #[prost(message, optional, tag = "8")]
    pub idcmaccpcbh: ::core::option::Option<Jgammpgmcni>,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub bflljjbhldf: ::core::option::Option<Faicnbkiell>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kgpieekieme {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub jcobjampoal: ::core::option::Option<Fdbdlbapdbe>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub ofnidaecpcj: u32,
}
/// Obf: KHJMLKBLAMP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6022)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoCsReq {}
/// Obf: MNLLJNFBGNF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6049)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournGetSeasonTalentInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub hanicmmhjgi: ::core::option::Option<Kgpieekieme>,
}
/// Obf: AKDPHHMJFOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6014)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub ckhclkoalke: u32,
}
/// Obf: LCEDCPLAPJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6038)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournEnableSeasonTalentScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub hanicmmhjgi: ::core::option::Option<Kgpieekieme>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: LCEICICOGLN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6076)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournTitanUpdateTitanBlessProgressScNotify {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub pljpipdfaha: u32,
}
/// Obf: ACFNGBKOIDN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6013)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournUseSuperRewardKeyCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub count: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub difficulty: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub cocoon_id: u32,
}
/// Obf: GKJOFCJCKMN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RogueTournUseSuperRewardKeyScRsp {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub drop_data: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub abemlcjbief: ::core::option::Option<Lmdpkoelkfl>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6074)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npojnhkpkmn {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6078)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mniljcpcofg {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: LENPMJECBLF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6019)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RogueTournPersonaRoomCardZoneUpdateScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub nhnbjlldoho: ::core::option::Option<Odhjedhkhod>,
}
/// Obf: AHHIKOKAPFG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6918)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRollShopInfoCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub roll_shop_id: u32,
}
/// Obf: FHABPBGINDK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6908)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetRollShopInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gacha_random: u32,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub shop_group_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub roll_shop_id: u32,
}
/// Obf: OKECFAAPLIN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6903)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DoGachaInRollShopCsReq {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gacha_count: u32,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub gacha_random: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub roll_shop_id: u32,
}
/// Obf: ACCPCPCKOEB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6912)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoGachaInRollShopScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub reward_display_type: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub roll_shop_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub ldbckjipdhf: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: BLEEIKBLHIK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6902)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeRollShopRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub roll_shop_id: u32,
}
/// Obf: TakeRollShopRewardScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6917)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeRollShopRewardScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub group_type: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub roll_shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneActorInfo {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub map_layer: u32,
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub uid: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub base_avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NpcMonsterRogueInfo {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub rogue_monster_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub elite_group: u32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub iedebfccknl: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub hard_level_group: u32,
    /// offset: 28
    #[prost(enumeration = "Jnboifcnbch", tag = "11")]
    pub dpcndaddcaj: i32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NpcMonsterExtraInfo {
    #[prost(oneof = "npc_monster_extra_info::Kknboacncon", tags = "1")]
    pub kknboacncon: ::core::option::Option<npc_monster_extra_info::Kknboacncon>,
}
/// Nested message and enum types in `NpcMonsterExtraInfo`.
pub mod npc_monster_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "1")]
        RogueGameInfo(super::NpcMonsterRogueInfo),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gilbmelhgcb {
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub stage_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub jmmbaaliojl: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneNpcMonsterInfo {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub extra_info: ::core::option::Option<NpcMonsterExtraInfo>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub monster_id: u32,
    /// offset: 48
    #[prost(bool, tag = "6")]
    pub nhkjknjagmf: bool,
    /// offset: 52
    #[prost(uint32, tag = "7")]
    pub world_level: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub bmijgbfjmcf: ::core::option::Option<Gilbmelhgcb>,
    /// offset: 49
    #[prost(bool, tag = "12")]
    pub nmpeommhmpp: bool,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcRogueGameInfo {
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "1")]
    pub ldpajkiepip: ::std::collections::HashMap<u32, u32>,
    /// offset: 41
    #[prost(bool, tag = "2")]
    pub djepgkbmicm: bool,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub aiafekgbfif: u32,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub mjbknmjhogp: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub oeanpihchhf: u32,
    /// offset: 40
    #[prost(bool, tag = "12")]
    pub fkkmljnkhdh: bool,
    /// offset: 42
    #[prost(bool, tag = "14")]
    pub nlaflkplpfe: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pagohcjgolc {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub ppfjgjncoki: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub dooacehopee: u32,
    /// offset: 28
    #[prost(bool, tag = "12")]
    pub is_meet: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mhgaolcdonk {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub nlmmkaejekh: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub opeeifggmia: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NpcExtraInfo {
    #[prost(oneof = "npc_extra_info::Kknboacncon", tags = "15, 10, 8")]
    pub kknboacncon: ::core::option::Option<npc_extra_info::Kknboacncon>,
}
/// Nested message and enum types in `NpcExtraInfo`.
pub mod npc_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "15")]
        RogueGameInfo(super::NpcRogueGameInfo),
        /// offset: 16
        #[prost(message, tag = "10")]
        Mblffikgmop(super::Pagohcjgolc),
        /// offset: 16
        #[prost(message, tag = "8")]
        Dkpfhlbffhi(super::Mhgaolcdonk),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneNpcInfo {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub extra_info: ::core::option::Option<NpcExtraInfo>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub npc_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PropRogueInfo {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub room_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gecocmlbbpe: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub majkfimpoof: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub kkmefdeflbi: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hlfakeobfab {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub afemblfccch: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub hjmacpmoinc: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub pbmahojbagg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bgflakmoigc {
    /// offset: 25
    #[prost(bool, tag = "9")]
    pub amicpgoihll: bool,
    /// offset: 24
    #[prost(bool, tag = "14")]
    pub jjmkahibdbh: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebbojacnhec {
    /// offset: 32
    #[prost(bool, tag = "6")]
    pub oeedpjhlphl: bool,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ghehgioagdg: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub lhlkjidflin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pgllfcmefkg {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub ghehgioagdg: u32,
    /// offset: 32
    #[prost(bool, tag = "5")]
    pub oeedpjhlphl: bool,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub lhlkjidflin: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Daakgedppjj {
    /// offset: 28
    #[prost(bool, tag = "1")]
    pub is_valid: bool,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub func_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Apkenkidmgc {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub pbjpeoededf: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub gmgpfaionng: ::prost::alloc::vec::Vec<Daakgedppjj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nbdkncjgomn {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub kobbmdfpnka: ::core::option::Option<Hkoeaopneac>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub fokppmbidid: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onnejipghck {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub chest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct PropTimelineInfo {
    /// offset: 24
    #[prost(bytes = "vec", tag = "8")]
    pub timeline_byte_value: ::prost::alloc::vec::Vec<u8>,
    /// offset: 32
    #[prost(bool, tag = "12")]
    pub timeline_bool_value: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PropExtraInfo {
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub timeline_info: ::core::option::Option<PropTimelineInfo>,
    #[prost(oneof = "prop_extra_info::Kknboacncon", tags = "14, 12, 1, 13, 15, 4, 2, 9")]
    pub kknboacncon: ::core::option::Option<prop_extra_info::Kknboacncon>,
}
/// Nested message and enum types in `PropExtraInfo`.
pub mod prop_extra_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "14")]
        RogueGameInfo(super::PropRogueInfo),
        /// offset: 24
        #[prost(message, tag = "12")]
        Aefmmohkchj(super::Hlfakeobfab),
        /// offset: 24
        #[prost(message, tag = "1")]
        Ogljiojbien(super::Bgflakmoigc),
        /// offset: 24
        #[prost(message, tag = "13")]
        Adnhhaellnc(super::Ebbojacnhec),
        /// offset: 24
        #[prost(message, tag = "15")]
        Acjpmkhjldb(super::Apkenkidmgc),
        /// offset: 24
        #[prost(message, tag = "4")]
        Oemhokembkm(super::Nbdkncjgomn),
        /// offset: 24
        #[prost(message, tag = "2")]
        Mfcplghhpnp(super::Onnejipghck),
        /// offset: 24
        #[prost(message, tag = "9")]
        Idmaelpella(super::Pgllfcmefkg),
    }
}
/// Obf: ScenePropInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePropInfo {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub prop_state: u32,
    /// offset: 24
    #[prost(string, repeated, tag = "3")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    /// offset: 48
    #[prost(uint64, tag = "10")]
    pub create_time_ms: u64,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub life_time_ms: u32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub prop_id: u32,
}
/// Obf: SceneSummonUnitInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneSummonUnitInfo {
    /// offset: 52
    #[prost(uint32, tag = "1")]
    pub caster_entity_id: u32,
    /// offset: 16
    #[prost(string, repeated, tag = "4")]
    pub trigger_name_list: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub attach_entity_id: u32,
    /// offset: 32
    #[prost(int32, tag = "7")]
    pub life_time_ms: i32,
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub create_time_ms: u64,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub summon_unit_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityInfo {
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub entity_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub inst_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
    #[prost(oneof = "scene_entity_info::Entity", tags = "13, 14, 6, 7, 1")]
    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: 16
        #[prost(message, tag = "13")]
        Actor(super::SceneActorInfo),
        /// offset: 16
        #[prost(message, tag = "14")]
        NpcMonster(super::SceneNpcMonsterInfo),
        /// offset: 16
        #[prost(message, tag = "6")]
        Npc(super::SceneNpcInfo),
        /// offset: 16
        #[prost(message, tag = "7")]
        Prop(super::ScenePropInfo),
        /// offset: 16
        #[prost(message, tag = "1")]
        SummonUnit(super::SceneSummonUnitInfo),
    }
}
/// Obf: BuffInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuffInfo {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub buff_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub level: u32,
    /// offset: 56
    #[prost(uint32, tag = "5")]
    pub base_avatar_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub count: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub buff_summon_entity_id: u32,
    /// offset: 16
    #[prost(map = "string, float", tag = "10")]
    pub dynamic_values: ::std::collections::HashMap<::prost::alloc::string::String, f32>,
    /// offset: 48
    #[prost(uint64, tag = "12")]
    pub add_time_ms: u64,
    /// offset: 60
    #[prost(float, tag = "13")]
    pub life_time: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hgnbpanecal {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub buff_list: ::prost::alloc::vec::Vec<BuffInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub entity_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CustomSaveData {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 16
    #[prost(string, tag = "5")]
    pub save_data: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hieklhpinhl {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub max_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub ofbpkcncgfg: u32,
}
/// Obf: SceneEntityGroupInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityGroupInfo {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 32
    #[prost(map = "string, int32", tag = "12")]
    pub banbecdcdhg: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub state: u32,
}
/// Obf: MissionStatusBySceneInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionStatusBySceneInfo {
    /// offset: 48
    #[prost(message, repeated, tag = "1")]
    pub sub_mission_status_list: ::prost::alloc::vec::Vec<Mission>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "2")]
    pub disabled_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "4")]
    pub unfinished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub jlmgbadjbkn: ::prost::alloc::vec::Vec<MainMissionCustomValue>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Belnlojafcm {
    /// offset: 32
    #[prost(uint32, repeated, tag = "4")]
    pub hlllikpgofg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub jhbaahglfcb: ::core::option::Option<Dghpidmdojm>,
}
/// Obf: SceneInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneInfo {
    /// offset: 156
    #[prost(uint32, tag = "1")]
    pub plane_id: u32,
    /// offset: 120
    #[prost(uint32, tag = "2")]
    pub floor_id: u32,
    /// offset: 144
    #[prost(uint32, tag = "3")]
    pub world_id: u32,
    /// offset: 96
    #[prost(uint32, repeated, tag = "4")]
    pub opened_chests_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 152
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
    /// offset: 80
    #[prost(map = "uint32, message", tag = "7")]
    pub bikbfgpfaac: ::std::collections::HashMap<u32, Hieklhpinhl>,
    /// offset: 124
    #[prost(uint32, tag = "8")]
    pub leader_entity_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "9")]
    pub entity_list: ::prost::alloc::vec::Vec<SceneEntityInfo>,
    /// offset: 160
    #[prost(uint32, tag = "10")]
    pub client_pos_version: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "11")]
    pub custom_data_list: ::prost::alloc::vec::Vec<CustomSaveData>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub cpikfgpcoce: ::prost::alloc::vec::Vec<Hgnbpanecal>,
    /// offset: 148
    #[prost(uint32, tag = "13")]
    pub game_mode_type: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub scene_buff_info_list: ::prost::alloc::vec::Vec<BuffInfo>,
    /// offset: 56
    #[prost(map = "string, int32", tag = "880")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    /// offset: 136
    #[prost(uint32, tag = "966")]
    pub content_id: u32,
    /// offset: 104
    #[prost(message, repeated, tag = "989")]
    pub entity_group_list: ::prost::alloc::vec::Vec<SceneEntityGroupInfo>,
    /// offset: 24
    #[prost(message, optional, tag = "1107")]
    pub scene_identifier: ::core::option::Option<SceneIdentifier>,
    /// offset: 140
    #[prost(uint32, tag = "1243")]
    pub dimension_id: u32,
    /// offset: 164
    #[prost(uint32, tag = "1396")]
    pub game_story_line_id: u32,
    /// offset: 128
    #[prost(uint64, tag = "1496")]
    pub interact_id: u64,
    /// offset: 48
    #[prost(uint32, repeated, tag = "1604")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 112
    #[prost(message, optional, tag = "1660")]
    pub scene_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    /// offset: 64
    #[prost(message, optional, tag = "1938")]
    pub fojjgjpimbl: ::core::option::Option<Belnlojafcm>,
}
/// Obf: EntityMotion
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EntityMotion {
    /// offset: 36
    #[prost(bool, tag = "4")]
    pub fjoeoedlned: bool,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub map_layer: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub entity_id: u32,
}
/// Obf: SceneEntityMoveCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1425)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveCsReq {
    /// offset: 32
    #[prost(uint64, tag = "1")]
    pub interact_id: u64,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub entry_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
/// Obf: DDNFEPNJEHM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1478)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityMoveScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub entity_motion_list: ::prost::alloc::vec::Vec<EntityMotion>,
}
/// Obf: DHOCHEGBMFG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1471)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneEntityMoveScNotify {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub entity_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub entry_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub client_pos_version: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1440)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdgobnjpkjg {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub plneoocpfni: u32,
}
/// Obf: OBOAHKMABIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1493)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InteractPropCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub interact_id2: u32,
    /// offset: 32
    #[prost(uint64, tag = "12")]
    pub interact_id: u64,
}
/// Obf: LBGHIJGFAFD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1458)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InteractPropScRsp {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub prop_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub prop_state: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1426)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangePropTimelineInfoCsReq {
    /// offset: 32
    #[prost(uint64, tag = "1")]
    pub uuid: u64,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub is_close_map: bool,
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub prop_entity_id: u32,
    /// offset: 48
    #[prost(uint64, tag = "11")]
    pub interact_id: u64,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub timeline_info: ::core::option::Option<PropTimelineInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1413)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangePropTimelineInfoScRsp {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub prop_entity_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HitMonsterBattleInfo {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub target_monster_entity_id: u32,
    /// offset: 24
    #[prost(enumeration = "MonsterBattleType", tag = "14")]
    pub monster_battle_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DynamicValues {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub key: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(float, tag = "9")]
    pub value: f32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct AssistMonsterEntityInfo {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: INBDPGBJIFA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1488)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillCsReq {
    /// offset: 56
    #[prost(enumeration = "SkillExtraTag", repeated, tag = "1")]
    pub skill_extra_tags: ::prost::alloc::vec::Vec<i32>,
    /// offset: 92
    #[prost(uint32, tag = "3")]
    pub cast_entity_id: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "4")]
    pub dynamic_values: ::prost::alloc::vec::Vec<DynamicValues>,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub assist_monster_entity_info: ::prost::alloc::vec::Vec<AssistMonsterEntityInfo>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 88
    #[prost(uint32, tag = "7")]
    pub kcfabnfpopn: u32,
    /// offset: 84
    #[prost(uint32, tag = "8")]
    pub attacked_by_entity_id: u32,
    /// offset: 72
    #[prost(message, optional, tag = "9")]
    pub target_motion: ::core::option::Option<MotionInfo>,
    /// offset: 16
    #[prost(string, tag = "10")]
    pub maze_ability_str: ::prost::alloc::string::String,
    /// offset: 80
    #[prost(uint32, tag = "13")]
    pub skill_index: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "15")]
    pub hit_target_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: MAPFMHHMKIM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1481)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneCastSkillScRsp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub monster_battle_info: ::prost::alloc::vec::Vec<HitMonsterBattleInfo>,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub cast_entity_id: u32,
}
/// Obf: GDGMINPNACD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1438)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneCastSkillCostMpCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub skill_index: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub cast_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub attacked_by_entity_id: u32,
}
/// Obf: LEJMFOOIHFN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1439)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneCastSkillCostMpScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub cast_entity_id: u32,
}
/// Obf: BFGACKAFICK
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1404)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneCastSkillMpUpdateScNotify {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub cast_entity_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub mp: u32,
}
/// Obf: MMNONCLEIIH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1430)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneEnterStageCsReq {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub event_id: u32,
    /// offset: 24
    #[prost(enumeration = "RebattleType", tag = "12")]
    pub nkdaaagpcdb: i32,
}
/// Obf: CCOCKCOOOKO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1442)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEnterStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1472)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneReviveAfterRebattleCsReq {
    /// offset: 24
    #[prost(enumeration = "RebattleType", tag = "10")]
    pub nkdaaagpcdb: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1480)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneReviveAfterRebattleScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: GJEONNOCMPH
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1486)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetCurSceneInfoCsReq {}
/// Obf: AGAAHIBNOBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1447)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetCurSceneInfoScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EntityBuffChangeInfo {
    /// offset: 44
    #[prost(enumeration = "SceneEntityBuffChangeType", tag = "1")]
    pub reason: i32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub cast_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
    #[prost(oneof = "entity_buff_change_info::Kknboacncon", tags = "3, 9")]
    pub kknboacncon: ::core::option::Option<entity_buff_change_info::Kknboacncon>,
}
/// Nested message and enum types in `EntityBuffChangeInfo`.
pub mod entity_buff_change_info {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "3")]
        BuffChangeInfo(super::BuffInfo),
        /// offset: 24
        #[prost(uint32, tag = "9")]
        RemoveBuffId(u32),
    }
}
/// Obf: GBMFAHMBLAA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncEntityBuffChangeListScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub entity_buff_change_list: ::prost::alloc::vec::Vec<EntityBuffChangeInfo>,
}
/// Obf: FIAHFIBLDLP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1436)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneCheckpoingRefreshCsReq {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub prop_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub floor_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub plane_id: u32,
}
/// Obf: JLKIEGEFFHI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1448)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneCheckpoingRefreshScRsp {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1445)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hnglcigbngb {
    /// offset: 24
    #[prost(int64, tag = "14")]
    pub hhlnoeilpoj: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oofdadlendh {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1465)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mnepaigbpgm {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1484)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterSectionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub section_id: u32,
    /// offset: 24
    #[prost(uint64, tag = "10")]
    pub interact_id: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1421)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterSectionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1405)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ochpfjekngm {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub chest_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1429)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pdhbdpnpmpi {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1463)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kcfmjcbjgmn {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1434)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SavePointsInfoNotify {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub valid_times: u32,
    /// offset: 24
    #[prost(int64, tag = "13")]
    pub refresh_time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Najknjljpep {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub ldpbphbbfgf: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub hfpljfbopeh: u32,
}
/// Obf: ANHIGPKMCNG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1496)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartCocoonStageCsReq {
    /// offset: 36
    #[prost(uint32, tag = "3")]
    pub prop_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub heccobfbjfi: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub cbjckeiggnl: ::core::option::Option<Najknjljpep>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub wave: u32,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub world_level: u32,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub cocoon_id: u32,
}
/// Obf: StartCocoonStageScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1473)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartCocoonStageScRsp {
    /// offset: 44
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub prop_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "5")]
    pub cocoon_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub wave: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub challenge_cnt: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1475)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetClientPausedCsReq {
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub paused: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1444)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetClientPausedScRsp {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub paused: bool,
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1415)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeactivateFarmElementCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub entity_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1418)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeactivateFarmElementScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AJAPKAEAIJM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1453)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveFarmElementCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub world_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub heccobfbjfi: u32,
}
/// Obf: DPNJPMJEHBH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1452)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ActiveFarmElementScRsp {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub world_level: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: SetGroupCustomSaveDataCsReq
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1498)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGroupCustomSaveDataCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub entry_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub interact_id: u64,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub save_data: ::prost::alloc::string::String,
}
/// Obf: BBMICCAEHFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1462)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetGroupCustomSaveDataScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub entry_id: u32,
}
/// Obf: DBMMBDOINNC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1416)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReEnterLastElementStageCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
}
/// Obf: MOOKEPFNLPM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1406)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ReEnterLastElementStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
}
/// Obf: MKOADBDNMGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1474)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneEntityTeleportCsReq {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub entry_id: u32,
    /// offset: 32
    #[prost(uint64, tag = "4")]
    pub interact_id: u64,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
}
/// Obf: DDNPAHEDFAE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1457)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneEntityTeleportScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub entity_motion: ::core::option::Option<EntityMotion>,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub client_pos_version: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TeleportInfo {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub teleport_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub reason: u32,
}
/// Obf: SceneIdentifier
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SceneIdentifier {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub content_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub game_story_line_id: u32,
    #[prost(oneof = "scene_identifier::TeleportNigger", tags = "1035")]
    pub teleport_nigger: ::core::option::Option<scene_identifier::TeleportNigger>,
}
/// Nested message and enum types in `SceneIdentifier`.
pub mod scene_identifier {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum TeleportNigger {
        /// offset: 24
        #[prost(message, tag = "1035")]
        TeleportInfo(super::TeleportInfo),
    }
}
/// Obf: MEKDHGNOEIJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1427)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterSceneCsReq {
    /// offset: 56
    #[prost(uint64, tag = "1")]
    pub interact_id: u64,
    /// offset: 41
    #[prost(bool, tag = "2")]
    pub is_close_map: bool,
    /// offset: 48
    #[prost(uint32, tag = "6")]
    pub entry_id2: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub scene_identifier: ::core::option::Option<SceneIdentifier>,
    /// offset: 40
    #[prost(bool, tag = "10")]
    pub fbpkofoiolc: bool,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub idabokljolg: ::core::option::Option<Vector>,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
}
/// Obf: JNKOPDPGDFF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1423)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterSceneScRsp {
    /// offset: 37
    #[prost(bool, tag = "1")]
    pub is_over_map: bool,
    /// offset: 36
    #[prost(bool, tag = "8")]
    pub is_close_map: bool,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub scene_identifier: ::core::option::Option<SceneIdentifier>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: FBJMJBLCGNI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1483)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSceneByServerScNotify {
    /// offset: 40
    #[prost(enumeration = "EnterSceneReason", tag = "2")]
    pub reason: i32,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub lineup: ::core::option::Option<LineupInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub scene: ::core::option::Option<SceneInfo>,
}
/// Obf: BEFBCIOPNOA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1495)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScenePlaneEventScNotify {
    /// offset: 40
    #[prost(message, optional, tag = "3")]
    pub jenlpphnecf: ::core::option::Option<ItemList>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub dmnkfilncgb: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub get_item_list: ::core::option::Option<ItemList>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub eccihpndehm: ::core::option::Option<ItemList>,
}
/// Obf: EJFJACCGDGA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1417)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoCsReq {
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub scene_identifiers: ::prost::alloc::vec::Vec<SceneIdentifier>,
}
/// Obf: MazePropState
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazePropState {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub extra_info: ::core::option::Option<PropExtraInfo>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub config_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub state: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MazeGroup {
    /// offset: 48
    #[prost(int64, tag = "7")]
    pub modify_time: i64,
    /// offset: 44
    #[prost(bool, tag = "8")]
    pub is_need_refresh: bool,
    /// offset: 32
    #[prost(map = "string, int32", tag = "11")]
    pub property_map: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub destory_monster_config_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: ChestInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChestInfo {
    /// offset: 28
    #[prost(enumeration = "ChestType", tag = "9")]
    pub chest_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub opened_num: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub exist_num: u32,
}
/// Obf: FAHFBEJCKLF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChestMonsterStat {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub r#type: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub pijbpdpeodg: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub jbgifbgmlmf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneMapInfo {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub maze_group_list: ::prost::alloc::vec::Vec<MazeGroup>,
    /// offset: 112
    #[prost(uint32, tag = "3")]
    pub dimension_id: u32,
    /// offset: 64
    #[prost(message, repeated, tag = "4")]
    pub maze_prop_list: ::prost::alloc::vec::Vec<MazePropState>,
    /// offset: 128
    #[prost(uint32, tag = "5")]
    pub floor_id: u32,
    /// offset: 80
    #[prost(uint32, repeated, tag = "6")]
    pub unlock_teleport_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 104
    #[prost(uint32, repeated, tag = "7")]
    pub lighten_section_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "8")]
    pub chest_monster_list: ::prost::alloc::vec::Vec<ChestMonsterStat>,
    /// offset: 116
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 120
    #[prost(uint32, tag = "12")]
    pub chest_monster_num: u32,
    /// offset: 124
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
    /// offset: 48
    #[prost(message, repeated, tag = "14")]
    pub chest_list: ::prost::alloc::vec::Vec<ChestInfo>,
    /// offset: 96
    #[prost(map = "string, int32", tag = "15")]
    pub floor_saved_data: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        i32,
    >,
    /// offset: 88
    #[prost(message, optional, tag = "123")]
    pub client_group_mission_info: ::core::option::Option<MissionStatusBySceneInfo>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "561")]
    pub opened_chest_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "954")]
    pub scene_identifier: ::core::option::Option<SceneIdentifier>,
    /// offset: 72
    #[prost(uint32, repeated, tag = "1700")]
    pub finished_chest_monster_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: GetSceneMapInfoScRsp
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1460)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSceneMapInfoScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub scene_map_info: ::prost::alloc::vec::Vec<SceneMapInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1490)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SyncServerSceneChangeNotify {}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1401)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CounterDownCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dggcfdkjdpo: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub bikalogmmda: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1464)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CounterDownScRsp {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1468)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilccpicilff {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ofbpkcncgfg: u32,
    /// offset: 28
    #[prost(enumeration = "GameplayCounterUpdateReason", tag = "7")]
    pub reason: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub bikalogmmda: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1459)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebadahnbiih {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub gpjbpkilobm: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub bikalogmmda: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1409)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmabbkempnp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: EDDIFENDEFG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1403)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateFloorSavedValueNotify {
    /// offset: 24
    #[prost(map = "string, int32", tag = "3")]
    pub saved_value: ::std::collections::HashMap<::prost::alloc::string::String, i32>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub dimension_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub floor_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub plane_id: u32,
}
/// Obf: CDIEIOFFMKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1432)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetUnlockTeleportCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub entry_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: FFKMNLDNIAA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1470)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetUnlockTeleportScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub unlocked_teleport_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: DJPNDFFGJHO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1497)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenChestScNotify {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub chest_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneEntityRefreshInfo {
    #[prost(oneof = "scene_entity_refresh_info::RefreshType", tags = "6, 5, 14")]
    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: 24
        #[prost(message, tag = "6")]
        AddEntity(super::SceneEntityInfo),
        /// offset: 24
        #[prost(uint32, tag = "5")]
        DeleteEntity(u32),
        /// offset: 24
        #[prost(uint32, tag = "14")]
        Beeanadahpl(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Akekckdihla {
    /// offset: 32
    #[prost(int32, tag = "1")]
    pub new_value: i32,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub property_name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(int32, tag = "9")]
    pub old_value: i32,
}
/// Obf: GroupRefreshInfo
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupRefreshInfo {
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 52
    #[prost(enumeration = "SceneGroupRefreshType", tag = "10")]
    pub refresh_type: i32,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub group_info: ::core::option::Option<SceneEntityGroupInfo>,
    /// offset: 32
    #[prost(message, repeated, tag = "12")]
    pub refresh_entity: ::prost::alloc::vec::Vec<SceneEntityRefreshInfo>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub cdmkbchlpab: ::prost::alloc::vec::Vec<Akekckdihla>,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub state: u32,
}
/// Obf: EJJNPDFPIAP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1491)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SceneGroupRefreshScNotify {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub floor_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dimension_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub group_refresh_list: ::prost::alloc::vec::Vec<GroupRefreshInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GroupStateInfo {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub group_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub gmehamchjbk: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub group_state: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1479)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GroupStateChangeCsReq {
    /// offset: 32
    #[prost(uint64, tag = "11")]
    pub interact_id: u64,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1407)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GroupStateChangeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnteredSceneInfo {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub plane_id: u32,
}
/// Obf: FHLGAPIIKCA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1424)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetEnteredSceneCsReq {}
/// Obf: CGKHKICJKIA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetEnteredSceneScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "4")]
    pub entered_scene_info_list: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: AFCKCGAINAM
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1477)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnteredSceneChangeScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub entered_scene_info_list: ::prost::alloc::vec::Vec<EnteredSceneInfo>,
}
/// Obf: IJEEIJDKBDP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1431)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefreshTriggerByClientCsReq {
    /// offset: 24
    #[prost(string, tag = "2")]
    pub trigger_name: ::prost::alloc::string::String,
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "4")]
    pub trigger_entity_id: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub trigger_motion: ::core::option::Option<MotionInfo>,
    /// offset: 48
    #[prost(uint64, tag = "15")]
    pub interact_id: u64,
}
/// Obf: LKBJBOOHAKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1402)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefreshTriggerByClientScRsp {
    /// offset: 24
    #[prost(string, tag = "1")]
    pub trigger_name: ::prost::alloc::string::String,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub trigger_entity_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub refresh_trigger: bool,
}
/// Obf: EOALLAPKMFA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1500)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RefreshTriggerByClientScNotify {
    /// offset: 32
    #[prost(string, tag = "2")]
    pub trigger_name: ::prost::alloc::string::String,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub trigger_entity_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub trigger_target_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1408)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSummonUnitCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint64, tag = "13")]
    pub interact_id: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1467)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DeleteSummonUnitScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "9")]
    pub entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: HMBCOANODNA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1492)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockTeleportNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub entry_id2: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub entry_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1461)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGroupPropertyCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub floor_id: u32,
    /// offset: 24
    #[prost(string, tag = "2")]
    pub property_name: ::prost::alloc::string::String,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub dimension_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "10")]
    pub group_id: u32,
    /// offset: 48
    #[prost(int32, tag = "11")]
    pub olbepibldbd: i32,
    /// offset: 40
    #[prost(uint64, tag = "13")]
    pub interact_id: u64,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1450)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateGroupPropertyScRsp {
    /// offset: 36
    #[prost(int32, tag = "1")]
    pub new_value: i32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub dimension_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 32
    #[prost(int32, tag = "9")]
    pub old_value: i32,
    /// offset: 16
    #[prost(string, tag = "13")]
    pub property_name: ::prost::alloc::string::String,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub floor_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: KEJANPDMOIL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1454)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainWorldIdChangeScNotify {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub cfdceemioco: u32,
}
/// Obf: AEBLDMIMFIA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1456)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetTrainWorldIdCsReq {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub cfdceemioco: u32,
    /// offset: 32
    #[prost(uint64, tag = "15")]
    pub interact_id: u64,
}
/// Obf: GFCAHBOAJIB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1422)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SetTrainWorldIdScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub cfdceemioco: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ServerPrefs {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub server_prefs_id: u32,
    /// offset: 24
    #[prost(bytes = "vec", tag = "14")]
    pub data: ::prost::alloc::vec::Vec<u8>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetAllServerPrefsDataCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6178)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetAllServerPrefsDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub server_prefs_list: ::prost::alloc::vec::Vec<ServerPrefs>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetServerPrefsDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub server_prefs_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6158)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetServerPrefsDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6188)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateServerPrefsCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub server_prefs: ::core::option::Option<ServerPrefs>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6181)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UpdateServerPrefsDataScRsp {
    /// offset: 28
    #[prost(uint32, tag = "11")]
    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: 56
    #[prost(uint32, tag = "1")]
    pub city_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub shop_id: u32,
    /// offset: 48
    #[prost(int64, tag = "7")]
    pub end_time: i64,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub goods_list: ::prost::alloc::vec::Vec<Goods>,
    /// offset: 40
    #[prost(int64, tag = "13")]
    pub begin_time: i64,
    /// offset: 60
    #[prost(uint32, tag = "14")]
    pub city_exp: u32,
    /// offset: 64
    #[prost(uint64, tag = "15")]
    pub city_taken_level_reward: u64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Goods {
    /// offset: 40
    #[prost(int64, tag = "1")]
    pub end_time: i64,
    /// offset: 36
    #[prost(uint32, tag = "6")]
    pub goods_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub buy_times: u32,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub item_id: u32,
    /// offset: 24
    #[prost(int64, tag = "15")]
    pub begin_time: i64,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1525)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetShopListCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub shop_type: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1578)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetShopListScRsp {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub shop_list: ::prost::alloc::vec::Vec<Shop>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub shop_type: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1593)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BuyGoodsCsReq {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub goods_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub goods_num: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "6")]
    pub alhbekkljkk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub interacted_prop_entity_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "14")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1558)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuyGoodsScRsp {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub goods_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub return_item_list: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub shop_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub goods_buy_times: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1588)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeCityShopRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub shop_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1581)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeCityShopRewardScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub shop_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(1586)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct CityShopInfoScNotify {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub shop_id: u32,
    /// offset: 40
    #[prost(uint64, tag = "4")]
    pub taken_level_reward: u64,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub exp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dblilhclppl {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub item_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 48
    #[prost(uint32, tag = "7")]
    pub dnncagjioap: u32,
    /// offset: 44
    #[prost(bool, tag = "10")]
    pub pkkajkhkbmn: bool,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub dlpcpdgeadg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "12")]
    pub bbmelnjbgal: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gfffjcehbeb {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub bbmelnjbgal: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub hflpdcjdiac: u32,
}
/// Obf: JGBGMGIBDHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6725)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooDataCsReq {}
/// Obf: JAAPNEALKJE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooDataScRsp {
    /// offset: 40
    #[prost(uint32, repeated, tag = "1")]
    pub jgcnagnofbp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(message, repeated, tag = "2")]
    pub nfigghnnjap: ::prost::alloc::vec::Vec<Dblilhclppl>,
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub japfgeaiaca: ::prost::alloc::vec::Vec<Gfffjcehbeb>,
    /// offset: 84
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "5")]
    pub glmmhalpeag: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub mdfebnnoklg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "10")]
    pub fibmjbjmckk: ::prost::alloc::vec::Vec<u32>,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub oaimafohlhc: u32,
    /// offset: 72
    #[prost(uint32, repeated, tag = "15")]
    pub engebgicppb: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JJMJCLMPCMF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6793)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooBornCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub moaobpphldc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub opmpegkmbpc: u32,
}
/// Obf: OHICCFONLEC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooBornScRsp {
    /// offset: 44
    #[prost(bool, tag = "4")]
    pub hcghlfakiki: bool,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub dlmjnmipdco: ::core::option::Option<Dblilhclppl>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub jkmifnjebjo: ::prost::alloc::vec::Vec<Gfffjcehbeb>,
}
/// Obf: CHEKMBNIGBP
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooMutateCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub unique_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub item_id: u32,
}
/// Obf: JOFMCEMLDEA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6781)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooMutateScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub kiipgcdjpbo: ::core::option::Option<Dblilhclppl>,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub jkmifnjebjo: ::prost::alloc::vec::Vec<Gfffjcehbeb>,
    /// offset: 44
    #[prost(bool, tag = "13")]
    pub hcghlfakiki: bool,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: NGFMHDPLLEC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooOpCatteryCsReq {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub fepdlphphgi: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub op_type: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub ockgdjcgklh: u32,
}
/// Obf: BLHHJGDEMJH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6747)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooOpCatteryScRsp {
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub mdfebnnoklg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: MHIBHCOLBNB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6726)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooDeleteCatCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub gbieafkkapi: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: AALIMFELNHE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6713)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooDeleteCatScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub anhnmannaep: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KHCMPDLLMGP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6771)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooCatUpdateNotify {
    /// offset: 32
    #[prost(bool, tag = "9")]
    pub hcghlfakiki: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub hmaihhcbfkp: ::prost::alloc::vec::Vec<Dblilhclppl>,
    /// offset: 33
    #[prost(bool, tag = "11")]
    pub fhhcngagfcj: bool,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cgfmdmpckdn {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6733)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Baekeidldci {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
}
/// Obf: COGNONDGJDA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6738)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SpaceZooTakeCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub kifkglgclej: u32,
}
/// Obf: HPKFAABFCPN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6739)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpaceZooTakeScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub kifkglgclej: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jfgcabmmkab {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 28
    #[prost(bool, tag = "4")]
    pub ndbgpgodbph: bool,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub ebdddcbkpac: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub kdnbadegdnk: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub ceoeoebolnn: u32,
}
/// Obf: DHMAENLPNCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7170)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetStarFightDataCsReq {}
/// Obf: GFIAOCOLLCD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7161)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetStarFightDataScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub jjidnkdkmle: ::prost::alloc::vec::Vec<Jfgcabmmkab>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ebgjakbkpan {
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "1")]
    pub avatar_type: i32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub avatar_id: u32,
}
/// Obf: HLPCKFCKFFJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7163)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub dbkhhcggknn: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub group_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ebgjakbkpan>,
}
/// Obf: IOIJDHEMDLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7165)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StartStarFightLevelScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub group_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub dbkhhcggknn: u32,
}
/// Obf: FEEOGJHLALP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7164)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StarFightDataChangeNotify {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub group_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub kdkknfgpnab: ::core::option::Option<Jfgcabmmkab>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6225)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetStoryLineInfoCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6278)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetStoryLineInfoScRsp {
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub cur_story_line_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "15")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JEEOPLLKEEH
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6293)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StoryLineInfoScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub trial_avatar_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub fdflhkedpgc: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "8")]
    pub unfinished_story_line_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub cur_story_line_id: u32,
}
/// Obf: ELGBFAEBOCN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6281)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ChangeStoryLineFinishScNotify {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub onbmnambige: u32,
    /// offset: 36
    #[prost(bool, tag = "6")]
    pub hbfdgepblnp: bool,
    /// offset: 24
    #[prost(enumeration = "ChangeStoryLineAction", tag = "10")]
    pub action: i32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub cur_story_line_id: u32,
}
/// Obf: NGBNCHOLHFE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6286)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StoryLineTrialAvatarChangeScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub edbmifnehhh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub ilidiigalkd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(bool, tag = "6")]
    pub olpnmkapdlp: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StrongChallengeAvatar {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "7")]
    pub avatar_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nafmblmmaag {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkghjjcpblp {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub panel_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub cnbcdmmbcki: u32,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub max_score: u32,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub stage_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub lmdghcehjcg: ::core::option::Option<Nafmblmmaag>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Dkopoiibdgj {
    /// offset: 24
    #[prost(map = "uint32, message", tag = "15")]
    pub mbdbadfenpl: ::std::collections::HashMap<u32, Mkghjjcpblp>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6625)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fpmficmfngj {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cejmceebcog {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ocljeaklfbh: ::core::option::Option<Dkopoiibdgj>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: GFJLCKGPGGN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6693)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "5")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "13")]
    pub avatar_list: ::prost::alloc::vec::Vec<StrongChallengeAvatar>,
}
/// Obf: JKIFFNPPLLD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterStrongChallengeActivityStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6688)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbfojhepnhe {
    /// offset: 36
    #[prost(enumeration = "BattleEndStatus", tag = "3")]
    pub end_status: i32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub damage_score: u32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub stage_id: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub score_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub imcjfgipifi: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub bmahogkmpdj: u32,
    /// offset: 48
    #[prost(uint32, tag = "13")]
    pub max_score: u32,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub total_damage: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilhfafgojac {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub star: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub dbkhhcggknn: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: CAFBLIGHAMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7570)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSummonActivityDataCsReq {}
/// Obf: EADGNHBCEPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7561)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSummonActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub idlclmmaihp: ::prost::alloc::vec::Vec<Ilhfafgojac>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ooajjmegifo {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "9")]
    pub avatar_type: i32,
}
/// Obf: IHAKJMKLJFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7563)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageCsReq {
    /// offset: 44
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub dbkhhcggknn: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub nljcjiglghe: ::core::option::Option<Ooajjmegifo>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ooajjmegifo>,
}
/// Obf: BDABINKIAGM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7565)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSummonActivityStageScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "2")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub dbkhhcggknn: u32,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub group_id: u32,
}
/// Obf: NAHLFIBEBHJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7564)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SummonActivityBattleEndScNotify {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub group_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub round: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub star: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dbkhhcggknn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Enhopahgcma {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
    /// offset: 24
    #[prost(bytes = "vec", tag = "5")]
    pub dnobajnigac: ::prost::alloc::vec::Vec<u8>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub ekheafbkdfp: u32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub lngjodepcdn: u32,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub ifpfjiifala: ::core::option::Option<MotionInfo>,
}
/// Obf: BGKDADFBMPL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8118)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandDataCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub config_id: u32,
}
/// Obf: AFLNPEOHLHO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8108)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwitchHandDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub ebnghimcapk: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub beadahpggaf: ::prost::alloc::vec::Vec<Enhopahgcma>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub mhkapgbgfno: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: JMPLJGMDKCE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8103)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchHandStartCsReq {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
}
/// Obf: LFJGLEHGGGI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8112)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchHandStartScRsp {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
}
/// Obf: LJDIGIPHNGM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8102)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchHandFinishCsReq {}
/// Obf: PONEDAONOJI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8117)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwitchHandFinishScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub bdeddahodii: ::core::option::Option<Enhopahgcma>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Oendlkljhpf {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub lkjhcmmpbdl: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub iiimcoinaog: u32,
    /// offset: 28
    #[prost(enumeration = "Ddnjkamihhi", tag = "6")]
    pub op_type: i32,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub group_id: u32,
}
/// Obf: LGKMBABPKPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8105)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandUpdateCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub ncadgipialo: ::core::option::Option<Oendlkljhpf>,
    /// offset: 24
    #[prost(message, optional, tag = "10")]
    pub iinkhpojogp: ::core::option::Option<Enhopahgcma>,
}
/// Obf: HALOOCJJCGF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8104)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandUpdateScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub bdeddahodii: ::core::option::Option<Enhopahgcma>,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub ncadgipialo: ::core::option::Option<Oendlkljhpf>,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8111)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jaioienpgod {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub lngjodepcdn: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8115)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onpmjjocbmm {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub lngjodepcdn: u32,
}
/// Obf: MELHONKGEIM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8101)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandResetHandPosCsReq {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub config_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub ifpfjiifala: ::core::option::Option<MotionInfo>,
}
/// Obf: GHJCCAOCINH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8109)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandResetHandPosScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub beadahpggaf: ::core::option::Option<Enhopahgcma>,
}
/// Obf: PNPLNLCKAMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8120)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandResetGameCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub jcelifchcef: ::core::option::Option<Enhopahgcma>,
}
/// Obf: NKLLJAMLBCB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8110)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwitchHandResetGameScRsp {
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub beadahpggaf: ::core::option::Option<Enhopahgcma>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Einkhfkdccd {
    /// offset: 64
    #[prost(message, optional, tag = "1")]
    pub skill_info: ::core::option::Option<Bcpmphnadmn>,
    /// offset: 48
    #[prost(message, optional, tag = "4")]
    pub gfaanlgdeob: ::core::option::Option<Lbbnbaekgcj>,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub clkdehdodbb: ::core::option::Option<Hfmlkiiogbp>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "6")]
    pub mdbaebenfba: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub fmigokidkjl: ::core::option::Option<Npgjdcibfdd>,
    /// offset: 80
    #[prost(uint32, tag = "10")]
    pub imgdmddkhdl: u32,
    /// offset: 72
    #[prost(message, optional, tag = "12")]
    pub hceahmkbffk: ::core::option::Option<Hchnkkndjcn>,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub dobhaeagedg: ::core::option::Option<Hfkkedpmkkf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bcpmphnadmn {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub lmedkdnnnkl: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub pgbjijpacce: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub gmannhppfpk: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfkkedpmkkf {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub game_story_line_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub jbjnhjnmpap: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lbbglahfjkn {
    /// offset: 24
    #[prost(enumeration = "Ejcbokgjfhe", tag = "3")]
    pub egbfnfcephd: i32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub value: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hchnkkndjcn {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub kpjhkdomemj: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub status_list: ::prost::alloc::vec::Vec<Lbbglahfjkn>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub mood: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gffddjhnjpn {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub queue_position: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hfmlkiiogbp {
    /// offset: 16
    #[prost(message, repeated, tag = "9")]
    pub beledenkggi: ::prost::alloc::vec::Vec<Gffddjhnjpn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lbbnbaekgcj {
    /// offset: 32
    #[prost(uint32, tag = "686")]
    pub afphlnmgphk: u32,
    #[prost(oneof = "lbbnbaekgcj::Kknboacncon", tags = "5, 8")]
    pub kknboacncon: ::core::option::Option<lbbnbaekgcj::Kknboacncon>,
}
/// Nested message and enum types in `LBBNBAEKGCJ`.
pub mod lbbnbaekgcj {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 24
        #[prost(message, tag = "5")]
        Nmijkpknple(super::Iealclfldmp),
        /// offset: 24
        #[prost(message, tag = "8")]
        Fkpdohgkjjk(super::Klngfbhiada),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gocnlgidblm {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub amndndnplca: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub jalhkmeoopn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iealclfldmp {
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub coomknfdnlh: ::prost::alloc::vec::Vec<Gocnlgidblm>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub jajnhokcahh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(enumeration = "SwordTrainingDailyPhaseType", tag = "12")]
    pub cur_phase: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Klngfbhiada {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub dgonpflcomo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npgjdcibfdd {
    #[prost(oneof = "npgjdcibfdd::Kknboacncon", tags = "13, 1, 4, 12, 6, 7, 11, 8")]
    pub kknboacncon: ::core::option::Option<npgjdcibfdd::Kknboacncon>,
}
/// Nested message and enum types in `NPGJDCIBFDD`.
pub mod npgjdcibfdd {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "13")]
        Ngocellbhcf(super::Bljhlkbngec),
        /// offset: 16
        #[prost(message, tag = "1")]
        Kndkcoggekl(super::Pjknnjgeebj),
        /// offset: 16
        #[prost(message, tag = "4")]
        Nclbfaallfj(super::Gelehdajmed),
        /// offset: 16
        #[prost(message, tag = "12")]
        Docglpkmhdm(super::Akfbnfpfkjj),
        /// offset: 16
        #[prost(message, tag = "6")]
        Kgpmpphjhld(super::Jadfejknoco),
        /// offset: 16
        #[prost(message, tag = "7")]
        Olhmhoomgck(super::Okojcbkenej),
        /// offset: 16
        #[prost(message, tag = "11")]
        Mhlpjedilfj(super::Ikglclflako),
        /// offset: 16
        #[prost(message, tag = "8")]
        Gjninfabdbn(super::Ecphokopkbp),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bljhlkbngec {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjknnjgeebj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gelehdajmed {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Akfbnfpfkjj {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jadfejknoco {
    /// offset: 28
    #[prost(bool, tag = "5")]
    pub jbjikkocnlp: bool,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub lnahjengela: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okojcbkenej {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ikglclflako {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecphokopkbp {
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub ijjegkdgkcj: bool,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub lnahjengela: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gijkchkmpjg {
    /// offset: 32
    #[prost(enumeration = "Bhjofljgnkn", tag = "3")]
    pub source: i32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub detail: ::core::option::Option<Ljgknfcfllb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljgknfcfllb {
    #[prost(
        oneof = "ljgknfcfllb::Kknboacncon",
        tags = "6, 7, 8, 12, 10, 1, 15, 5, 839, 433, 896, 1707"
    )]
    pub kknboacncon: ::core::option::Option<ljgknfcfllb::Kknboacncon>,
}
/// Nested message and enum types in `LJGKNFCFLLB`.
pub mod ljgknfcfllb {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Kknboacncon {
        /// offset: 16
        #[prost(message, tag = "6")]
        Deimcenjpkp(super::Bjkpjibnphc),
        /// offset: 16
        #[prost(message, tag = "7")]
        Fnonlfckdil(super::Fbkijnofiah),
        /// offset: 16
        #[prost(message, tag = "8")]
        Cidoegfphen(super::Fbkijnofiah),
        /// offset: 16
        #[prost(message, tag = "12")]
        Hancfmmmfnf(super::Gijlacbopee),
        /// offset: 16
        #[prost(message, tag = "10")]
        Lmagjoolkii(super::Mceclbdbenf),
        /// offset: 16
        #[prost(message, tag = "1")]
        Gologihjopf(super::Jadfejknoco),
        /// offset: 16
        #[prost(message, tag = "15")]
        Fogbmaloaok(super::Daedlfeegib),
        /// offset: 16
        #[prost(uint32, tag = "5")]
        Mifojpgifdd(u32),
        /// offset: 16
        #[prost(uint32, tag = "839")]
        Kpjhkdomemj(u32),
        /// offset: 16
        #[prost(message, tag = "433")]
        Kjoaiohffmk(super::Ecphokopkbp),
        /// offset: 16
        #[prost(message, tag = "896")]
        Gbnoifndpjb(super::Okojcbkenej),
        /// offset: 16
        #[prost(uint32, tag = "1707")]
        Kgkjhcbmefi(u32),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Daedlfeegib {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dialogue_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bjkpjibnphc {
    /// offset: 32
    #[prost(enumeration = "Ejcbokgjfhe", tag = "9")]
    pub egbfnfcephd: i32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub hfnnnghbhgg: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub dcpdnbaldoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fbkijnofiah {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub hfnnnghbhgg: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub dcpdnbaldoa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gijlacbopee {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub hjmejnmailk: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub queue_position: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mceclbdbenf {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub turn: ::core::option::Option<Lbbnbaekgcj>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub imgdmddkhdl: u32,
}
/// Obf: LAKBGIFBOFA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7459)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSyncChangeScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub dgngmjmpfgk: ::prost::alloc::vec::Vec<Gijkchkmpjg>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdanejnfabf {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub progress: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gihlnoiacih {
    /// offset: 32
    #[prost(message, repeated, tag = "5")]
    pub kfofakdpgjc: ::prost::alloc::vec::Vec<Fdanejnfabf>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub mniifcoooml: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CEPKLKNFLON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7473)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetSwordTrainingDataCsReq {}
/// Obf: AKLEOKANBFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7487)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSwordTrainingDataScRsp {
    /// offset: 32
    #[prost(message, optional, tag = "1")]
    pub bbekbjphejk: ::core::option::Option<Gihlnoiacih>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "2")]
    pub ciccaienfga: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, optional, tag = "4")]
    pub ajgoejhkoke: ::core::option::Option<Einkhfkdccd>,
    /// offset: 68
    #[prost(uint32, tag = "7")]
    pub pabjcckbgeb: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub jbjnhjnmpap: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "10")]
    pub iepanmcfkjl: ::prost::alloc::vec::Vec<u32>,
    /// offset: 72
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 64
    #[prost(bool, tag = "15")]
    pub gpgimfmggkg: bool,
}
/// Obf: CBBJNPGLLHM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7494)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingTurnActionCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub gjepakhpfcg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "14")]
    pub ccpademehba: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CEJHJJNCHCJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7469)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingTurnActionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub ccpademehba: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: CBONHEMLCJG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7498)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmCsReq {
    /// offset: 24
    #[prost(enumeration = "SwordTrainingDailyPhaseType", tag = "1")]
    pub gcbhfkkgphc: i32,
}
/// Obf: IOCHJOIIJAC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7453)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingDailyPhaseConfirmScRsp {
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(bool, tag = "13")]
    pub kpmjokefljo: bool,
}
/// Obf: MLHMOBMFJDF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7457)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub hafokmhcgfm: u32,
}
/// Obf: JKKCLMHGJNN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7460)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingDialogueSelectOptionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: HNANALOFHKL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7491)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmCsReq {}
/// Obf: GOBDDIKGMJB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7462)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingExamResultConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
}
/// Obf: NJFMGIPINNK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7479)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct EnterSwordTrainingExamCsReq {}
/// Obf: IGKNBCIOBJJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7483)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterSwordTrainingExamScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: NPEPGBMPCEK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7456)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingLearnSkillCsReq {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub skill_id: u32,
}
/// Obf: MBPCKIKJKOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7452)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingLearnSkillScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: LLCLGDKFKPJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7464)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingStartGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub game_story_line_id: u32,
}
/// Obf: LLONJLACLDH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7485)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStartGameScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub ajgoejhkoke: ::core::option::Option<Einkhfkdccd>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: KPPPMHDPFML
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7465)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingStoryConfirmCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub lnahjengela: u32,
}
/// Obf: DIAGLMMBKIP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7463)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingStoryConfirmScRsp {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub lnahjengela: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Obf: HINGFMLCGKA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7458)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingGiveUpGameCsReq {}
/// Obf: CGAACLIDCBP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7468)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingGiveUpGameScRsp {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Obf: CHOPOIIJCPD
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7490)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingGameSettleScNotify {
    /// offset: 64
    #[prost(enumeration = "Ippkhofkmhm", tag = "3")]
    pub reason: i32,
    /// offset: 40
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub game_story_line_id: u32,
    /// offset: 60
    #[prost(uint32, tag = "7")]
    pub turn: u32,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub lbnlijbpkhi: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub kacamgjnoob: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "11")]
    pub cdbgpmabmgm: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub bhfhfonghml: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: DNJMMFCCGFN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7476)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingUnlockSyncScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub mniifcoooml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub kfofakdpgjc: ::prost::alloc::vec::Vec<Fdanejnfabf>,
}
/// Obf: HIOFMDBFHAG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7497)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingSelectEndingCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub pfoleglclfe: u32,
}
/// Obf: IKDGBHLLMBB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7492)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingSelectEndingScRsp {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub pfoleglclfe: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: HCIOANIMHPE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7486)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingRestoreGameCsReq {}
/// Obf: LELIJDKDOOC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7480)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingRestoreGameScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub ajgoejhkoke: ::core::option::Option<Einkhfkdccd>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: AKDCJGCEHKB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7500)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingStoryBattleCsReq {}
/// Obf: DIIPGEODELO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7454)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingStoryBattleScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Obf: KHKMBEMDJNN
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(7455)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingActionTurnSettleScNotify {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub binkdpmjlfg: ::prost::alloc::vec::Vec<Lbbglahfjkn>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub geajiljkbik: u32,
}
/// Obf: IAMLGPGAFAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7484)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingResumeGameCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub game_story_line_id: u32,
}
/// Obf: BBFDEKAAIFO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7488)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SwordTrainingResumeGameScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub ajgoejhkoke: ::core::option::Option<Einkhfkdccd>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: LNBDOMKFAGG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7461)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub skill_id: u32,
}
/// Obf: FCHBGJDOBIE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7499)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingSetSkillTraceScRsp {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub skill_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Obf: BDACGGBMIJE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7496)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedCsReq {}
/// Obf: CPKPGMKDKMG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7481)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SwordTrainingMarkEndingViewedScRsp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: IAIDGGGMBPJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct BasicModuleSync {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub stamina: u32,
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub dlodakohfop: u32,
}
/// Obf: NHGJGMAEBCI
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerBoardModuleSync {
    /// offset: 40
    #[prost(message, repeated, tag = "5")]
    pub unlocked_head_icon_list: ::prost::alloc::vec::Vec<HeadIconData>,
    /// offset: 56
    #[prost(bool, tag = "6")]
    pub mffgemklnbf: bool,
    /// offset: 24
    #[prost(string, tag = "7")]
    pub signature: ::prost::alloc::string::String,
    /// offset: 48
    #[prost(message, optional, tag = "10")]
    pub head_frame_info: ::core::option::Option<HeadFrameInfo>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub ghnjnfkjedc: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AvatarSync {
    /// offset: 32
    #[prost(message, repeated, tag = "6")]
    pub avatar_list: ::prost::alloc::vec::Vec<Avatar>,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub avatar_path_data_info_list: ::prost::alloc::vec::Vec<AvatarPathData>,
}
/// Obf: EOJCKAGKGBM
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissionSync {
    /// offset: 16
    #[prost(uint32, repeated, tag = "1")]
    pub finished_main_mission_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, repeated, tag = "4")]
    pub mission_list: ::prost::alloc::vec::Vec<Mission>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "7")]
    pub obcblabecea: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "10")]
    pub lebflakcjcm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, repeated, tag = "11")]
    pub depbonhelfd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub nlpklndcmoc: ::prost::alloc::vec::Vec<Mjbanfppefh>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfnhcojobkh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub abmllcokoln: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "11")]
    pub lkakmgkenoi: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SyncStatus {
    /// offset: 48
    #[prost(message, repeated, tag = "5")]
    pub section_status: ::prost::alloc::vec::Vec<SectionStatus>,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub message_group_status: ::prost::alloc::vec::Vec<GroupStatus>,
    /// offset: 40
    #[prost(uint32, repeated, tag = "13")]
    pub mdangieimif: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub bgpacbijdch: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NIEBAAFIPDA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(625)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PlayerSyncScNotify {
    /// offset: 144
    #[prost(message, optional, tag = "2")]
    pub jhjnmofmpmo: ::core::option::Option<BasicModuleSync>,
    /// offset: 136
    #[prost(uint32, repeated, tag = "5")]
    pub del_relic_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(message, optional, tag = "6")]
    pub mission_sync: ::core::option::Option<MissionSync>,
    /// offset: 88
    #[prost(message, repeated, tag = "7")]
    pub wait_del_resource_list: ::prost::alloc::vec::Vec<WaitDelResource>,
    /// offset: 152
    #[prost(message, repeated, tag = "8")]
    pub relic_list: ::prost::alloc::vec::Vec<Relic>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub avatar_sync: ::core::option::Option<AvatarSync>,
    /// offset: 72
    #[prost(message, repeated, tag = "10")]
    pub quest_list: ::prost::alloc::vec::Vec<Quest>,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub basic_info: ::core::option::Option<PlayerBasicInfo>,
    /// offset: 168
    #[prost(message, repeated, tag = "12")]
    pub equipment_list: ::prost::alloc::vec::Vec<Equipment>,
    /// offset: 80
    #[prost(message, repeated, tag = "14")]
    pub material_list: ::prost::alloc::vec::Vec<Material>,
    /// offset: 128
    #[prost(uint32, repeated, tag = "15")]
    pub del_equipment_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "240")]
    pub nmbafjgfoih: ::prost::alloc::vec::Vec<Nkdnfdcfncp>,
    /// offset: 48
    #[prost(message, optional, tag = "325")]
    pub update_player_board_module_list: ::core::option::Option<PlayerBoardModuleSync>,
    /// offset: 160
    #[prost(message, repeated, tag = "525")]
    pub najfmiifiec: ::prost::alloc::vec::Vec<Material>,
    /// offset: 176
    #[prost(message, repeated, tag = "608")]
    pub jieohbbdjda: ::prost::alloc::vec::Vec<Cchmhoonegg>,
    /// offset: 96
    #[prost(message, repeated, tag = "1086")]
    pub update_platform_bound_gifts_list: ::prost::alloc::vec::Vec<Nlllaaejobp>,
    /// offset: 104
    #[prost(message, optional, tag = "1130")]
    pub fhhgdacmjed: ::core::option::Option<ItemList>,
    /// offset: 112
    #[prost(message, optional, tag = "1405")]
    pub sync_status: ::core::option::Option<SyncStatus>,
    /// offset: 120
    #[prost(message, optional, tag = "1452")]
    pub update_pet_summon_items_list: ::core::option::Option<Pfnhcojobkh>,
    /// offset: 32
    #[prost(message, optional, tag = "1962")]
    pub dhkfcdaghdm: ::core::option::Option<Cjlcpmdgibo>,
}
/// Obf: AFAEAGLMJEL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2125)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetNpcTakenRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub npc_id: u32,
}
/// Obf: NICENHFMLNE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2178)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetNpcTakenRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub nlmbbammccm: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub npc_id: u32,
}
/// Obf: ONGCMCCAPOA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2193)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeTalkRewardCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub jakebegajna: ::core::option::Option<Vector>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub mjalboeakme: u32,
}
/// Obf: DIOPCDKIEKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2158)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TakeTalkRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub mjalboeakme: u32,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Obf: GNLACIGLJJN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2188)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFirstTalkNpcCsReq {
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub fljbohaflok: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ilkadbidkaa {
    /// offset: 28
    #[prost(bool, tag = "3")]
    pub is_meet: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub gcbdpafmkan: u32,
}
/// Obf: KGAPKGHAKHF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2181)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkNpcScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<Ilkadbidkaa>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: ODIKKIMIMHO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2186)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishFirstTalkNpcCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub gcbdpafmkan: u32,
}
/// Obf: DDLGGGGKPHD
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2147)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishFirstTalkNpcScRsp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub gcbdpafmkan: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2126)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectInclinationTextCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub talk_sentence_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2113)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SelectInclinationTextScRsp {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub talk_sentence_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NpcMeetByPerformanceStatus {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub is_meet: bool,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub performance_id: u32,
}
/// Obf: MEJFIDEOLBN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2171)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub performance_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: BDMBCADIHLN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2140)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetFirstTalkByPerformanceNpcScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "3")]
    pub npc_meet_status_list: ::prost::alloc::vec::Vec<NpcMeetByPerformanceStatus>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: CFLOLHMFICG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(2133)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub performance_id: u32,
}
/// Obf: LADNPPKPJGM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(2138)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishFirstTalkByPerformanceNpcScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub performance_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lionjnjebbf {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Aommafeoboa {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub id: u32,
    /// offset: 28
    #[prost(bool, tag = "15")]
    pub has_passed: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ohcfiooiknd {
    /// offset: 32
    #[prost(message, repeated, tag = "4")]
    pub ilklajbgkki: ::prost::alloc::vec::Vec<Aommafeoboa>,
    /// offset: 24
    #[prost(message, repeated, tag = "9")]
    pub lnfcbcdnfdl: ::prost::alloc::vec::Vec<Lionjnjebbf>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gmbglbhefdi {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub hkfdnifacfh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "8")]
    pub fppjggjcjih: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: ODKKAPPADGE
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8158)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookGetDataCsReq {}
/// Obf: OGNGCOFKPPG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8148)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookGetDataScRsp {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub energy_info: u32,
    /// offset: 32
    #[prost(message, optional, tag = "4")]
    pub bbemigelgjc: ::core::option::Option<Ohcfiooiknd>,
    /// offset: 48
    #[prost(message, optional, tag = "5")]
    pub interaction: ::core::option::Option<Gmbglbhefdi>,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "6")]
    pub imnnlhcakml: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "8")]
    pub ijojmjomela: ::std::collections::HashMap<u32, u32>,
    /// offset: 68
    #[prost(uint32, tag = "9")]
    pub locebocjgec: u32,
    /// offset: 60
    #[prost(uint32, tag = "10")]
    pub hblkmbhglno: u32,
    /// offset: 56
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: GBHLCODNKHL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8143)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookOpenPackCsReq {}
/// Obf: JPJENKLDDOH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8152)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookOpenPackScRsp {
    /// offset: 48
    #[prost(uint32, tag = "2")]
    pub energy_info: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "3")]
    pub nlaangngaia: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub hblkmbhglno: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(map = "uint32, uint32", tag = "12")]
    pub kmnlfhlinfb: ::std::collections::HashMap<u32, u32>,
    /// offset: 44
    #[prost(uint32, tag = "15")]
    pub locebocjgec: u32,
}
/// Obf: JJOKPIPHCAK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8142)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookUnlockStoryCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub bhfhfonghml: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: NDIGHHGLNED
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8157)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookUnlockStoryScRsp {
    /// offset: 40
    #[prost(message, optional, tag = "1")]
    pub cllikponhoc: ::core::option::Option<Lionjnjebbf>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "3")]
    pub ijojmjomela: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(uint32, repeated, tag = "6")]
    pub bhfhfonghml: ::prost::alloc::vec::Vec<u32>,
    /// offset: 56
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "12")]
    pub imnnlhcakml: ::std::collections::HashMap<u32, u32>,
}
/// Obf: LAHKEHALABO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8145)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookFinishStoryCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub lnahjengela: u32,
}
/// Obf: KJIGKPHPELI
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8144)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookFinishStoryScRsp {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "4")]
    pub bbemigelgjc: ::core::option::Option<Ohcfiooiknd>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub lnahjengela: u32,
}
/// Obf: GPJONCPIEEI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8151)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookModifyEnergyScNotify {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub energy_info: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub sub_mission_id: u32,
}
/// Obf: CHGCCAGBEKF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8155)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookFinishInteractionCsReq {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub injagfdofej: u32,
}
/// Obf: NEJLCIDPCEE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8141)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookFinishInteractionScRsp {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub injagfdofej: u32,
}
/// Obf: CFKKKGCBANF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8149)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookUnlockInteractionCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub clnomeffhkg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: KFJJJNGBMMK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8160)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookUnlockInteractionScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "15")]
    pub clnomeffhkg: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: OBGJCNJEIFC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8150)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookSyncDataScNotify {
    /// offset: 48
    #[prost(uint32, tag = "4")]
    pub energy_info: u32,
    /// offset: 32
    #[prost(message, optional, tag = "5")]
    pub bbemigelgjc: ::core::option::Option<Ohcfiooiknd>,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub hblkmbhglno: u32,
    /// offset: 52
    #[prost(uint32, tag = "9")]
    pub locebocjgec: u32,
    /// offset: 40
    #[prost(map = "uint32, uint32", tag = "11")]
    pub imnnlhcakml: ::std::collections::HashMap<u32, u32>,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "13")]
    pub ijojmjomela: ::std::collections::HashMap<u32, u32>,
}
/// Obf: HKMMEADEBKI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8147)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TarotBookMultiOpenPackAndUnlockStoryCsReq {}
/// Obf: HLNNMCHNGCN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8154)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TarotBookMultiOpenPackAndUnlockStoryScRsp {
    /// offset: 60
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 64
    #[prost(uint32, tag = "5")]
    pub hblkmbhglno: u32,
    /// offset: 68
    #[prost(uint32, tag = "6")]
    pub locebocjgec: u32,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub energy_info: u32,
    /// offset: 40
    #[prost(message, optional, tag = "11")]
    pub bbemigelgjc: ::core::option::Option<Ohcfiooiknd>,
    /// offset: 48
    #[prost(map = "uint32, uint32", tag = "12")]
    pub ijojmjomela: ::std::collections::HashMap<u32, u32>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "13")]
    pub lnoaaoafjje: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "15")]
    pub imnnlhcakml: ::std::collections::HashMap<u32, u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajgleiogoid {
    /// offset: 24
    #[prost(uint32, repeated, tag = "3")]
    pub ikokepjghaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub idipbepcifg: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub finish_time: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kmaobfiimkf {
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub piclhlcbimp: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub gephkcplajf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Eabdmcjdjfa {
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub level: u32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9959)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Piokkomdaei {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9975)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gnnaembfinj {
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub jcobjampoal: ::core::option::Option<Kmaobfiimkf>,
    /// offset: 40
    #[prost(message, repeated, tag = "7")]
    pub ohfiibeipje: ::prost::alloc::vec::Vec<Ajgleiogoid>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "11")]
    pub lcocdlieckj: ::prost::alloc::vec::Vec<Eabdmcjdjfa>,
    /// offset: 52
    #[prost(uint32, tag = "13")]
    pub gephkcplajf: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kkphdbmnnhb {
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub stage_id: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub cast_skill_info_list: ::prost::alloc::vec::Vec<Hdlcapdikji>,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub mnhpdbedjlb: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "9")]
    pub pbnncincggc: ::prost::alloc::vec::Vec<u32>,
    /// offset: 76
    #[prost(uint32, tag = "10")]
    pub finish_time: u32,
    /// offset: 72
    #[prost(bool, tag = "11")]
    pub is_win: bool,
    /// offset: 48
    #[prost(uint64, tag = "12")]
    pub cedkbkpccdj: u64,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub room_id: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub ikokepjghaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 68
    #[prost(uint32, tag = "15")]
    pub idipbepcifg: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mblaidfenoe {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub nchbljhjnid: u32,
    /// offset: 32
    #[prost(enumeration = "Gjcofaflaei", tag = "10")]
    pub source_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub exp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9954)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Clcoajdpmjn {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub idipbepcifg: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub gepkddnjing: ::prost::alloc::vec::Vec<Mblaidfenoe>,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub finish_time: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "7")]
    pub ikokepjghaf: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub stage_id: u32,
    /// offset: 52
    #[prost(bool, tag = "9")]
    pub is_win: bool,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub gephkcplajf: u32,
    /// offset: 44
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9957)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iclfacjdjhb {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub level: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Paaimldhjci {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub neloakjaabi: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub max_score: u32,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub kkngifojlgj: u32,
}
/// Obf: HAOAFJLCIMO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6978)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTelevisionActivityDataCsReq {}
/// Obf: PNMLKLLEEFE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6968)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTelevisionActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub akdfabdhhio: ::prost::alloc::vec::Vec<Paaimldhjci>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: GHFHMCLBJKI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6977)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TelevisionActivityBattleEndScNotify {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub turn_left: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub round_score: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub aajfipmbmhc: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub gbhaibbfphj: ::core::option::Option<Paaimldhjci>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub total_score: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbikiimgkhh {
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub avatar_id: u32,
    /// offset: 24
    #[prost(enumeration = "AvatarType", tag = "13")]
    pub avatar_type: i32,
}
/// Obf: IKECLANKKII
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6972)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageCsReq {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub kkngifojlgj: u32,
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub buff_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Cbikiimgkhh>,
}
/// Obf: DCMOMHFNFAH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6962)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTelevisionActivityStageScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub kkngifojlgj: u32,
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jcdnagmdelf {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub paipjmkcceh: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub hpcikhibfhd: u32,
    /// offset: 16
    #[prost(string, tag = "9")]
    pub anegimpiehl: ::prost::alloc::string::String,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kijjcobojfm {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub text_join_item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3878)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ogfbeapmgjm {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: AKBOBPLCNFN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3893)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TextJoinQueryCsReq {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub obaojaoapbc: ::prost::alloc::vec::Vec<u32>,
}
/// Obf: JIGMJHLOHKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3858)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinQueryScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "2")]
    pub hpedoffjkkp: ::prost::alloc::vec::Vec<Jcdnagmdelf>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Obf: MPDCAFLJDEB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3888)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub hpedoffjkkp: ::prost::alloc::vec::Vec<Jcdnagmdelf>,
}
/// Obf: ANIFBDMGAIC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3881)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TextJoinBatchSaveScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub hpedoffjkkp: ::prost::alloc::vec::Vec<Jcdnagmdelf>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ifbjjjobghb {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub max_score: u32,
}
/// Obf: ODNFOAKHMKM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7560)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTrackPhotoActivityDataCsReq {}
/// Obf: BBKDJPONHPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7551)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrackPhotoActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub pedckgnnpaj: ::prost::alloc::vec::Vec<Ifbjjjobghb>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnicdffmddb {
    /// offset: 24
    #[prost(bool, tag = "8")]
    pub adgcojlmgah: bool,
    /// offset: 28
    #[prost(uint32, tag = "12")]
    pub entity_id: u32,
}
/// Obf: GNKPJLJDHCO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7553)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageCsReq {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub stage_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub piglhelgmij: ::prost::alloc::vec::Vec<Pnicdffmddb>,
    /// offset: 36
    #[prost(uint32, tag = "13")]
    pub cost_time: u32,
}
/// Obf: AGPEHMLFJBN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7555)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SettleTrackPhotoStageScRsp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub stage_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 40
    #[prost(uint32, tag = "9")]
    pub score_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub piglhelgmij: ::prost::alloc::vec::Vec<Pnicdffmddb>,
}
/// Obf: MFDDPJOEDCF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7554)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartTrackPhotoStageCsReq {
    /// offset: 28
    #[prost(bool, tag = "10")]
    pub lcppndpkhph: bool,
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub stage_id: u32,
}
/// Obf: OBADCOMDOON
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7556)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StartTrackPhotoStageScRsp {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub trans_no: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7552)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Egijmpcijog {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub stage_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7559)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Igkbmleljdh {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jbjnjpaocda {
    /// offset: 56
    #[prost(uint32, tag = "1")]
    pub summoned_pet_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub njdcpmenifg: ::core::option::Option<Jolahhgifha>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub uid: u32,
    /// offset: 40
    #[prost(int64, tag = "7")]
    pub aimnjimdikm: i64,
    /// offset: 48
    #[prost(bool, tag = "8")]
    pub ojpddaojjkc: bool,
    /// offset: 32
    #[prost(message, optional, tag = "12")]
    pub ajipblcionl: ::core::option::Option<PlayerSimpleInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Poblgkigine {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub room_owner_uid: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "9")]
    pub player_info: ::prost::alloc::vec::Vec<Jbjnjpaocda>,
    #[prost(oneof = "poblgkigine::Cbcjbngjpdj", tags = "39")]
    pub cbcjbngjpdj: ::core::option::Option<poblgkigine::Cbcjbngjpdj>,
}
/// Nested message and enum types in `POBLGKIGINE`.
pub mod poblgkigine {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Cbcjbngjpdj {
        /// offset: 24
        #[prost(message, tag = "39")]
        Lnmgofcomed(super::Pbmdebcgnmd),
    }
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9653)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Jgamellglge {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub njdcpmenifg: ::core::option::Option<Jolahhgifha>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9671)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jkilaalmfib {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
}
/// Obf: NCPEJLBJCLO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9644)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocialPlayRoomPlayerMoveScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub jenkgodeiom: ::core::option::Option<Mhnnefbopie>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub op_uid: u32,
    /// offset: 36
    #[prost(uint32, tag = "14")]
    pub room_owner_uid: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9747)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bodemoldhaa {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub teleport_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9683)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Djihnchdfed {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub retcode: u32,
}
/// Obf: MLNOEMIDHME
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9765)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocialPlayGameplayOperationScNotify {
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub room_owner_uid: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub op_uid: u32,
    #[prost(
        oneof = "social_play_gameplay_operation_sc_notify::Nbgbongljhm",
        tags = "914, 1883, 1621, 849, 832, 1786, 1794, 1625, 557, 799, 1359, 1834"
    )]
    pub nbgbongljhm: ::core::option::Option<
        social_play_gameplay_operation_sc_notify::Nbgbongljhm,
    >,
}
/// Nested message and enum types in `SocialPlayGameplayOperationScNotify`.
pub mod social_play_gameplay_operation_sc_notify {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Nbgbongljhm {
        /// offset: 24
        #[prost(uint32, tag = "914")]
        Lmggglecnea(u32),
        /// offset: 24
        #[prost(message, tag = "1883")]
        Gnlaecodenp(super::Jbjnjpaocda),
        /// offset: 24
        #[prost(message, tag = "1621")]
        Lmfmbjcnalj(super::Poblgkigine),
        /// offset: 24
        #[prost(uint32, tag = "849")]
        Hjhphdacehe(u32),
        /// offset: 24
        #[prost(message, tag = "832")]
        Oemekbognjh(super::Bfakmcijfcb),
        /// offset: 24
        #[prost(message, tag = "1786")]
        Onmnmlbanhk(super::Hmacehdgghb),
        /// offset: 24
        #[prost(message, tag = "1794")]
        Phkcdlphmpa(super::Mikgmgbhlen),
        /// offset: 24
        #[prost(message, tag = "1625")]
        Labnnegjnho(super::Poblgkigine),
        /// offset: 24
        #[prost(int64, tag = "557")]
        Dbikjpdbmoe(i64),
        /// offset: 24
        #[prost(message, tag = "799")]
        Impbcbpifag(super::Ikbdjlnepbh),
        /// offset: 24
        #[prost(uint32, tag = "1359")]
        Bjlcbaakpdi(u32),
        /// offset: 24
        #[prost(uint32, tag = "1834")]
        Dlkoeianimk(u32),
    }
}
/// Obf: NMGHOJBDFJJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9715)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainCakeCatchGetDataCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jofhmcjpbce {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub count: u32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub pcpdheiejfo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pjfimfjpmcn {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub lpdfmjpfgjh: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub pcpdheiejfo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kkaclnnmmam {
    /// offset: 32
    #[prost(bool, tag = "3")]
    pub jmaodneonpf: bool,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub bpaogjplenj: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Onaadajbleb {
    /// offset: 24
    #[prost(int64, tag = "7")]
    pub dbikjpdbmoe: i64,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub onohpmdgnnh: u32,
}
/// Obf: HFALMNELEKP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9686)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchGetDataScRsp {
    /// offset: 100
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 96
    #[prost(bool, tag = "2")]
    pub ojpddaojjkc: bool,
    /// offset: 56
    #[prost(uint32, repeated, tag = "3")]
    pub performance_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub nljbjmdpbgn: ::core::option::Option<Bfakmcijfcb>,
    /// offset: 48
    #[prost(message, optional, tag = "8")]
    pub jiellgelaba: ::core::option::Option<Kkaclnnmmam>,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub naifomclgln: ::core::option::Option<Onaadajbleb>,
    /// offset: 40
    #[prost(message, repeated, tag = "10")]
    pub bjphdkebobk: ::prost::alloc::vec::Vec<Ikahkmncfdn>,
    /// offset: 72
    #[prost(message, optional, tag = "11")]
    pub djmhhmmabjl: ::core::option::Option<Poblgkigine>,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub cemfbjpolnp: ::prost::alloc::vec::Vec<Pjfimfjpmcn>,
    /// offset: 88
    #[prost(int64, tag = "14")]
    pub cmhkfnfkgoi: i64,
    /// offset: 80
    #[prost(message, repeated, tag = "15")]
    pub nieldclpola: ::prost::alloc::vec::Vec<Jofhmcjpbce>,
}
/// Obf: MODIAGGMAMG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9642)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainCakeCatchOpenBoxCsReq {}
/// Obf: MHGGOEJBLCP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9718)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchOpenBoxScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 40
    #[prost(int64, tag = "4")]
    pub cmhkfnfkgoi: i64,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub bjphdkebobk: ::prost::alloc::vec::Vec<Ikahkmncfdn>,
}
/// Obf: JLPJAFHHGDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9668)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainCakeCatchSearchCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub pcpdheiejfo: u32,
}
/// Obf: GFCJIPKABEF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9672)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchSearchScRsp {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub ginennkgdmg: ::prost::alloc::vec::Vec<u32>,
    /// offset: 52
    #[prost(uint32, tag = "6")]
    pub pcpdheiejfo: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub nieldclpola: ::core::option::Option<Jofhmcjpbce>,
    /// offset: 48
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub cemfbjpolnp: ::prost::alloc::vec::Vec<Pjfimfjpmcn>,
}
/// Obf: LGBFHCLGNCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9662)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchDiyCsReq {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub nljbjmdpbgn: ::core::option::Option<Bfakmcijfcb>,
}
/// Obf: NFGMCNFHHBE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchDiyScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub nljbjmdpbgn: ::core::option::Option<Bfakmcijfcb>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Obf: LPBPHOIIJNO
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9753)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlayTalkCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub phkcdlphmpa: ::core::option::Option<Mikgmgbhlen>,
}
/// Obf: PGGEHFHFACC
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9628)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlayTalkScRsp {
    /// offset: 32
    #[prost(int64, tag = "11")]
    pub end_time: i64,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub phkcdlphmpa: ::core::option::Option<Mikgmgbhlen>,
}
/// Obf: NNFOMOBLFAC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlayPreCheckEnterRoomCsReq {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub entry_id: u32,
    /// offset: 28
    #[prost(enumeration = "Mfpdakoioed", tag = "3")]
    pub gjnmhilinhc: i32,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub teleport_id: u32,
}
/// Obf: AABPMMILMLE
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9699)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlayPreCheckEnterRoomScRsp {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 32
    #[prost(int64, tag = "15")]
    pub cmhkfnfkgoi: i64,
}
/// Obf: KNHLAKBNPCB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9767)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainCakeCatchDiyLikeCsReq {}
/// Obf: DLAJEPIPOMO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9659)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainCakeCatchDiyLikeScRsp {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "8")]
    pub bpaogjplenj: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9713)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cieaalphgfm {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9661)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bpjmeghiein {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub onohpmdgnnh: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "15")]
    pub jmaodneonpf: bool,
}
/// Obf: OEHMGHHBKBJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9639)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlaySettingInfoScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "13")]
    pub bohgfdfblen: ::core::option::Option<Jpgackplgcd>,
}
/// Obf: NDCCLPKPEKJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(9666)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct SocialPlayQueryRecentVisitorsCsReq {}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hhjlcggehpb {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub cilgiddhodg: ::core::option::Option<PlayerSimpleInfo>,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub plpppcepbdo: u32,
    /// offset: 32
    #[prost(int64, tag = "13")]
    pub kfacpobaagm: i64,
}
/// Obf: JIDMMPAOELM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(9725)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SocialPlayQueryRecentVisitorsScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "4")]
    pub recent_visitor_list: ::prost::alloc::vec::Vec<Hhjlcggehpb>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
}
/// Obf: DMKIHKJAMPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(9695)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainCakeCatchDataScNotify {
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub performance_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(message, repeated, tag = "14")]
    pub nieldclpola: ::prost::alloc::vec::Vec<Jofhmcjpbce>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iakfbfjchfb {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub eaffaccbaaa: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub card_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Iedlkigjlem {
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub lonfkfcfdnd: ::prost::alloc::vec::Vec<Iakfbfjchfb>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pnllcbklble {
    /// offset: 16
    #[prost(message, optional, tag = "4")]
    pub lonfkfcfdnd: ::core::option::Option<Iedlkigjlem>,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub lnlohdjifpk: u32,
    /// offset: 36
    #[prost(bool, tag = "14")]
    pub dofbghghdja: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cnlaomckfkd {
    /// offset: 36
    #[prost(uint32, tag = "2")]
    pub gdnehleomom: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub param: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub unique_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub ndebmegnckn: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ecdinhehkoj {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub gmbdhlcgobi: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub gaiefcfbnpa: u32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub ebenomjdoof: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "9")]
    pub bhkjifafhfn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub fjonjanioik: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub cgigaaklckm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hokcdeeabii {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub knmadmbfedb: ::core::option::Option<Ecdinhehkoj>,
    /// offset: 44
    #[prost(uint32, tag = "4")]
    pub fjpeifmfpan: u32,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub idcjpijhncl: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub iedkeldfhlp: ::prost::alloc::vec::Vec<Cnlaomckfkd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jcpmkhcpcpn {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub dmjgciibpjk: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub gpignhpkffb: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lmkecapdmac {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub max_level: u32,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub skill_level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kiceghdkacp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub fpkjonkifli: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub gnbkdchldgl: ::core::option::Option<Jcpmkhcpcpn>,
    /// offset: 36
    #[prost(uint32, tag = "15")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyPassenger {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub record_id: u32,
    /// offset: 32
    #[prost(bool, tag = "2")]
    pub jgdnjofhcnc: bool,
    /// offset: 40
    #[prost(uint32, tag = "8")]
    pub passenger_id: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "12")]
    pub ghpfangeman: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aaakpgjdcfj {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub cfhojcbdfpe: ::prost::alloc::vec::Vec<Kiceghdkacp>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub oocofcbjojd: u32,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub dmaamcippam: u32,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub eaffaccbaaa: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub hfjbmjhahpe: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(message, repeated, tag = "15")]
    pub skill_list: ::prost::alloc::vec::Vec<Lmkecapdmac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyPassengerInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "12")]
    pub passenger_info_list: ::prost::alloc::vec::Vec<TrainPartyPassenger>,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub ghpfangeman: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyArea {
    /// offset: 32
    #[prost(message, repeated, tag = "1")]
    pub dynamic_info: ::prost::alloc::vec::Vec<AreaDynamicInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub area_step_info: ::core::option::Option<AreaStepInfo>,
    /// offset: 56
    #[prost(uint32, repeated, tag = "8")]
    pub verify_step_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 64
    #[prost(uint32, tag = "11")]
    pub progress: u32,
    /// offset: 68
    #[prost(uint32, tag = "13")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, repeated, tag = "14")]
    pub step_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 48
    #[prost(uint32, repeated, tag = "15")]
    pub static_prop_id_list: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Idbcdhiokeg {
    /// offset: 28
    #[prost(enumeration = "Jiiehebibmo", tag = "9")]
    pub status: i32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub dnligeofpel: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AreaStepInfo {
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub bkklgclobcd: ::prost::alloc::vec::Vec<Idbcdhiokeg>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub gkenfcllljc: u32,
}
/// Obf: MCHADDCNKPC
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8073)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildRoomScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub cpmhkecpboj: ::core::option::Option<TrainPartyInfo>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gaggcodgdlb {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub prop_id: u32,
    /// offset: 32
    #[prost(int64, tag = "13")]
    pub time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyInfo {
    /// offset: 64
    #[prost(uint32, tag = "1")]
    pub star_num: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "2")]
    pub mhabcmlhcgd: ::prost::alloc::vec::Vec<Gaggcodgdlb>,
    /// offset: 60
    #[prost(uint32, tag = "4")]
    pub jjgkipdgogp: u32,
    /// offset: 68
    #[prost(uint32, tag = "5")]
    pub bhejcejhlib: u32,
    /// offset: 40
    #[prost(message, repeated, tag = "6")]
    pub area_list: ::prost::alloc::vec::Vec<TrainPartyArea>,
    /// offset: 24
    #[prost(message, repeated, tag = "7")]
    pub foopkfcihba: ::prost::alloc::vec::Vec<Heljnonbkph>,
    /// offset: 56
    #[prost(uint32, tag = "8")]
    pub bkpfhfgiepe: u32,
    /// offset: 32
    #[prost(message, optional, tag = "11")]
    pub cmcnnjkjnpk: ::core::option::Option<Oiipjfdnpah>,
    /// offset: 72
    #[prost(uint32, tag = "14")]
    pub cur_fund: u32,
    /// offset: 76
    #[prost(bool, tag = "15")]
    pub ieeapcfkojc: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyData {
    /// offset: 40
    #[prost(message, optional, tag = "6")]
    pub train_party_info: ::core::option::Option<TrainPartyInfo>,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub hcjjplkelgc: ::core::option::Option<Ephkiehongb>,
    /// offset: 52
    #[prost(uint32, tag = "8")]
    pub record_id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub passenger_info: ::core::option::Option<TrainPartyPassengerInfo>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub unlock_area_num: u32,
    /// offset: 56
    #[prost(bool, tag = "15")]
    pub lnmfdpfokff: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ephkiehongb {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub kaidkohaagi: ::core::option::Option<Hjleciiekgi>,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub idbdbicpbbg: u32,
    /// offset: 48
    #[prost(message, optional, tag = "11")]
    pub nimjpdmfbhn: ::core::option::Option<Aaakpgjdcfj>,
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub hebcoocahol: ::core::option::Option<Pnllcbklble>,
    /// offset: 32
    #[prost(message, optional, tag = "15")]
    pub ldaeahohmbb: ::core::option::Option<Hokcdeeabii>,
}
/// Obf: NNOICNIGEBC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8025)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyGetDataCsReq {}
/// Obf: JBGGLDILCLK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8078)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGetDataScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub train_party_data: ::core::option::Option<TrainPartyData>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Obf: DAKMNFLCCMJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8093)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyUseCardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub fgihkkkogjd: u32,
}
/// Obf: OKFKNBCEGPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8058)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyUseCardScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub fgihkkkogjd: u32,
}
/// Obf: GNHEKLOMECL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8088)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyMoveScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub jabplbjakkm: ::prost::alloc::vec::Vec<Cnlaomckfkd>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub dngkglfmgge: u32,
}
/// Obf: HILKDNFLNLL
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8086)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySettleNotify {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub fgihkkkogjd: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub cbfpjajakgi: ::core::option::Option<Hlnfnacofff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hlnfnacofff {
    /// offset: 32
    #[prost(message, repeated, tag = "2")]
    pub dicaijchicb: ::prost::alloc::vec::Vec<Cefeijfpcke>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub khfhclbhapd: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub cfhojcbdfpe: ::prost::alloc::vec::Vec<Kiceghdkacp>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cefeijfpcke {
    /// offset: 16
    #[prost(uint32, repeated, tag = "3")]
    pub switch_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub mnlamkjiaoc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lmakfcihcma {
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub gnbkdchldgl: ::core::option::Option<Jcpmkhcpcpn>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hbacefiacoi {
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub ebaimmglgfo: ::prost::alloc::vec::Vec<Lmakfcihcma>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hpagfccnche {
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub fmigokidkjl: ::core::option::Option<Hjleciiekgi>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mjmpolbbfna {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub eaffaccbaaa: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dmfmmkjocnj {
    /// offset: 24
    #[prost(message, optional, tag = "6")]
    pub cbkinafedjc: ::core::option::Option<Lmkecapdmac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Flpmbepbpgn {
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub skill_list: ::prost::alloc::vec::Vec<Lmkecapdmac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mgoloigoamb {
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub ialieceafjb: ::core::option::Option<TrainPartyPassenger>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Emeekfkdpfd {
    /// offset: 16
    #[prost(uint32, repeated, tag = "12")]
    pub ghpfangeman: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Medchlcioei {
    /// offset: 16
    #[prost(message, repeated, tag = "13")]
    pub iedkeldfhlp: ::prost::alloc::vec::Vec<Cnlaomckfkd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bhbjlgfhlhm {
    /// offset: 44
    #[prost(uint32, tag = "2")]
    pub lnlohdjifpk: u32,
    /// offset: 40
    #[prost(bool, tag = "7")]
    pub dofbghghdja: bool,
    /// offset: 32
    #[prost(message, optional, tag = "9")]
    pub emgmfoblafn: ::core::option::Option<Iedlkigjlem>,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub knmadmbfedb: ::core::option::Option<Ecdinhehkoj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmcpckhhpob {
    /// offset: 36
    #[prost(enumeration = "Mkiibimnigk", tag = "4")]
    pub src: i32,
    #[prost(
        oneof = "gmcpckhhpob::Mnlchejkdho",
        tags = "1049, 1178, 1432, 1139, 1877, 146, 1321, 609, 1998, 1852"
    )]
    pub mnlchejkdho: ::core::option::Option<gmcpckhhpob::Mnlchejkdho>,
}
/// Nested message and enum types in `GMCPCKHHPOB`.
pub mod gmcpckhhpob {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mnlchejkdho {
        /// offset: 16
        #[prost(message, tag = "1049")]
        Emgmfoblafn(super::Iedlkigjlem),
        /// offset: 16
        #[prost(message, tag = "1178")]
        Beemefmjeaa(super::Hbacefiacoi),
        /// offset: 16
        #[prost(message, tag = "1432")]
        Bpneoplhebk(super::Hpagfccnche),
        /// offset: 16
        #[prost(message, tag = "1139")]
        Oedjeoaecac(super::Mjmpolbbfna),
        /// offset: 16
        #[prost(message, tag = "1877")]
        Jpbbdgjbhkn(super::Medchlcioei),
        /// offset: 16
        #[prost(message, tag = "146")]
        Cnlgpljfmka(super::Dmfmmkjocnj),
        /// offset: 16
        #[prost(message, tag = "1321")]
        Belkgejfoif(super::Bhbjlgfhlhm),
        /// offset: 16
        #[prost(message, tag = "609")]
        Efjkkfnncgn(super::Flpmbepbpgn),
        /// offset: 16
        #[prost(message, tag = "1998")]
        Keoomcjahmg(super::Mgoloigoamb),
        /// offset: 16
        #[prost(message, tag = "1852")]
        Hohnmngncmg(super::Emeekfkdpfd),
    }
}
/// Obf: AHKPAKFGGGG
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8026)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartySyncUpdateScNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "13")]
    pub jkpjfkcbiem: ::prost::alloc::vec::Vec<Gmcpckhhpob>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Hjleciiekgi {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub queue_position: u32,
    #[prost(oneof = "hjleciiekgi::Fgliodajfml", tags = "628, 668, 1733")]
    pub fgliodajfml: ::core::option::Option<hjleciiekgi::Fgliodajfml>,
}
/// Nested message and enum types in `HJLECIIEKGI`.
pub mod hjleciiekgi {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Fgliodajfml {
        /// offset: 24
        #[prost(message, tag = "628")]
        Klonpdnkbjf(super::Amejefbkpch),
        /// offset: 24
        #[prost(message, tag = "668")]
        Akdjgijmhpj(super::Ogafhkmjela),
        /// offset: 24
        #[prost(message, tag = "1733")]
        Lgbjdfhbind(super::Jebgfijpapg),
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mdjaphpoaba {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub is_selected: bool,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub hafokmhcgfm: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Amejefbkpch {
    /// offset: 36
    #[prost(uint32, tag = "4")]
    pub event_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "12")]
    pub kfnmiembjgd: ::prost::alloc::vec::Vec<Mdjaphpoaba>,
    /// offset: 32
    #[prost(enumeration = "Lhlbgjlffkk", tag = "13")]
    pub event_type: i32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mdoimcnfdlc {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub event_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Olbkadikigl {
    /// offset: 24
    #[prost(message, optional, tag = "14")]
    pub cbfpjajakgi: ::core::option::Option<Hlnfnacofff>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gokoiadhfcn {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub max_level: u32,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub skill_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub level: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Lkiomebiico {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub passenger_id: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "11")]
    pub flhhblafjlf: ::prost::alloc::vec::Vec<Gokoiadhfcn>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Jebgfijpapg {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub pbldcddfkie: ::prost::alloc::vec::Vec<Lmkecapdmac>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub jghcfcgeieo: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pfaianendee {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub bfpafelcmgf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdbjbejpgoo {
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub skill_list: ::prost::alloc::vec::Vec<Lmkecapdmac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Elbilfgfdha {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub passenger_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub gpignhpkffb: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dkigclfpgfo {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub passenger_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ogafhkmjela {
    /// offset: 60
    #[prost(uint32, tag = "2")]
    pub total_score: u32,
    /// offset: 56
    #[prost(uint32, tag = "7")]
    pub reach_point: u32,
    /// offset: 48
    #[prost(uint32, tag = "9")]
    pub clmfkhajklh: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "10")]
    pub cobenbobpkd: ::prost::alloc::vec::Vec<Dkigclfpgfo>,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub celhpmmlhgl: u32,
    /// offset: 64
    #[prost(uint32, tag = "12")]
    pub oenpdhnalla: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "14")]
    pub jpoohonhfji: ::prost::alloc::vec::Vec<Djbjmhkmomb>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub eeoeflkfnim: ::prost::alloc::vec::Vec<Elbilfgfdha>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bdggehglfac {
    /// offset: 28
    #[prost(enumeration = "TrainPartyMtSkillBriefType", tag = "6")]
    pub skill_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub klkaifedlnk: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub skill_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpkcmmpfcge {
    /// offset: 16
    #[prost(message, repeated, tag = "8")]
    pub pbfnpodndid: ::prost::alloc::vec::Vec<Bdggehglfac>,
    /// offset: 36
    #[prost(uint32, tag = "10")]
    pub ddagdnndcdi: u32,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub unique_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Caihacokajo {
    /// offset: 24
    #[prost(uint32, repeated, tag = "2")]
    pub aegplacjfio: ::prost::alloc::vec::Vec<u32>,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub odobgieggeo: u32,
    /// offset: 32
    #[prost(message, optional, tag = "6")]
    pub elmcgfmgili: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ckpngmlenfa {
    /// offset: 24
    #[prost(uint32, repeated, tag = "1")]
    pub lkngkjcffbh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ahhmlenldef {
    /// offset: 64
    #[prost(message, repeated, tag = "3")]
    pub eeoeflkfnim: ::prost::alloc::vec::Vec<Elbilfgfdha>,
    /// offset: 56
    #[prost(message, optional, tag = "4")]
    pub knmadmbfedb: ::core::option::Option<Ecdinhehkoj>,
    /// offset: 84
    #[prost(enumeration = "Bgppdmipddh", tag = "6")]
    pub category: i32,
    /// offset: 32
    #[prost(message, repeated, tag = "7")]
    pub licjodmhbha: ::prost::alloc::vec::Vec<Cpkcmmpfcge>,
    /// offset: 24
    #[prost(message, repeated, tag = "8")]
    pub cobenbobpkd: ::prost::alloc::vec::Vec<Dkigclfpgfo>,
    /// offset: 40
    #[prost(message, optional, tag = "9")]
    pub kioejhhabkc: ::core::option::Option<Caihacokajo>,
    /// offset: 48
    #[prost(message, repeated, tag = "11")]
    pub jhfbmekemmk: ::prost::alloc::vec::Vec<Bdggehglfac>,
    /// offset: 76
    #[prost(uint32, tag = "13")]
    pub celhpmmlhgl: u32,
    /// offset: 72
    #[prost(uint32, tag = "14")]
    pub total_score: u32,
    /// offset: 80
    #[prost(uint32, tag = "15")]
    pub score_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mocndoceojm {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub lkngkjcffbh: ::prost::alloc::vec::Vec<u32>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Djkacfoffah {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub eeoeflkfnim: ::prost::alloc::vec::Vec<Elbilfgfdha>,
    /// offset: 16
    #[prost(message, repeated, tag = "7")]
    pub cobenbobpkd: ::prost::alloc::vec::Vec<Dkigclfpgfo>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub oenpdhnalla: u32,
    /// offset: 32
    #[prost(message, repeated, tag = "15")]
    pub cikdphgpigk: ::prost::alloc::vec::Vec<Bdggehglfac>,
}
/// Obf: JOCFCCGIPEA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8071)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyHandlePendingActionCsReq {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub queue_position: u32,
    #[prost(
        oneof = "train_party_handle_pending_action_cs_req::Kilbfaafdpd",
        tags = "1533, 352, 1642, 795"
    )]
    pub kilbfaafdpd: ::core::option::Option<
        train_party_handle_pending_action_cs_req::Kilbfaafdpd,
    >,
}
/// Nested message and enum types in `TrainPartyHandlePendingActionCsReq`.
pub mod train_party_handle_pending_action_cs_req {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum Kilbfaafdpd {
        /// offset: 24
        #[prost(message, tag = "1533")]
        Klonpdnkbjf(super::Mdoimcnfdlc),
        /// offset: 24
        #[prost(message, tag = "352")]
        Lgbjdfhbind(super::Pfaianendee),
        /// offset: 24
        #[prost(message, tag = "1642")]
        Nellgpkhike(super::Ckpngmlenfa),
        /// offset: 24
        #[prost(message, tag = "795")]
        Nmefkabdhan(super::Mocndoceojm),
    }
}
/// Obf: POOMINFCCKG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8040)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyHandlePendingActionScRsp {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub queue_position: u32,
    /// offset: 32
    #[prost(message, optional, tag = "7")]
    pub cbfpjajakgi: ::core::option::Option<Hlnfnacofff>,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 40
    #[prost(bool, tag = "14")]
    pub hmnaopoklge: bool,
    #[prost(
        oneof = "train_party_handle_pending_action_sc_rsp::Kilbfaafdpd",
        tags = "1482, 1711, 744, 1305"
    )]
    pub kilbfaafdpd: ::core::option::Option<
        train_party_handle_pending_action_sc_rsp::Kilbfaafdpd,
    >,
}
/// 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 Kilbfaafdpd {
        /// offset: 16
        #[prost(message, tag = "1482")]
        Eebfclfobpg(super::Olbkadikigl),
        /// offset: 16
        #[prost(message, tag = "1711")]
        Omlncjegjac(super::Kdbjbejpgoo),
        /// offset: 16
        #[prost(message, tag = "744")]
        Bhmjdneobnk(super::Ahhmlenldef),
        /// offset: 16
        #[prost(message, tag = "1305")]
        Igmepoblffb(super::Djkacfoffah),
    }
}
/// Obf: OOCLLLOHBGK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8033)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyBuildStartStepCsReq {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub dnligeofpel: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub area_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub gkenfcllljc: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub pficnbhihba: ::core::option::Option<AreaDynamicInfo>,
}
/// Obf: DCJNIPEPHAM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8038)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyBuildStartStepScRsp {
    /// offset: 24
    #[prost(uint32, tag = "1")]
    pub cur_fund: u32,
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bhopikpampj {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub oofpppceidp: ::core::option::Option<AreaDynamicInfo>,
}
/// Obf: JOJAAMHMCAB
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8039)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyBuildDiyCsReq {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub diy_dynamic_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub dice_slot_id: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub area_id: u32,
}
/// Obf: MELNFDAIHIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8004)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildDiyScRsp {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "10")]
    pub jkpjfkcbiem: ::prost::alloc::vec::Vec<Bhopikpampj>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pplkbfmcgld {
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub foomipjjkog: ::prost::alloc::vec::Vec<Idbcdhiokeg>,
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub bpgbeeohplj: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Aiocpflcnlb {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub foomipjjkog: ::prost::alloc::vec::Vec<Idbcdhiokeg>,
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub progress: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub area_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "10")]
    pub gkenfcllljc: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Docmdcpjieh {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub star_num: u32,
    /// offset: 28
    #[prost(uint32, tag = "14")]
    pub bhejcejhlib: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nfnknnfjilk {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub iojoiohieab: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cnfpbajniel {
    /// offset: 28
    #[prost(uint32, tag = "5")]
    pub area_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub jbeekbjmiia: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iojldheclih {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub diy_dynamic_id: u32,
    /// offset: 24
    #[prost(int64, tag = "8")]
    pub time: i64,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fahbcnpnbnc {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub nljmjcgffmd: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bakfomadbcj {
    /// offset: 24
    #[prost(uint32, tag = "15")]
    pub bkpfhfgiepe: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cbjgonhjaac {
    /// offset: 24
    #[prost(uint32, repeated, tag = "14")]
    pub foomipjjkog: ::prost::alloc::vec::Vec<u32>,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub area_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ignngonlfaj {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub area_list: ::prost::alloc::vec::Vec<Cbjgonhjaac>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ffmmfbmobeg {
    #[prost(
        oneof = "ffmmfbmobeg::Mnlchejkdho",
        tags = "1891, 110, 684, 725, 1269, 1783, 231, 1182, 100, 1822"
    )]
    pub mnlchejkdho: ::core::option::Option<ffmmfbmobeg::Mnlchejkdho>,
}
/// Nested message and enum types in `FFMMFBMOBEG`.
pub mod ffmmfbmobeg {
    #[derive(proto_derive::CmdID)]
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Mnlchejkdho {
        /// offset: 16
        #[prost(message, tag = "1891")]
        Cngokikbgaj(super::Fahbcnpnbnc),
        /// offset: 16
        #[prost(message, tag = "110")]
        Llcocejhkld(super::Pplkbfmcgld),
        /// offset: 16
        #[prost(message, tag = "684")]
        Mfnelhnlngi(super::Aiocpflcnlb),
        /// offset: 16
        #[prost(message, tag = "725")]
        Fhbmgffbolp(super::Docmdcpjieh),
        /// offset: 16
        #[prost(message, tag = "1269")]
        Fckncndekae(super::Nfnknnfjilk),
        /// offset: 16
        #[prost(message, tag = "1783")]
        Nefbgmngkbn(super::Cnfpbajniel),
        /// offset: 16
        #[prost(message, tag = "231")]
        Bjmfdaflnec(super::Iojldheclih),
        /// offset: 16
        #[prost(message, tag = "1182")]
        Lcnjlpddfee(super::Bakfomadbcj),
        /// offset: 16
        #[prost(message, tag = "100")]
        Fpmnnmmpokl(super::Ignngonlfaj),
        /// offset: 16
        #[prost(message, tag = "1822")]
        Odgcbidognd(super::Oiipjfdnpah),
    }
}
/// Obf: LFHAFKOJBAB
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8011)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildingUpdateNotify {
    /// offset: 24
    #[prost(message, repeated, tag = "15")]
    pub ooabobhekeh: ::prost::alloc::vec::Vec<Ffmmfbmobeg>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8048)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fhlhoepckag {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8045)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fddjjcfnfoj {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8069)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Amdompigbpg {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8065)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dbghchponoh {
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Djbjmhkmomb {
    /// offset: 28
    #[prost(enumeration = "Bgppdmipddh", tag = "3")]
    pub jappkifahph: i32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub level: u32,
}
/// Obf: GNFJOHCLDFE
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8005)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlaySettleNotify {
    /// offset: 16
    #[prost(message, optional, tag = "3")]
    pub enbjcmpcmlk: ::core::option::Option<TrainPartyPassengerInfo>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub unlock_area_num: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "10")]
    pub cejpcmheemn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub record_id: u32,
}
/// Obf: BAMIHIIOBNM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8084)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyGamePlayStartCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub idbdbicpbbg: u32,
}
/// Obf: IJMCKLDMLDL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8021)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyGamePlayStartScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub fjkhjaddkld: ::core::option::Option<Ephkiehongb>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8034)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ibncbepcapf {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8096)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dniafcgkeop {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub buff_id: u32,
}
/// Obf: IADPNINDFOK
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8029)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardCsReq {}
/// Obf: LACGKNHJGKN
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8063)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyTakeBuildLevelAwardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub fphfhcgnngm: u32,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub item_list: ::core::option::Option<ItemList>,
}
/// Obf: AMABCENGLBJ
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8015)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildSelfDisplayAreaDiyCsReq {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub aclkmfcdmed: ::core::option::Option<Oiipjfdnpah>,
}
/// Obf: DJNFKMCDDCM
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8018)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildSelfDisplayAreaDiyScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub aclkmfcdmed: ::core::option::Option<Oiipjfdnpah>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Heljnonbkph {
    /// offset: 24
    #[prost(int64, tag = "2")]
    pub expire_time: i64,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub eiklmfpmjjd: u32,
}
/// Obf: BPMHNPHIHHF
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(8053)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainPartyBuildSelfDisplayAreaDiyScNotify {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub train_party_data: ::core::option::Option<TrainPartyInfo>,
}
/// Obf: HHDHGGCAJJL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(8052)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartySetBadgeAutoFillCsReq {
    /// offset: 24
    #[prost(bool, tag = "6")]
    pub peljacanafh: bool,
}
/// Obf: MOMHHDACBOF
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(8020)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainPartySetBadgeAutoFillScRsp {
    /// offset: 28
    #[prost(bool, tag = "2")]
    pub peljacanafh: bool,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Deffflgjaem {
    /// offset: 28
    #[prost(uint32, tag = "6")]
    pub dooacehopee: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_meet: bool,
}
/// Obf: KGONMGJNBLA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3725)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishCsReq {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub dooacehopee: u32,
}
/// Obf: AJGFHIIBNGP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3778)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorBehaviorFinishScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub dooacehopee: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Npebolnhfal {
    /// offset: 24
    #[prost(uint32, repeated, tag = "13")]
    pub mpndoljmbfh: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3758)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Eidkoeheaaa {
    /// offset: 16
    #[prost(message, repeated, tag = "3")]
    pub lpolkfnceab: ::prost::alloc::vec::Vec<Deffflgjaem>,
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: JGBPIBNACKP
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3788)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TrainRefreshTimeNotify {
    /// offset: 24
    #[prost(uint64, tag = "10")]
    pub iamknfkclch: u64,
}
/// Obf: DKMMAPLHFOA
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(3781)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrainVisitorRewardSendNotify {
    /// offset: 36
    #[prost(enumeration = "Cfcpoedppkb", tag = "7")]
    pub r#type: i32,
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dooacehopee: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub reward: ::core::option::Option<ItemList>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mnkgdkaielh {
    /// offset: 16
    #[prost(uint32, repeated, tag = "2")]
    pub hbgleoajjge: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub dooacehopee: u32,
    /// offset: 40
    #[prost(enumeration = "TrainVisitorStatus", tag = "6")]
    pub status: i32,
    /// offset: 44
    #[prost(uint32, tag = "8")]
    pub imhlmhkopld: u32,
    /// offset: 32
    #[prost(bool, tag = "13")]
    pub lhnhmfekndj: bool,
}
/// Obf: OGBKODNDKEN
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3786)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTrainVisitorRegisterCsReq {
    /// offset: 24
    #[prost(enumeration = "Ackpcffemhb", tag = "6")]
    pub r#type: i32,
}
/// Obf: GMBECKPIIHH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3747)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTrainVisitorRegisterScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub blkhpcpaldn: ::prost::alloc::vec::Vec<u32>,
    /// offset: 16
    #[prost(message, repeated, tag = "15")]
    pub nedbifjpbdj: ::prost::alloc::vec::Vec<Mnkgdkaielh>,
}
/// Obf: FMIGHLPJAME
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3726)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeTrainVisitorBehaviorRewardCsReq {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub dooacehopee: u32,
}
/// Obf: NEGJACBFGHB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3713)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TakeTrainVisitorBehaviorRewardScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub dooacehopee: u32,
    /// offset: 36
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "14")]
    pub hbgleoajjge: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(3771)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nnahgdgnoek {
    /// offset: 24
    #[prost(uint32, repeated, tag = "6")]
    pub blkhpcpaldn: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(3740)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Obicgcefcci {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ngiobcjinog {
    /// offset: 28
    #[prost(int32, tag = "2")]
    pub knkfpenapbf: i32,
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub rotation: u32,
    /// offset: 48
    #[prost(int32, tag = "4")]
    pub aphmbadnmph: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub epljkolipci: u32,
    /// offset: 40
    #[prost(uint64, tag = "11")]
    pub unique_id: u64,
    /// offset: 52
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kjmkojehmii {
    /// offset: 36
    #[prost(enumeration = "Oflkobjhfkh", tag = "2")]
    pub beanbfljelp: i32,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub dcijefmacme: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "6")]
    pub lfdlfddeaca: ::prost::alloc::vec::Vec<Ngiobcjinog>,
    /// offset: 44
    #[prost(enumeration = "Olbnnjkcmai", tag = "11")]
    pub pfolidbbhjn: i32,
    /// offset: 40
    #[prost(uint32, tag = "13")]
    pub cfcicbneojb: u32,
}
/// Obf: OMAFHCAGGCC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6425)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TravelBrochureGetDataCsReq {}
/// Obf: JLJDPMBGLEP
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6478)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureGetDataScRsp {
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub custom_value: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "7")]
    pub nnidcbokhfk: ::std::collections::HashMap<u32, u32>,
    /// offset: 32
    #[prost(map = "uint32, message", tag = "10")]
    pub hjnjnfibmel: ::std::collections::HashMap<u32, Kjmkojehmii>,
    /// offset: 44
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: BMLNJOPALPJ
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6493)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TravelBrochurePageUnlockScNotify {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub dcijefmacme: u32,
}
/// Obf: MFBNEECALDM
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6488)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TravelBrochureSelectMessageCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub dcijefmacme: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub cfcicbneojb: u32,
}
/// Obf: MEEPKLELIKK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6481)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureSelectMessageScRsp {
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "8")]
    pub edllnjiefbo: ::core::option::Option<Kjmkojehmii>,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub reward: ::core::option::Option<ItemList>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6426)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gnilaaacodb {
    /// offset: 24
    #[prost(uint64, tag = "5")]
    pub unique_id: u64,
    /// offset: 36
    #[prost(uint32, tag = "11")]
    pub dcijefmacme: u32,
    /// offset: 32
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6413)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Akgfmpcfook {
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub edllnjiefbo: ::core::option::Option<Kjmkojehmii>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6471)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Bahmabonkbp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub epljkolipci: u32,
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub dcijefmacme: u32,
    /// offset: 32
    #[prost(uint64, tag = "7")]
    pub unique_id: u64,
    /// offset: 48
    #[prost(int32, tag = "8")]
    pub aphmbadnmph: i32,
    /// offset: 44
    #[prost(uint32, tag = "11")]
    pub item_id: u32,
    /// offset: 52
    #[prost(uint32, tag = "14")]
    pub rotation: u32,
    /// offset: 40
    #[prost(int32, tag = "15")]
    pub knkfpenapbf: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6440)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Idnieakjmcf {
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub edllnjiefbo: ::core::option::Option<Kjmkojehmii>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6433)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ddhiijajioo {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub num: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Cchmhoonegg {
    /// offset: 28
    #[prost(uint32, tag = "4")]
    pub num: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub ocjlbkdckhl: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6439)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hpgigeeaghl {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub value: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6404)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Mladijbblpn {
    /// offset: 24
    #[prost(uint32, tag = "7")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6411)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ohmieppckbj {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub dcijefmacme: u32,
    /// offset: 24
    #[prost(enumeration = "Oflkobjhfkh", tag = "11")]
    pub debpjkjgcie: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6436)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fpgbalikpde {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Obf: MANBMLIGMLD
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6448)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TravelBrochurePageResetCsReq {
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub dcijefmacme: u32,
}
/// Obf: AINBIAHAJKH
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6445)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochurePageResetScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub edllnjiefbo: ::core::option::Option<Kjmkojehmii>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dedkiifnecm {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub item_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "3")]
    pub epljkolipci: u32,
    /// offset: 40
    #[prost(uint32, tag = "4")]
    pub rotation: u32,
    /// offset: 36
    #[prost(int32, tag = "11")]
    pub knkfpenapbf: i32,
    /// offset: 32
    #[prost(int32, tag = "12")]
    pub aphmbadnmph: i32,
}
/// Obf: GHONBGEKOAI
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6469)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListCsReq {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub gmleojclcfb: ::prost::alloc::vec::Vec<Dedkiifnecm>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub dcijefmacme: u32,
}
/// Obf: FEEHNCGHLEO
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6465)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TravelBrochureApplyPasterListScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub edllnjiefbo: ::core::option::Option<Kjmkojehmii>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Enghacadbki {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub ldmhlkgilod: u32,
    /// offset: 40
    #[prost(uint32, tag = "7")]
    pub ffkdfoddbdn: u32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub egklfmchlco: u32,
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub fmifpfahfbl: u32,
    /// offset: 36
    #[prost(enumeration = "TreasureDungeonRecordType", tag = "13")]
    pub r#type: i32,
}
/// Obf: OLJMFHFEBAI
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4425)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonDataScNotify {
    /// offset: 16
    #[prost(message, optional, tag = "5")]
    pub imhngdfgjja: ::core::option::Option<Pponnihfjap>,
}
/// Obf: KENIHFGIDEO
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(4478)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TreasureDungeonFinishScNotify {
    /// offset: 44
    #[prost(uint32, tag = "1")]
    pub eicekdbenkm: u32,
    /// offset: 56
    #[prost(uint32, tag = "3")]
    pub miafmbhcmog: u32,
    /// offset: 24
    #[prost(map = "uint32, uint32", tag = "6")]
    pub nlmhkdpjefo: ::std::collections::HashMap<u32, u32>,
    /// offset: 48
    #[prost(uint32, tag = "10")]
    pub djcnklmcabg: u32,
    /// offset: 32
    #[prost(map = "uint32, uint32", tag = "11")]
    pub imalndjddno: ::std::collections::HashMap<u32, u32>,
    /// offset: 40
    #[prost(uint32, tag = "14")]
    pub dehgkclnnap: u32,
    /// offset: 52
    #[prost(bool, tag = "15")]
    pub is_win: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Pponnihfjap {
    /// offset: 100
    #[prost(uint32, tag = "1")]
    pub diplenngjii: u32,
    /// offset: 84
    #[prost(uint32, tag = "2")]
    pub eicekdbenkm: u32,
    /// offset: 72
    #[prost(message, repeated, tag = "3")]
    pub iedkeldfhlp: ::prost::alloc::vec::Vec<Ihbmpciigjd>,
    /// offset: 56
    #[prost(message, repeated, tag = "5")]
    pub hflophnbkgn: ::prost::alloc::vec::Vec<Enghacadbki>,
    /// offset: 96
    #[prost(uint32, tag = "7")]
    pub kjnkbklcghj: u32,
    /// offset: 112
    #[prost(uint32, tag = "8")]
    pub defence_add: u32,
    /// offset: 108
    #[prost(uint32, tag = "10")]
    pub miafmbhcmog: u32,
    /// offset: 80
    #[prost(uint32, tag = "14")]
    pub attack_add: u32,
    /// offset: 104
    #[prost(uint32, tag = "15")]
    pub map_id: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "94")]
    pub buff_list: ::prost::alloc::vec::Vec<Jgnnojeeblp>,
    /// offset: 48
    #[prost(message, repeated, tag = "343")]
    pub pbnehhobbfc: ::prost::alloc::vec::Vec<Ffmoagpphgp>,
    /// offset: 16
    #[prost(message, repeated, tag = "375")]
    pub fdoilglifib: ::prost::alloc::vec::Vec<Jdlipnfgeid>,
    /// offset: 32
    #[prost(message, repeated, tag = "484")]
    pub avatar_list: ::prost::alloc::vec::Vec<Ffmoagpphgp>,
    /// offset: 89
    #[prost(bool, tag = "631")]
    pub igjcgaghdpp: bool,
    /// offset: 90
    #[prost(bool, tag = "949")]
    pub nbnpgeamfjp: bool,
    /// offset: 40
    #[prost(message, repeated, tag = "993")]
    pub item_list: ::prost::alloc::vec::Vec<Nppffmbngbp>,
    /// offset: 88
    #[prost(bool, tag = "1148")]
    pub mneifmedfgc: bool,
    /// offset: 92
    #[prost(uint32, tag = "1507")]
    pub hcegfnhmmod: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nppffmbngbp {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub item_count: u32,
    /// offset: 28
    #[prost(uint32, tag = "15")]
    pub item_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ffmoagpphgp {
    /// offset: 36
    #[prost(uint32, tag = "1")]
    pub avatar_id: u32,
    /// offset: 40
    #[prost(uint32, tag = "2")]
    pub khjkdlnamip: u32,
    /// offset: 44
    #[prost(uint32, tag = "5")]
    pub avatar_type: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub sp_bar: ::core::option::Option<SpBarInfo>,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub hp: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jdlipnfgeid {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub avatar_type: u32,
    /// offset: 28
    #[prost(uint32, tag = "13")]
    pub avatar_id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jgnnojeeblp {
    /// offset: 28
    #[prost(uint32, tag = "2")]
    pub buff_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub modpkccoajl: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ihbmpciigjd {
    /// offset: 32
    #[prost(bool, tag = "1")]
    pub dbmfbjchnkn: bool,
    /// offset: 34
    #[prost(bool, tag = "4")]
    pub can_interact: bool,
    /// offset: 40
    #[prost(uint32, tag = "5")]
    pub gdnehleomom: u32,
    /// offset: 44
    #[prost(uint32, tag = "6")]
    pub ohccefialgl: u32,
    /// offset: 35
    #[prost(bool, tag = "8")]
    pub bbbinmpjcgi: bool,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub eilbaolilam: u32,
    /// offset: 33
    #[prost(bool, tag = "12")]
    pub is_locked: bool,
    /// offset: 16
    #[prost(message, repeated, tag = "1568")]
    pub buff_list: ::prost::alloc::vec::Vec<Kmcccokiofd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Kmcccokiofd {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gdnehleomom: u32,
    /// offset: 40
    #[prost(uint32, tag = "3")]
    pub fbnbpphogli: u32,
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub egklfmchlco: u32,
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub buff_id: u32,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub jbgenfikggf: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dcmclhjinbd {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub defence_add: u32,
    /// offset: 25
    #[prost(bool, tag = "2")]
    pub has_passed: bool,
    /// offset: 36
    #[prost(uint32, tag = "5")]
    pub attack_add: u32,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub eicekdbenkm: u32,
    /// offset: 24
    #[prost(bool, tag = "7")]
    pub is_entered: bool,
    /// offset: 40
    #[prost(uint32, tag = "11")]
    pub miafmbhcmog: u32,
    /// offset: 44
    #[prost(uint32, tag = "13")]
    pub nkmnccffbab: u32,
}
/// Obf: MBDAPMIPEON
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4471)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataCsReq {}
/// Obf: MHMEJAECMMA
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4440)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTreasureDungeonActivityDataScRsp {
    /// offset: 16
    #[prost(message, repeated, tag = "10")]
    pub nfejlhocfmc: ::prost::alloc::vec::Vec<Dcmclhjinbd>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Obf: KBCNABANJLF
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4433)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonCsReq {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub eicekdbenkm: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "14")]
    pub avatar_list: ::prost::alloc::vec::Vec<Iokgdddhhpd>,
}
/// Obf: FKHNMKLEMPL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4438)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnterTreasureDungeonScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub imhngdfgjja: ::core::option::Option<Pponnihfjap>,
}
/// Obf: DNOLOCILBDG
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4439)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct OpenTreasureDungeonGridCsReq {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub gdnehleomom: u32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub eicekdbenkm: u32,
}
/// Obf: EICJHGLMLIK
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4404)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OpenTreasureDungeonGridScRsp {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub imhngdfgjja: ::core::option::Option<Pponnihfjap>,
}
/// Obf: BLLCDNDBMFC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4448)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct InteractTreasureDungeonGridCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gdnehleomom: u32,
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub param: u32,
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub eicekdbenkm: u32,
}
/// Obf: PBIACLDGHLJ
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4445)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InteractTreasureDungeonGridScRsp {
    /// offset: 32
    #[prost(uint32, tag = "8")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "14")]
    pub imhngdfgjja: ::core::option::Option<Pponnihfjap>,
}
/// Obf: GPDIOLFJBDA
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4469)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UseTreasureDungeonItemCsReq {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub eicekdbenkm: u32,
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub item_id: u32,
    /// offset: 28
    #[prost(uint32, tag = "11")]
    pub gdnehleomom: u32,
}
/// Obf: CAEINBAOLLG
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4465)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UseTreasureDungeonItemScRsp {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "7")]
    pub imhngdfgjja: ::core::option::Option<Pponnihfjap>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Iokgdddhhpd {
    /// offset: 28
    #[prost(enumeration = "AvatarType", tag = "2")]
    pub avatar_type: i32,
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub avatar_id: u32,
}
/// Obf: LPKMOEFJGGC
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4411)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterCsReq {
    /// offset: 32
    #[prost(uint32, tag = "2")]
    pub gdnehleomom: u32,
    /// offset: 16
    #[prost(message, repeated, tag = "5")]
    pub avatar_list: ::prost::alloc::vec::Vec<Iokgdddhhpd>,
    /// offset: 36
    #[prost(uint32, tag = "8")]
    pub eicekdbenkm: u32,
}
/// Obf: GAKDIMFCIIL
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4436)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FightTreasureDungeonMonsterScRsp {
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "10")]
    pub battle_info: ::core::option::Option<SceneBattleInfo>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(4430)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Omkakfpogda {
    /// offset: 28
    #[prost(uint32, tag = "3")]
    pub eicekdbenkm: u32,
    /// offset: 24
    #[prost(bool, tag = "9")]
    pub keaagaiahla: bool,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(4442)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Pnoeincjclo {
    /// offset: 24
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Tutorial {
    /// offset: 24
    #[prost(enumeration = "TutorialStatus", tag = "3")]
    pub status: i32,
    /// offset: 28
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TutorialGuide {
    /// offset: 28
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 24
    #[prost(enumeration = "TutorialStatus", tag = "2")]
    pub status: i32,
    /// offset: 32
    #[prost(enumeration = "TutorialGuideType", tag = "7")]
    pub r#type: i32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1625)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTutorialCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1678)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialScRsp {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, repeated, tag = "5")]
    pub tutorial_list: ::prost::alloc::vec::Vec<Tutorial>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1693)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetTutorialGuideCsReq {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1658)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetTutorialGuideScRsp {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub tutorial_guide_list: ::prost::alloc::vec::Vec<TutorialGuide>,
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1688)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockTutorialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "6")]
    pub tutorial_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1681)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockTutorialScRsp {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub tutorial: ::core::option::Option<Tutorial>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1686)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockTutorialGuideCsReq {
    /// offset: 24
    #[prost(uint32, tag = "5")]
    pub group_id: u32,
    /// offset: 28
    #[prost(enumeration = "TutorialGuideType", tag = "13")]
    pub r#type: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1647)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UnlockTutorialGuideScRsp {
    /// offset: 32
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "12")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1626)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishTutorialCsReq {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub tutorial_id: u32,
    /// offset: 28
    #[prost(enumeration = "TutorialFinishType", tag = "11")]
    pub hfiblhafonm: i32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1613)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishTutorialScRsp {
    /// offset: 24
    #[prost(message, optional, tag = "2")]
    pub tutorial: ::core::option::Option<Tutorial>,
    /// offset: 32
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(1671)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FinishTutorialGuideCsReq {
    /// offset: 28
    #[prost(enumeration = "TutorialGuideType", tag = "13")]
    pub r#type: i32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub group_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(1640)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FinishTutorialGuideScRsp {
    /// offset: 40
    #[prost(uint32, tag = "1")]
    pub retcode: u32,
    /// offset: 32
    #[prost(message, optional, tag = "2")]
    pub reward: ::core::option::Option<ItemList>,
    /// offset: 24
    #[prost(message, optional, tag = "12")]
    pub tutorial_guide: ::core::option::Option<TutorialGuide>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Heggpiegbin {
    /// offset: 24
    #[prost(bool, tag = "2")]
    pub is_new: bool,
    /// offset: 28
    #[prost(uint32, tag = "9")]
    pub fhnngnbdgho: u32,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub id: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Fdecdcedpnm {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub bgmfehbeabc: u32,
    /// offset: 16
    #[prost(uint32, repeated, tag = "4")]
    pub iccchccdknd: ::prost::alloc::vec::Vec<u32>,
    /// offset: 36
    #[prost(uint32, tag = "9")]
    pub id: u32,
    /// offset: 40
    #[prost(bool, tag = "13")]
    pub is_new: bool,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gakjmhlejmd {
    /// offset: 24
    #[prost(message, repeated, tag = "1")]
    pub hcbjongpjfd: ::prost::alloc::vec::Vec<Heggpiegbin>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lkjfaoidnnf {
    /// offset: 24
    #[prost(uint32, tag = "2")]
    pub dcahjelnjnp: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(478)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gmcagpohkjj {
    /// offset: 32
    #[prost(uint32, tag = "3")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "11")]
    pub kednghieobb: ::core::option::Option<Gakjmhlejmd>,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Jbaeghhhdnh {}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(481)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mkepkkajone {
    /// offset: 16
    #[prost(message, repeated, tag = "1")]
    pub lpbleicpfpd: ::prost::alloc::vec::Vec<Fdecdcedpnm>,
    /// offset: 32
    #[prost(uint32, tag = "14")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdfpanilfoh {
    /// offset: 16
    #[prost(message, repeated, tag = "6")]
    pub paoejkabfep: ::prost::alloc::vec::Vec<Vector>,
    /// offset: 44
    #[prost(bool, tag = "9")]
    pub is_bullet_activated: bool,
    /// offset: 24
    #[prost(message, optional, tag = "13")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 40
    #[prost(uint32, tag = "15")]
    pub chcopkakbno: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Gghobpbffob {
    /// offset: 40
    #[prost(message, repeated, tag = "1")]
    pub paoejkabfep: ::prost::alloc::vec::Vec<Vector>,
    /// offset: 52
    #[prost(bool, tag = "5")]
    pub is_bullet_activated: bool,
    /// offset: 16
    #[prost(message, optional, tag = "7")]
    pub bbemigelgjc: ::core::option::Option<Kdfpanilfoh>,
    /// offset: 24
    #[prost(string, tag = "9")]
    pub uuid: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "10")]
    pub id: u32,
    /// offset: 48
    #[prost(uint32, tag = "11")]
    pub chcopkakbno: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6509)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Nhlgedlkoki {
    /// offset: 32
    #[prost(message, optional, tag = "3")]
    pub motion: ::core::option::Option<MotionInfo>,
    /// offset: 40
    #[prost(uint32, tag = "6")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "9")]
    pub group_state_info: ::core::option::Option<GroupStateInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6523)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Enpjfkdklob {
    /// offset: 16
    #[prost(message, optional, tag = "6")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
    /// offset: 32
    #[prost(uint32, tag = "12")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6537)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Johdljlgnhl {
    /// offset: 32
    #[prost(uint32, tag = "1")]
    pub id: u32,
    /// offset: 24
    #[prost(message, optional, tag = "5")]
    pub motion: ::core::option::Option<MotionInfo>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6544)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cpkcmnjkpoe {
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
    /// offset: 24
    #[prost(message, optional, tag = "8")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6519)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ljfeonhokag {
    /// offset: 24
    #[prost(uint32, tag = "8")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6548)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Bppicamlgnb {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
    /// offset: 32
    #[prost(uint32, tag = "6")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6503)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Dkjbginlbpp {
    /// offset: 24
    #[prost(uint32, tag = "10")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6507)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Kdmanlndioa {
    /// offset: 24
    #[prost(message, optional, tag = "1")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
    /// offset: 32
    #[prost(uint32, tag = "4")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6510)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Likmpnfokff {
    /// offset: 24
    #[prost(uint32, tag = "13")]
    pub id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6521)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Mddfdnhfcil {
    /// offset: 32
    #[prost(uint32, tag = "5")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
}
/// Type: Notify
#[derive(proto_derive::CmdID)]
#[cmdid(6524)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ljeffbcjjem {
    /// offset: 24
    #[prost(message, optional, tag = "11")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6520)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Okefgcnneki {
    /// offset: 32
    #[prost(uint32, repeated, tag = "10")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
    /// offset: 24
    #[prost(message, optional, tag = "15")]
    pub ggdcdjdbccn: ::core::option::Option<Vector>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6517)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Nhigcjfjgpf {
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub retcode: u32,
    /// offset: 16
    #[prost(message, optional, tag = "15")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6529)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Ajdpponbabg {
    /// offset: 16
    #[prost(message, optional, tag = "1")]
    pub ggdcdjdbccn: ::core::option::Option<Vector>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6533)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Deahiakbgmj {
    /// offset: 16
    #[prost(message, optional, tag = "9")]
    pub game_data: ::core::option::Option<Gghobpbffob>,
    /// offset: 32
    #[prost(uint32, tag = "13")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6506)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Phpeppkfmjo {
    /// offset: 28
    #[prost(uint32, tag = "8")]
    pub group_id: u32,
    /// offset: 24
    #[prost(uint32, tag = "14")]
    pub config_id: u32,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6502)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hkpfpmjbnep {
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(6514)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Lbmfcjlhnaa {
    /// offset: 16
    #[prost(uint32, repeated, tag = "11")]
    pub assist_monster_entity_id_list: ::prost::alloc::vec::Vec<u32>,
}
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(6535)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Hfjcgemmpkb {
    /// offset: 24
    #[prost(uint32, tag = "11")]
    pub retcode: u32,
}
/// Obf: NBGLFOIBBLL
/// Type: Req
#[derive(proto_derive::CmdID)]
#[cmdid(7626)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WorldUnlockCsReq {
    /// offset: 24
    #[prost(uint32, tag = "4")]
    pub cfdceemioco: u32,
}
/// Obf: ALJGINBMLKB
/// Type: Rsp
#[derive(proto_derive::CmdID)]
#[cmdid(7627)]
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct WorldUnlockScRsp {
    /// offset: 28
    #[prost(uint32, tag = "7")]
    pub cfdceemioco: u32,
    /// offset: 24
    #[prost(uint32, tag = "9")]
    pub retcode: u32,
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Gocbelpflho {
    /// offset: 48
    #[prost(uint32, tag = "1")]
    pub dlaiechbnpp: u32,
    /// offset: 88
    #[prost(uint32, tag = "2")]
    pub authkey_ver: u32,
    /// offset: 72
    #[prost(uint32, tag = "3")]
    pub fcfkglpcpop: u32,
    /// offset: 92
    #[prost(uint32, tag = "4")]
    pub bmgbbemhlig: u32,
    /// offset: 60
    #[prost(uint32, tag = "5")]
    pub ekbjcbfiiep: u32,
    /// offset: 76
    #[prost(uint32, tag = "6")]
    pub lmffkmpomgd: u32,
    /// offset: 36
    #[prost(uint32, tag = "7")]
    pub impoogjhdmf: u32,
    /// offset: 80
    #[prost(uint32, tag = "8")]
    pub jpkihonccnn: u32,
    /// offset: 40
    #[prost(uint64, tag = "9")]
    pub dgafihgcapc: u64,
    /// offset: 32
    #[prost(uint32, tag = "10")]
    pub mlombdfhlmn: u32,
    /// offset: 52
    #[prost(uint32, tag = "11")]
    pub id: u32,
    /// offset: 84
    #[prost(uint32, tag = "12")]
    pub mjkfodfjgko: u32,
    /// offset: 64
    #[prost(uint32, tag = "13")]
    pub nlghmpmhmef: u32,
    /// offset: 16
    #[prost(string, tag = "14")]
    pub omcbhefbeio: ::prost::alloc::string::String,
    /// offset: 56
    #[prost(uint32, tag = "15")]
    pub igkolfocnod: u32,
    /// offset: 68
    #[prost(uint32, tag = "16")]
    pub pmdnfenhobe: u32,
    /// offset: 96
    #[prost(uint64, tag = "17")]
    pub llioemobfgd: 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,
    PlayerActionSubMissionReward2 = 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,
    PlayerActionChallengeTierceRecommendLineup = 2281,
    PlayerActionChallengeTierceStart = 2282,
    PlayerActionChallengeTierceBattleEnd = 2283,
    PlayerActionChallengeTierceStageSettle = 2284,
    PlayerActionChallengeTierceGradeReset = 2285,
    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,
    PlayerActionPlayerReturnCustomRelic = 4410,
    PlayerActionPlayerReturnAssistChange = 4421,
    PlayerActionRogueChallengeActivityStart = 4411,
    PlayerActionRogueChallengeActivityFinish = 4412,
    PlayerActionRogueChallengeActivitySave = 4413,
    PlayerActionPlayerReturnLoginMail = 4431,
    PlayerActionPlayerReturnExtraHcoinProgressChange = 4432,
    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,
    PlayerActionRogueTournPersonaStyleExpChange = 6250,
    PlayerActionRogueTournPersonaStyleSelect = 6251,
    PlayerActionRogueTournPersonaStartLevel = 6252,
    PlayerActionRogueTournPersonaFinishLevel = 6253,
    PlayerActionRogueTournPersonaEnterRoom = 6254,
    PlayerActionRogueTournPersonaLeaveRoom = 6255,
    PlayerActionRogueTournPersonaStageBegin = 6256,
    PlayerActionRogueTournPersonaStageEnd = 6257,
    PlayerActionRogueTournPersonaArchiveSave = 6258,
    PlayerActionRogueTournHexEquipmentChange = 6259,
    PlayerActionRogueTournPersonaRoomCardChange = 6260,
    PlayerActionRogueTournPersonaRoomCardLevelChange = 6261,
    PlayerActionRogueTournPersonaRoomCardAttributeChange = 6262,
    PlayerActionRogueTournPersonaRoomCardSelect = 6263,
    PlayerActionRogueTournPersonaRoomCardWash = 6264,
    PlayerActionRogueTournPersonaStyleGiftSelect = 6265,
    PlayerActionRogueTournPersonaStyleGiftSelectRefresh = 6266,
    PlayerActionRogueTournPersonaRoomCardReroll = 6267,
    PlayerActionRogueTournMiracleStatusChange = 6268,
    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,
    PlayerActionDiceCombatV2Settle = 6326,
    PlayerActionTeamTowersSettle = 6327,
    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,
    PlayerActionPlayerRoomDisplayAreaChange = 6717,
    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,
    PlayerActionGridFightFormationEdit = 7291,
    PlayerActionGridFightModifierUpdate = 7292,
    PlayerActionGridFightFormationUgcUpdate = 7293,
    PlayerActionGridFightPartnerRoleChoose = 7294,
    PlayerActionGridFightPrayQuestSelect = 7295,
    PlayerActionGridFightPrayQuestFinish = 7296,
    PlayerActionLocalLegendBattleBegin = 7361,
    PlayerActionLocalLegendBattleEnd = 7362,
    PlayerActionDiceCombatBuyShopGood = 7351,
    PlayerActionDiceCombatUpgradeAvatar = 7352,
    PlayerActionDiceCombatFinishPveStage = 7353,
    PlayerActionDiceCombatBegin = 7354,
    PlayerActionDiceCombatTurnEnd = 7355,
    PlayerActionDiceCombatEnd = 7356,
    PlayerActionDiceCombatScoreChange = 7357,
    PlayerActionDiceCombatChangeColorDice = 7358,
    PlayerActionInteractiveTriggerMazeBuffAdd = 7371,
    PlayerActionLlmChat = 7376,
    PlayerActionLlmChatNextQuestion = 7377,
    PlayerActionLlmChatFeedback = 7378,
    PlayerActionAiPamChatPointChange = 7379,
    PlayerActionTrainCakeCatchCatGodInteract = 7381,
    PlayerActionTrainCakeCatchOpenBox = 7382,
    PlayerActionTrainCakeCatchSearchCat = 7383,
    PlayerActionTrainCakeCatchUnlockPerformance = 7384,
    PlayerActionTrainCakeCatchUpdateDiyInfo = 7385,
    PlayerActionSocialPlayTalk = 7386,
    PlayerActionSocialPlayKickOutPlayer = 7387,
    PlayerActionSocialPlayPopularityValue = 7388,
    PlayerActionSocialPlayLeaveRoom = 7389,
    PlayerActionSocialPlayEnterRoom = 7390,
    PlayerActionTrainCakeCatchCatGodAppear = 7391,
    PlayerActionIdleLiveUpgradeTeamSlot = 7401,
    PlayerActionIdleLiveFinishSubNode = 7402,
    PlayerActionIdleLiveFinishChapterFinalAct = 7403,
    PlayerActionIdleLiveCollectIncome = 7404,
    PlayerActionIdleLiveOpenChest = 7405,
    PlayerActionIdleLiveTakeTaskReward = 7406,
    PlayerActionIdleLiveTechTreeChange = 7407,
    PlayerActionIdleLiveModifyCustomTitle = 7408,
    PlayerActionIdleLiveCatchUpReward = 7409,
    PlayerActionIdleLiveTakeMessageReward = 7410,
    PlayerActionIdleLiveTakeGiftReward = 7411,
    PlayerActionIdleLiveEndDungeon = 7412,
    PlayerActionIdleLiveActivityInit = 7413,
    PlayerActionIdleLiveEquipDiscard = 7414,
    PlayerActionIdleLiveDoGacha = 7415,
    PlayerActionIdleLiveAddAvatar = 7416,
    PlayerActionIdleLiveTaskChange = 7417,
    PlayerActionIdleLiveReplaceTeam = 7418,
    PlayerActionIdleLiveHandleNormalEquip = 7419,
    PlayerActionIdleLiveUpgradeSpecialEquip = 7420,
    PlayerActionIdleLiveDressSpecialEquip = 7421,
    PlayerActionIdleLiveAddItem = 7422,
    PlayerActionIdleLiveQuestionChange = 7423,
    PlayerActionIdleLiveStartNodeBattle = 7424,
    PlayerActionIdleLiveFinishNodeBattle = 7425,
    PlayerActionIdleLiveFinishNode = 7426,
    PlayerActionIdleLiveMessageChange = 7427,
    PlayerActionNewYearBoatTakeReward = 7451,
    PlayerActionNewYearBoatSelectBoat = 7452,
    PlayerActionNewYearBoatPeriodSettle = 7453,
    PlayerActionBenefitV2ActivityTakeReward = 7454,
    PlayerActionBenefitV2ActivityDraw = 7455,
    PlayerActionJukeboxSetting = 7471,
    PlayerActionJukeboxSettingReset = 7472,
    PlayerActionDiceCombatV2FinishPveStage = 7476,
    PlayerActionDiceCombatV2Begin = 7477,
    PlayerActionDiceCombatV2TurnEnd = 7478,
    PlayerActionDiceCombatV2End = 7479,
    PlayerActionDiceCombatV2TacticsPointChange = 7480,
    PlayerActionDiceCombatV2TacticsCardChange = 7481,
    PlayerActionDiceCombatV2DiceChangeRequest = 7482,
    PlayerActionDiceCombatV2DiceChange = 7483,
    PlayerActionLimaoNewsSubmitIssue = 7486,
    PlayerActionLimaoNewsSubmitPost = 7487,
    PlayerActionLimaoNewsOfficeSurveyStateChange = 7488,
    PlayerActionLimaoNewsTriggerMessage = 7489,
    PlayerActionLimaoNewsFinishMessage = 7490,
    PlayerActionLimaoNewsFinishCondition = 7491,
    PlayerActionLimaoNewsUnlockPost = 7492,
    PlayerActionLimaoNewsReplyComment = 7493,
    PlayerActionLimaoNewsBanPost = 7494,
    PlayerActionLimaoNewsTriggerOfficeEvent = 7495,
    PlayerActionLimaoNewsFinishOfficeEvent = 7496,
    PlayerActionLimaoNewsUpvoteContent = 7497,
    PlayerActionChenLingBattleActivatePrivilege = 7506,
    PlayerActionChenLingBattleConquerLevelUp = 7507,
    PlayerActionChenLingBattleStartStage = 7508,
    PlayerActionChenLingBattleSettleStage = 7509,
    PlayerActionChenLingBattleStartBattle = 7510,
    PlayerActionChenLingBattleFinishBattle = 7511,
    PlayerActionChenLingBattleFinishWave = 7512,
    PlayerActionChenLingBattleSelectCard = 7513,
    PlayerActionChenLingBattleRefreshCard = 7514,
    PlayerActionChenLingBattleBuyShopItem = 7515,
    PlayerActionChenLingBattleRefreshShop = 7516,
    PlayerActionChenLingBattleSelectPolicy = 7517,
    PlayerActionChenLingBattleRefreshPolicy = 7518,
    PlayerActionChenLingBattleAddHandCard = 7519,
    PlayerActionChenLingBattleUseHandCard = 7520,
    PlayerActionChenLingBattleSellHandCard = 7521,
    PlayerActionChenLingBattleEntityUpgrade = 7522,
    PlayerActionChenLingBattleCloneEntity = 7523,
    PlayerActionCycleScoreChange = 7541,
    PlayerActionCycleScoreTakeReward = 7542,
    PlayerActionFateRinFightStart = 7546,
    PlayerActionFateRinFightEnd = 7547,
    PlayerActionFateRinDeckModify = 7548,
    PlayerActionRelicPresetPlanSave = 7581,
    PlayerActionRelicPresetPlanDelete = 7582,
    PlayerActionRelicPresetPlanModifyName = 7583,
    PlayerActionPixAirUnlockPlane = 7611,
    PlayerActionPixAirStageStart = 7612,
    PlayerActionPixAirBattleGen = 7613,
    PlayerActionPixAirBattleEnd = 7614,
    PlayerActionPixAirLootEquipSelect = 7615,
    PlayerActionPixAirBuyEquip = 7616,
    PlayerActionPixAirRefreshShop = 7617,
    PlayerActionPixAirNodeSelectContent = 7618,
    PlayerActionPixAirGrantReward = 7619,
    PlayerActionPixAirEvent = 7620,
    PlayerActionPixAirNewEquip = 7621,
    PlayerActionPixAirSellEquip = 7622,
    PlayerActionPixAirEquipUpgrade = 7623,
    PlayerActionPixAirEquipEnchant = 7624,
    PlayerActionPixAirCoinChange = 7625,
    PlayerActionPixAirStageSettle = 7630,
    PlayerActionExpeditionBattleGameStart = 7631,
    PlayerActionExpeditionBattleGameEnd = 7632,
    PlayerActionChenLingFesLevelStart = 7641,
    PlayerActionChenLingFesBusinessDayEnd = 7642,
    PlayerActionChenLingFesPhaseSettle = 7643,
    PlayerActionChenLingFesLevelSettle = 7644,
    PlayerActionChooseDeliveryChoose = 7661,
    PlayerActionTeamTowersPveEnd = 7671,
    PlayerActionTeamTowersPvpStart = 7672,
    PlayerActionTeamTowersPvpEnd = 7673,
}
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::PlayerActionSubMissionReward2 => {
                "PlayerActionType_PlayerActionSubMissionReward2"
            }
            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::PlayerActionChallengeTierceRecommendLineup => {
                "PlayerActionType_PlayerActionChallengeTierceRecommendLineup"
            }
            Self::PlayerActionChallengeTierceStart => {
                "PlayerActionType_PlayerActionChallengeTierceStart"
            }
            Self::PlayerActionChallengeTierceBattleEnd => {
                "PlayerActionType_PlayerActionChallengeTierceBattleEnd"
            }
            Self::PlayerActionChallengeTierceStageSettle => {
                "PlayerActionType_PlayerActionChallengeTierceStageSettle"
            }
            Self::PlayerActionChallengeTierceGradeReset => {
                "PlayerActionType_PlayerActionChallengeTierceGradeReset"
            }
            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::PlayerActionPlayerReturnCustomRelic => {
                "PlayerActionType_PlayerActionPlayerReturnCustomRelic"
            }
            Self::PlayerActionPlayerReturnAssistChange => {
                "PlayerActionType_PlayerActionPlayerReturnAssistChange"
            }
            Self::PlayerActionRogueChallengeActivityStart => {
                "PlayerActionType_PlayerActionRogueChallengeActivityStart"
            }
            Self::PlayerActionRogueChallengeActivityFinish => {
                "PlayerActionType_PlayerActionRogueChallengeActivityFinish"
            }
            Self::PlayerActionRogueChallengeActivitySave => {
                "PlayerActionType_PlayerActionRogueChallengeActivitySave"
            }
            Self::PlayerActionPlayerReturnLoginMail => {
                "PlayerActionType_PlayerActionPlayerReturnLoginMail"
            }
            Self::PlayerActionPlayerReturnExtraHcoinProgressChange => {
                "PlayerActionType_PlayerActionPlayerReturnExtraHcoinProgressChange"
            }
            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::PlayerActionRogueTournPersonaStyleExpChange => {
                "PlayerActionType_PlayerActionRogueTournPersonaStyleExpChange"
            }
            Self::PlayerActionRogueTournPersonaStyleSelect => {
                "PlayerActionType_PlayerActionRogueTournPersonaStyleSelect"
            }
            Self::PlayerActionRogueTournPersonaStartLevel => {
                "PlayerActionType_PlayerActionRogueTournPersonaStartLevel"
            }
            Self::PlayerActionRogueTournPersonaFinishLevel => {
                "PlayerActionType_PlayerActionRogueTournPersonaFinishLevel"
            }
            Self::PlayerActionRogueTournPersonaEnterRoom => {
                "PlayerActionType_PlayerActionRogueTournPersonaEnterRoom"
            }
            Self::PlayerActionRogueTournPersonaLeaveRoom => {
                "PlayerActionType_PlayerActionRogueTournPersonaLeaveRoom"
            }
            Self::PlayerActionRogueTournPersonaStageBegin => {
                "PlayerActionType_PlayerActionRogueTournPersonaStageBegin"
            }
            Self::PlayerActionRogueTournPersonaStageEnd => {
                "PlayerActionType_PlayerActionRogueTournPersonaStageEnd"
            }
            Self::PlayerActionRogueTournPersonaArchiveSave => {
                "PlayerActionType_PlayerActionRogueTournPersonaArchiveSave"
            }
            Self::PlayerActionRogueTournHexEquipmentChange => {
                "PlayerActionType_PlayerActionRogueTournHexEquipmentChange"
            }
            Self::PlayerActionRogueTournPersonaRoomCardChange => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardChange"
            }
            Self::PlayerActionRogueTournPersonaRoomCardLevelChange => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardLevelChange"
            }
            Self::PlayerActionRogueTournPersonaRoomCardAttributeChange => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardAttributeChange"
            }
            Self::PlayerActionRogueTournPersonaRoomCardSelect => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardSelect"
            }
            Self::PlayerActionRogueTournPersonaRoomCardWash => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardWash"
            }
            Self::PlayerActionRogueTournPersonaStyleGiftSelect => {
                "PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelect"
            }
            Self::PlayerActionRogueTournPersonaStyleGiftSelectRefresh => {
                "PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelectRefresh"
            }
            Self::PlayerActionRogueTournPersonaRoomCardReroll => {
                "PlayerActionType_PlayerActionRogueTournPersonaRoomCardReroll"
            }
            Self::PlayerActionRogueTournMiracleStatusChange => {
                "PlayerActionType_PlayerActionRogueTournMiracleStatusChange"
            }
            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::PlayerActionDiceCombatV2Settle => {
                "PlayerActionType_PlayerActionDiceCombatV2Settle"
            }
            Self::PlayerActionTeamTowersSettle => {
                "PlayerActionType_PlayerActionTeamTowersSettle"
            }
            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::PlayerActionPlayerRoomDisplayAreaChange => {
                "PlayerActionType_PlayerActionPlayerRoomDisplayAreaChange"
            }
            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::PlayerActionGridFightFormationEdit => {
                "PlayerActionType_PlayerActionGridFightFormationEdit"
            }
            Self::PlayerActionGridFightModifierUpdate => {
                "PlayerActionType_PlayerActionGridFightModifierUpdate"
            }
            Self::PlayerActionGridFightFormationUgcUpdate => {
                "PlayerActionType_PlayerActionGridFightFormationUgcUpdate"
            }
            Self::PlayerActionGridFightPartnerRoleChoose => {
                "PlayerActionType_PlayerActionGridFightPartnerRoleChoose"
            }
            Self::PlayerActionGridFightPrayQuestSelect => {
                "PlayerActionType_PlayerActionGridFightPrayQuestSelect"
            }
            Self::PlayerActionGridFightPrayQuestFinish => {
                "PlayerActionType_PlayerActionGridFightPrayQuestFinish"
            }
            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::PlayerActionLlmChat => "PlayerActionType_PlayerActionLlmChat",
            Self::PlayerActionLlmChatNextQuestion => {
                "PlayerActionType_PlayerActionLlmChatNextQuestion"
            }
            Self::PlayerActionLlmChatFeedback => {
                "PlayerActionType_PlayerActionLlmChatFeedback"
            }
            Self::PlayerActionAiPamChatPointChange => {
                "PlayerActionType_PlayerActionAiPamChatPointChange"
            }
            Self::PlayerActionTrainCakeCatchCatGodInteract => {
                "PlayerActionType_PlayerActionTrainCakeCatchCatGodInteract"
            }
            Self::PlayerActionTrainCakeCatchOpenBox => {
                "PlayerActionType_PlayerActionTrainCakeCatchOpenBox"
            }
            Self::PlayerActionTrainCakeCatchSearchCat => {
                "PlayerActionType_PlayerActionTrainCakeCatchSearchCat"
            }
            Self::PlayerActionTrainCakeCatchUnlockPerformance => {
                "PlayerActionType_PlayerActionTrainCakeCatchUnlockPerformance"
            }
            Self::PlayerActionTrainCakeCatchUpdateDiyInfo => {
                "PlayerActionType_PlayerActionTrainCakeCatchUpdateDiyInfo"
            }
            Self::PlayerActionSocialPlayTalk => {
                "PlayerActionType_PlayerActionSocialPlayTalk"
            }
            Self::PlayerActionSocialPlayKickOutPlayer => {
                "PlayerActionType_PlayerActionSocialPlayKickOutPlayer"
            }
            Self::PlayerActionSocialPlayPopularityValue => {
                "PlayerActionType_PlayerActionSocialPlayPopularityValue"
            }
            Self::PlayerActionSocialPlayLeaveRoom => {
                "PlayerActionType_PlayerActionSocialPlayLeaveRoom"
            }
            Self::PlayerActionSocialPlayEnterRoom => {
                "PlayerActionType_PlayerActionSocialPlayEnterRoom"
            }
            Self::PlayerActionTrainCakeCatchCatGodAppear => {
                "PlayerActionType_PlayerActionTrainCakeCatchCatGodAppear"
            }
            Self::PlayerActionIdleLiveUpgradeTeamSlot => {
                "PlayerActionType_PlayerActionIdleLiveUpgradeTeamSlot"
            }
            Self::PlayerActionIdleLiveFinishSubNode => {
                "PlayerActionType_PlayerActionIdleLiveFinishSubNode"
            }
            Self::PlayerActionIdleLiveFinishChapterFinalAct => {
                "PlayerActionType_PlayerActionIdleLiveFinishChapterFinalAct"
            }
            Self::PlayerActionIdleLiveCollectIncome => {
                "PlayerActionType_PlayerActionIdleLiveCollectIncome"
            }
            Self::PlayerActionIdleLiveOpenChest => {
                "PlayerActionType_PlayerActionIdleLiveOpenChest"
            }
            Self::PlayerActionIdleLiveTakeTaskReward => {
                "PlayerActionType_PlayerActionIdleLiveTakeTaskReward"
            }
            Self::PlayerActionIdleLiveTechTreeChange => {
                "PlayerActionType_PlayerActionIdleLiveTechTreeChange"
            }
            Self::PlayerActionIdleLiveModifyCustomTitle => {
                "PlayerActionType_PlayerActionIdleLiveModifyCustomTitle"
            }
            Self::PlayerActionIdleLiveCatchUpReward => {
                "PlayerActionType_PlayerActionIdleLiveCatchUpReward"
            }
            Self::PlayerActionIdleLiveTakeMessageReward => {
                "PlayerActionType_PlayerActionIdleLiveTakeMessageReward"
            }
            Self::PlayerActionIdleLiveTakeGiftReward => {
                "PlayerActionType_PlayerActionIdleLiveTakeGiftReward"
            }
            Self::PlayerActionIdleLiveEndDungeon => {
                "PlayerActionType_PlayerActionIdleLiveEndDungeon"
            }
            Self::PlayerActionIdleLiveActivityInit => {
                "PlayerActionType_PlayerActionIdleLiveActivityInit"
            }
            Self::PlayerActionIdleLiveEquipDiscard => {
                "PlayerActionType_PlayerActionIdleLiveEquipDiscard"
            }
            Self::PlayerActionIdleLiveDoGacha => {
                "PlayerActionType_PlayerActionIdleLiveDoGacha"
            }
            Self::PlayerActionIdleLiveAddAvatar => {
                "PlayerActionType_PlayerActionIdleLiveAddAvatar"
            }
            Self::PlayerActionIdleLiveTaskChange => {
                "PlayerActionType_PlayerActionIdleLiveTaskChange"
            }
            Self::PlayerActionIdleLiveReplaceTeam => {
                "PlayerActionType_PlayerActionIdleLiveReplaceTeam"
            }
            Self::PlayerActionIdleLiveHandleNormalEquip => {
                "PlayerActionType_PlayerActionIdleLiveHandleNormalEquip"
            }
            Self::PlayerActionIdleLiveUpgradeSpecialEquip => {
                "PlayerActionType_PlayerActionIdleLiveUpgradeSpecialEquip"
            }
            Self::PlayerActionIdleLiveDressSpecialEquip => {
                "PlayerActionType_PlayerActionIdleLiveDressSpecialEquip"
            }
            Self::PlayerActionIdleLiveAddItem => {
                "PlayerActionType_PlayerActionIdleLiveAddItem"
            }
            Self::PlayerActionIdleLiveQuestionChange => {
                "PlayerActionType_PlayerActionIdleLiveQuestionChange"
            }
            Self::PlayerActionIdleLiveStartNodeBattle => {
                "PlayerActionType_PlayerActionIdleLiveStartNodeBattle"
            }
            Self::PlayerActionIdleLiveFinishNodeBattle => {
                "PlayerActionType_PlayerActionIdleLiveFinishNodeBattle"
            }
            Self::PlayerActionIdleLiveFinishNode => {
                "PlayerActionType_PlayerActionIdleLiveFinishNode"
            }
            Self::PlayerActionIdleLiveMessageChange => {
                "PlayerActionType_PlayerActionIdleLiveMessageChange"
            }
            Self::PlayerActionNewYearBoatTakeReward => {
                "PlayerActionType_PlayerActionNewYearBoatTakeReward"
            }
            Self::PlayerActionNewYearBoatSelectBoat => {
                "PlayerActionType_PlayerActionNewYearBoatSelectBoat"
            }
            Self::PlayerActionNewYearBoatPeriodSettle => {
                "PlayerActionType_PlayerActionNewYearBoatPeriodSettle"
            }
            Self::PlayerActionBenefitV2ActivityTakeReward => {
                "PlayerActionType_PlayerActionBenefitV2ActivityTakeReward"
            }
            Self::PlayerActionBenefitV2ActivityDraw => {
                "PlayerActionType_PlayerActionBenefitV2ActivityDraw"
            }
            Self::PlayerActionJukeboxSetting => {
                "PlayerActionType_PlayerActionJukeboxSetting"
            }
            Self::PlayerActionJukeboxSettingReset => {
                "PlayerActionType_PlayerActionJukeboxSettingReset"
            }
            Self::PlayerActionDiceCombatV2FinishPveStage => {
                "PlayerActionType_PlayerActionDiceCombatV2FinishPveStage"
            }
            Self::PlayerActionDiceCombatV2Begin => {
                "PlayerActionType_PlayerActionDiceCombatV2Begin"
            }
            Self::PlayerActionDiceCombatV2TurnEnd => {
                "PlayerActionType_PlayerActionDiceCombatV2TurnEnd"
            }
            Self::PlayerActionDiceCombatV2End => {
                "PlayerActionType_PlayerActionDiceCombatV2End"
            }
            Self::PlayerActionDiceCombatV2TacticsPointChange => {
                "PlayerActionType_PlayerActionDiceCombatV2TacticsPointChange"
            }
            Self::PlayerActionDiceCombatV2TacticsCardChange => {
                "PlayerActionType_PlayerActionDiceCombatV2TacticsCardChange"
            }
            Self::PlayerActionDiceCombatV2DiceChangeRequest => {
                "PlayerActionType_PlayerActionDiceCombatV2DiceChangeRequest"
            }
            Self::PlayerActionDiceCombatV2DiceChange => {
                "PlayerActionType_PlayerActionDiceCombatV2DiceChange"
            }
            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"
            }
            Self::PlayerActionChenLingBattleActivatePrivilege => {
                "PlayerActionType_PlayerActionChenLingBattleActivatePrivilege"
            }
            Self::PlayerActionChenLingBattleConquerLevelUp => {
                "PlayerActionType_PlayerActionChenLingBattleConquerLevelUp"
            }
            Self::PlayerActionChenLingBattleStartStage => {
                "PlayerActionType_PlayerActionChenLingBattleStartStage"
            }
            Self::PlayerActionChenLingBattleSettleStage => {
                "PlayerActionType_PlayerActionChenLingBattleSettleStage"
            }
            Self::PlayerActionChenLingBattleStartBattle => {
                "PlayerActionType_PlayerActionChenLingBattleStartBattle"
            }
            Self::PlayerActionChenLingBattleFinishBattle => {
                "PlayerActionType_PlayerActionChenLingBattleFinishBattle"
            }
            Self::PlayerActionChenLingBattleFinishWave => {
                "PlayerActionType_PlayerActionChenLingBattleFinishWave"
            }
            Self::PlayerActionChenLingBattleSelectCard => {
                "PlayerActionType_PlayerActionChenLingBattleSelectCard"
            }
            Self::PlayerActionChenLingBattleRefreshCard => {
                "PlayerActionType_PlayerActionChenLingBattleRefreshCard"
            }
            Self::PlayerActionChenLingBattleBuyShopItem => {
                "PlayerActionType_PlayerActionChenLingBattleBuyShopItem"
            }
            Self::PlayerActionChenLingBattleRefreshShop => {
                "PlayerActionType_PlayerActionChenLingBattleRefreshShop"
            }
            Self::PlayerActionChenLingBattleSelectPolicy => {
                "PlayerActionType_PlayerActionChenLingBattleSelectPolicy"
            }
            Self::PlayerActionChenLingBattleRefreshPolicy => {
                "PlayerActionType_PlayerActionChenLingBattleRefreshPolicy"
            }
            Self::PlayerActionChenLingBattleAddHandCard => {
                "PlayerActionType_PlayerActionChenLingBattleAddHandCard"
            }
            Self::PlayerActionChenLingBattleUseHandCard => {
                "PlayerActionType_PlayerActionChenLingBattleUseHandCard"
            }
            Self::PlayerActionChenLingBattleSellHandCard => {
                "PlayerActionType_PlayerActionChenLingBattleSellHandCard"
            }
            Self::PlayerActionChenLingBattleEntityUpgrade => {
                "PlayerActionType_PlayerActionChenLingBattleEntityUpgrade"
            }
            Self::PlayerActionChenLingBattleCloneEntity => {
                "PlayerActionType_PlayerActionChenLingBattleCloneEntity"
            }
            Self::PlayerActionCycleScoreChange => {
                "PlayerActionType_PlayerActionCycleScoreChange"
            }
            Self::PlayerActionCycleScoreTakeReward => {
                "PlayerActionType_PlayerActionCycleScoreTakeReward"
            }
            Self::PlayerActionFateRinFightStart => {
                "PlayerActionType_PlayerActionFateRinFightStart"
            }
            Self::PlayerActionFateRinFightEnd => {
                "PlayerActionType_PlayerActionFateRinFightEnd"
            }
            Self::PlayerActionFateRinDeckModify => {
                "PlayerActionType_PlayerActionFateRinDeckModify"
            }
            Self::PlayerActionRelicPresetPlanSave => {
                "PlayerActionType_PlayerActionRelicPresetPlanSave"
            }
            Self::PlayerActionRelicPresetPlanDelete => {
                "PlayerActionType_PlayerActionRelicPresetPlanDelete"
            }
            Self::PlayerActionRelicPresetPlanModifyName => {
                "PlayerActionType_PlayerActionRelicPresetPlanModifyName"
            }
            Self::PlayerActionPixAirUnlockPlane => {
                "PlayerActionType_PlayerActionPixAirUnlockPlane"
            }
            Self::PlayerActionPixAirStageStart => {
                "PlayerActionType_PlayerActionPixAirStageStart"
            }
            Self::PlayerActionPixAirBattleGen => {
                "PlayerActionType_PlayerActionPixAirBattleGen"
            }
            Self::PlayerActionPixAirBattleEnd => {
                "PlayerActionType_PlayerActionPixAirBattleEnd"
            }
            Self::PlayerActionPixAirLootEquipSelect => {
                "PlayerActionType_PlayerActionPixAirLootEquipSelect"
            }
            Self::PlayerActionPixAirBuyEquip => {
                "PlayerActionType_PlayerActionPixAirBuyEquip"
            }
            Self::PlayerActionPixAirRefreshShop => {
                "PlayerActionType_PlayerActionPixAirRefreshShop"
            }
            Self::PlayerActionPixAirNodeSelectContent => {
                "PlayerActionType_PlayerActionPixAirNodeSelectContent"
            }
            Self::PlayerActionPixAirGrantReward => {
                "PlayerActionType_PlayerActionPixAirGrantReward"
            }
            Self::PlayerActionPixAirEvent => "PlayerActionType_PlayerActionPixAirEvent",
            Self::PlayerActionPixAirNewEquip => {
                "PlayerActionType_PlayerActionPixAirNewEquip"
            }
            Self::PlayerActionPixAirSellEquip => {
                "PlayerActionType_PlayerActionPixAirSellEquip"
            }
            Self::PlayerActionPixAirEquipUpgrade => {
                "PlayerActionType_PlayerActionPixAirEquipUpgrade"
            }
            Self::PlayerActionPixAirEquipEnchant => {
                "PlayerActionType_PlayerActionPixAirEquipEnchant"
            }
            Self::PlayerActionPixAirCoinChange => {
                "PlayerActionType_PlayerActionPixAirCoinChange"
            }
            Self::PlayerActionPixAirStageSettle => {
                "PlayerActionType_PlayerActionPixAirStageSettle"
            }
            Self::PlayerActionExpeditionBattleGameStart => {
                "PlayerActionType_PlayerActionExpeditionBattleGameStart"
            }
            Self::PlayerActionExpeditionBattleGameEnd => {
                "PlayerActionType_PlayerActionExpeditionBattleGameEnd"
            }
            Self::PlayerActionChenLingFesLevelStart => {
                "PlayerActionType_PlayerActionChenLingFesLevelStart"
            }
            Self::PlayerActionChenLingFesBusinessDayEnd => {
                "PlayerActionType_PlayerActionChenLingFesBusinessDayEnd"
            }
            Self::PlayerActionChenLingFesPhaseSettle => {
                "PlayerActionType_PlayerActionChenLingFesPhaseSettle"
            }
            Self::PlayerActionChenLingFesLevelSettle => {
                "PlayerActionType_PlayerActionChenLingFesLevelSettle"
            }
            Self::PlayerActionChooseDeliveryChoose => {
                "PlayerActionType_PlayerActionChooseDeliveryChoose"
            }
            Self::PlayerActionTeamTowersPveEnd => {
                "PlayerActionType_PlayerActionTeamTowersPveEnd"
            }
            Self::PlayerActionTeamTowersPvpStart => {
                "PlayerActionType_PlayerActionTeamTowersPvpStart"
            }
            Self::PlayerActionTeamTowersPvpEnd => {
                "PlayerActionType_PlayerActionTeamTowersPvpEnd"
            }
        }
    }
    /// 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_PlayerActionSubMissionReward2" => {
                Some(Self::PlayerActionSubMissionReward2)
            }
            "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_PlayerActionChallengeTierceRecommendLineup" => {
                Some(Self::PlayerActionChallengeTierceRecommendLineup)
            }
            "PlayerActionType_PlayerActionChallengeTierceStart" => {
                Some(Self::PlayerActionChallengeTierceStart)
            }
            "PlayerActionType_PlayerActionChallengeTierceBattleEnd" => {
                Some(Self::PlayerActionChallengeTierceBattleEnd)
            }
            "PlayerActionType_PlayerActionChallengeTierceStageSettle" => {
                Some(Self::PlayerActionChallengeTierceStageSettle)
            }
            "PlayerActionType_PlayerActionChallengeTierceGradeReset" => {
                Some(Self::PlayerActionChallengeTierceGradeReset)
            }
            "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_PlayerActionPlayerReturnCustomRelic" => {
                Some(Self::PlayerActionPlayerReturnCustomRelic)
            }
            "PlayerActionType_PlayerActionPlayerReturnAssistChange" => {
                Some(Self::PlayerActionPlayerReturnAssistChange)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivityStart" => {
                Some(Self::PlayerActionRogueChallengeActivityStart)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivityFinish" => {
                Some(Self::PlayerActionRogueChallengeActivityFinish)
            }
            "PlayerActionType_PlayerActionRogueChallengeActivitySave" => {
                Some(Self::PlayerActionRogueChallengeActivitySave)
            }
            "PlayerActionType_PlayerActionPlayerReturnLoginMail" => {
                Some(Self::PlayerActionPlayerReturnLoginMail)
            }
            "PlayerActionType_PlayerActionPlayerReturnExtraHcoinProgressChange" => {
                Some(Self::PlayerActionPlayerReturnExtraHcoinProgressChange)
            }
            "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_PlayerActionRogueTournPersonaStyleExpChange" => {
                Some(Self::PlayerActionRogueTournPersonaStyleExpChange)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStyleSelect" => {
                Some(Self::PlayerActionRogueTournPersonaStyleSelect)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStartLevel" => {
                Some(Self::PlayerActionRogueTournPersonaStartLevel)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaFinishLevel" => {
                Some(Self::PlayerActionRogueTournPersonaFinishLevel)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaEnterRoom" => {
                Some(Self::PlayerActionRogueTournPersonaEnterRoom)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaLeaveRoom" => {
                Some(Self::PlayerActionRogueTournPersonaLeaveRoom)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStageBegin" => {
                Some(Self::PlayerActionRogueTournPersonaStageBegin)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStageEnd" => {
                Some(Self::PlayerActionRogueTournPersonaStageEnd)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaArchiveSave" => {
                Some(Self::PlayerActionRogueTournPersonaArchiveSave)
            }
            "PlayerActionType_PlayerActionRogueTournHexEquipmentChange" => {
                Some(Self::PlayerActionRogueTournHexEquipmentChange)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardChange" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardChange)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardLevelChange" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardLevelChange)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardAttributeChange" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardAttributeChange)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardSelect" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardSelect)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardWash" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardWash)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelect" => {
                Some(Self::PlayerActionRogueTournPersonaStyleGiftSelect)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelectRefresh" => {
                Some(Self::PlayerActionRogueTournPersonaStyleGiftSelectRefresh)
            }
            "PlayerActionType_PlayerActionRogueTournPersonaRoomCardReroll" => {
                Some(Self::PlayerActionRogueTournPersonaRoomCardReroll)
            }
            "PlayerActionType_PlayerActionRogueTournMiracleStatusChange" => {
                Some(Self::PlayerActionRogueTournMiracleStatusChange)
            }
            "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_PlayerActionDiceCombatV2Settle" => {
                Some(Self::PlayerActionDiceCombatV2Settle)
            }
            "PlayerActionType_PlayerActionTeamTowersSettle" => {
                Some(Self::PlayerActionTeamTowersSettle)
            }
            "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_PlayerActionPlayerRoomDisplayAreaChange" => {
                Some(Self::PlayerActionPlayerRoomDisplayAreaChange)
            }
            "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_PlayerActionGridFightFormationEdit" => {
                Some(Self::PlayerActionGridFightFormationEdit)
            }
            "PlayerActionType_PlayerActionGridFightModifierUpdate" => {
                Some(Self::PlayerActionGridFightModifierUpdate)
            }
            "PlayerActionType_PlayerActionGridFightFormationUgcUpdate" => {
                Some(Self::PlayerActionGridFightFormationUgcUpdate)
            }
            "PlayerActionType_PlayerActionGridFightPartnerRoleChoose" => {
                Some(Self::PlayerActionGridFightPartnerRoleChoose)
            }
            "PlayerActionType_PlayerActionGridFightPrayQuestSelect" => {
                Some(Self::PlayerActionGridFightPrayQuestSelect)
            }
            "PlayerActionType_PlayerActionGridFightPrayQuestFinish" => {
                Some(Self::PlayerActionGridFightPrayQuestFinish)
            }
            "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_PlayerActionLlmChat" => Some(Self::PlayerActionLlmChat),
            "PlayerActionType_PlayerActionLlmChatNextQuestion" => {
                Some(Self::PlayerActionLlmChatNextQuestion)
            }
            "PlayerActionType_PlayerActionLlmChatFeedback" => {
                Some(Self::PlayerActionLlmChatFeedback)
            }
            "PlayerActionType_PlayerActionAiPamChatPointChange" => {
                Some(Self::PlayerActionAiPamChatPointChange)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchCatGodInteract" => {
                Some(Self::PlayerActionTrainCakeCatchCatGodInteract)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchOpenBox" => {
                Some(Self::PlayerActionTrainCakeCatchOpenBox)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchSearchCat" => {
                Some(Self::PlayerActionTrainCakeCatchSearchCat)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchUnlockPerformance" => {
                Some(Self::PlayerActionTrainCakeCatchUnlockPerformance)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchUpdateDiyInfo" => {
                Some(Self::PlayerActionTrainCakeCatchUpdateDiyInfo)
            }
            "PlayerActionType_PlayerActionSocialPlayTalk" => {
                Some(Self::PlayerActionSocialPlayTalk)
            }
            "PlayerActionType_PlayerActionSocialPlayKickOutPlayer" => {
                Some(Self::PlayerActionSocialPlayKickOutPlayer)
            }
            "PlayerActionType_PlayerActionSocialPlayPopularityValue" => {
                Some(Self::PlayerActionSocialPlayPopularityValue)
            }
            "PlayerActionType_PlayerActionSocialPlayLeaveRoom" => {
                Some(Self::PlayerActionSocialPlayLeaveRoom)
            }
            "PlayerActionType_PlayerActionSocialPlayEnterRoom" => {
                Some(Self::PlayerActionSocialPlayEnterRoom)
            }
            "PlayerActionType_PlayerActionTrainCakeCatchCatGodAppear" => {
                Some(Self::PlayerActionTrainCakeCatchCatGodAppear)
            }
            "PlayerActionType_PlayerActionIdleLiveUpgradeTeamSlot" => {
                Some(Self::PlayerActionIdleLiveUpgradeTeamSlot)
            }
            "PlayerActionType_PlayerActionIdleLiveFinishSubNode" => {
                Some(Self::PlayerActionIdleLiveFinishSubNode)
            }
            "PlayerActionType_PlayerActionIdleLiveFinishChapterFinalAct" => {
                Some(Self::PlayerActionIdleLiveFinishChapterFinalAct)
            }
            "PlayerActionType_PlayerActionIdleLiveCollectIncome" => {
                Some(Self::PlayerActionIdleLiveCollectIncome)
            }
            "PlayerActionType_PlayerActionIdleLiveOpenChest" => {
                Some(Self::PlayerActionIdleLiveOpenChest)
            }
            "PlayerActionType_PlayerActionIdleLiveTakeTaskReward" => {
                Some(Self::PlayerActionIdleLiveTakeTaskReward)
            }
            "PlayerActionType_PlayerActionIdleLiveTechTreeChange" => {
                Some(Self::PlayerActionIdleLiveTechTreeChange)
            }
            "PlayerActionType_PlayerActionIdleLiveModifyCustomTitle" => {
                Some(Self::PlayerActionIdleLiveModifyCustomTitle)
            }
            "PlayerActionType_PlayerActionIdleLiveCatchUpReward" => {
                Some(Self::PlayerActionIdleLiveCatchUpReward)
            }
            "PlayerActionType_PlayerActionIdleLiveTakeMessageReward" => {
                Some(Self::PlayerActionIdleLiveTakeMessageReward)
            }
            "PlayerActionType_PlayerActionIdleLiveTakeGiftReward" => {
                Some(Self::PlayerActionIdleLiveTakeGiftReward)
            }
            "PlayerActionType_PlayerActionIdleLiveEndDungeon" => {
                Some(Self::PlayerActionIdleLiveEndDungeon)
            }
            "PlayerActionType_PlayerActionIdleLiveActivityInit" => {
                Some(Self::PlayerActionIdleLiveActivityInit)
            }
            "PlayerActionType_PlayerActionIdleLiveEquipDiscard" => {
                Some(Self::PlayerActionIdleLiveEquipDiscard)
            }
            "PlayerActionType_PlayerActionIdleLiveDoGacha" => {
                Some(Self::PlayerActionIdleLiveDoGacha)
            }
            "PlayerActionType_PlayerActionIdleLiveAddAvatar" => {
                Some(Self::PlayerActionIdleLiveAddAvatar)
            }
            "PlayerActionType_PlayerActionIdleLiveTaskChange" => {
                Some(Self::PlayerActionIdleLiveTaskChange)
            }
            "PlayerActionType_PlayerActionIdleLiveReplaceTeam" => {
                Some(Self::PlayerActionIdleLiveReplaceTeam)
            }
            "PlayerActionType_PlayerActionIdleLiveHandleNormalEquip" => {
                Some(Self::PlayerActionIdleLiveHandleNormalEquip)
            }
            "PlayerActionType_PlayerActionIdleLiveUpgradeSpecialEquip" => {
                Some(Self::PlayerActionIdleLiveUpgradeSpecialEquip)
            }
            "PlayerActionType_PlayerActionIdleLiveDressSpecialEquip" => {
                Some(Self::PlayerActionIdleLiveDressSpecialEquip)
            }
            "PlayerActionType_PlayerActionIdleLiveAddItem" => {
                Some(Self::PlayerActionIdleLiveAddItem)
            }
            "PlayerActionType_PlayerActionIdleLiveQuestionChange" => {
                Some(Self::PlayerActionIdleLiveQuestionChange)
            }
            "PlayerActionType_PlayerActionIdleLiveStartNodeBattle" => {
                Some(Self::PlayerActionIdleLiveStartNodeBattle)
            }
            "PlayerActionType_PlayerActionIdleLiveFinishNodeBattle" => {
                Some(Self::PlayerActionIdleLiveFinishNodeBattle)
            }
            "PlayerActionType_PlayerActionIdleLiveFinishNode" => {
                Some(Self::PlayerActionIdleLiveFinishNode)
            }
            "PlayerActionType_PlayerActionIdleLiveMessageChange" => {
                Some(Self::PlayerActionIdleLiveMessageChange)
            }
            "PlayerActionType_PlayerActionNewYearBoatTakeReward" => {
                Some(Self::PlayerActionNewYearBoatTakeReward)
            }
            "PlayerActionType_PlayerActionNewYearBoatSelectBoat" => {
                Some(Self::PlayerActionNewYearBoatSelectBoat)
            }
            "PlayerActionType_PlayerActionNewYearBoatPeriodSettle" => {
                Some(Self::PlayerActionNewYearBoatPeriodSettle)
            }
            "PlayerActionType_PlayerActionBenefitV2ActivityTakeReward" => {
                Some(Self::PlayerActionBenefitV2ActivityTakeReward)
            }
            "PlayerActionType_PlayerActionBenefitV2ActivityDraw" => {
                Some(Self::PlayerActionBenefitV2ActivityDraw)
            }
            "PlayerActionType_PlayerActionJukeboxSetting" => {
                Some(Self::PlayerActionJukeboxSetting)
            }
            "PlayerActionType_PlayerActionJukeboxSettingReset" => {
                Some(Self::PlayerActionJukeboxSettingReset)
            }
            "PlayerActionType_PlayerActionDiceCombatV2FinishPveStage" => {
                Some(Self::PlayerActionDiceCombatV2FinishPveStage)
            }
            "PlayerActionType_PlayerActionDiceCombatV2Begin" => {
                Some(Self::PlayerActionDiceCombatV2Begin)
            }
            "PlayerActionType_PlayerActionDiceCombatV2TurnEnd" => {
                Some(Self::PlayerActionDiceCombatV2TurnEnd)
            }
            "PlayerActionType_PlayerActionDiceCombatV2End" => {
                Some(Self::PlayerActionDiceCombatV2End)
            }
            "PlayerActionType_PlayerActionDiceCombatV2TacticsPointChange" => {
                Some(Self::PlayerActionDiceCombatV2TacticsPointChange)
            }
            "PlayerActionType_PlayerActionDiceCombatV2TacticsCardChange" => {
                Some(Self::PlayerActionDiceCombatV2TacticsCardChange)
            }
            "PlayerActionType_PlayerActionDiceCombatV2DiceChangeRequest" => {
                Some(Self::PlayerActionDiceCombatV2DiceChangeRequest)
            }
            "PlayerActionType_PlayerActionDiceCombatV2DiceChange" => {
                Some(Self::PlayerActionDiceCombatV2DiceChange)
            }
            "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)
            }
            "PlayerActionType_PlayerActionChenLingBattleActivatePrivilege" => {
                Some(Self::PlayerActionChenLingBattleActivatePrivilege)
            }
            "PlayerActionType_PlayerActionChenLingBattleConquerLevelUp" => {
                Some(Self::PlayerActionChenLingBattleConquerLevelUp)
            }
            "PlayerActionType_PlayerActionChenLingBattleStartStage" => {
                Some(Self::PlayerActionChenLingBattleStartStage)
            }
            "PlayerActionType_PlayerActionChenLingBattleSettleStage" => {
                Some(Self::PlayerActionChenLingBattleSettleStage)
            }
            "PlayerActionType_PlayerActionChenLingBattleStartBattle" => {
                Some(Self::PlayerActionChenLingBattleStartBattle)
            }
            "PlayerActionType_PlayerActionChenLingBattleFinishBattle" => {
                Some(Self::PlayerActionChenLingBattleFinishBattle)
            }
            "PlayerActionType_PlayerActionChenLingBattleFinishWave" => {
                Some(Self::PlayerActionChenLingBattleFinishWave)
            }
            "PlayerActionType_PlayerActionChenLingBattleSelectCard" => {
                Some(Self::PlayerActionChenLingBattleSelectCard)
            }
            "PlayerActionType_PlayerActionChenLingBattleRefreshCard" => {
                Some(Self::PlayerActionChenLingBattleRefreshCard)
            }
            "PlayerActionType_PlayerActionChenLingBattleBuyShopItem" => {
                Some(Self::PlayerActionChenLingBattleBuyShopItem)
            }
            "PlayerActionType_PlayerActionChenLingBattleRefreshShop" => {
                Some(Self::PlayerActionChenLingBattleRefreshShop)
            }
            "PlayerActionType_PlayerActionChenLingBattleSelectPolicy" => {
                Some(Self::PlayerActionChenLingBattleSelectPolicy)
            }
            "PlayerActionType_PlayerActionChenLingBattleRefreshPolicy" => {
                Some(Self::PlayerActionChenLingBattleRefreshPolicy)
            }
            "PlayerActionType_PlayerActionChenLingBattleAddHandCard" => {
                Some(Self::PlayerActionChenLingBattleAddHandCard)
            }
            "PlayerActionType_PlayerActionChenLingBattleUseHandCard" => {
                Some(Self::PlayerActionChenLingBattleUseHandCard)
            }
            "PlayerActionType_PlayerActionChenLingBattleSellHandCard" => {
                Some(Self::PlayerActionChenLingBattleSellHandCard)
            }
            "PlayerActionType_PlayerActionChenLingBattleEntityUpgrade" => {
                Some(Self::PlayerActionChenLingBattleEntityUpgrade)
            }
            "PlayerActionType_PlayerActionChenLingBattleCloneEntity" => {
                Some(Self::PlayerActionChenLingBattleCloneEntity)
            }
            "PlayerActionType_PlayerActionCycleScoreChange" => {
                Some(Self::PlayerActionCycleScoreChange)
            }
            "PlayerActionType_PlayerActionCycleScoreTakeReward" => {
                Some(Self::PlayerActionCycleScoreTakeReward)
            }
            "PlayerActionType_PlayerActionFateRinFightStart" => {
                Some(Self::PlayerActionFateRinFightStart)
            }
            "PlayerActionType_PlayerActionFateRinFightEnd" => {
                Some(Self::PlayerActionFateRinFightEnd)
            }
            "PlayerActionType_PlayerActionFateRinDeckModify" => {
                Some(Self::PlayerActionFateRinDeckModify)
            }
            "PlayerActionType_PlayerActionRelicPresetPlanSave" => {
                Some(Self::PlayerActionRelicPresetPlanSave)
            }
            "PlayerActionType_PlayerActionRelicPresetPlanDelete" => {
                Some(Self::PlayerActionRelicPresetPlanDelete)
            }
            "PlayerActionType_PlayerActionRelicPresetPlanModifyName" => {
                Some(Self::PlayerActionRelicPresetPlanModifyName)
            }
            "PlayerActionType_PlayerActionPixAirUnlockPlane" => {
                Some(Self::PlayerActionPixAirUnlockPlane)
            }
            "PlayerActionType_PlayerActionPixAirStageStart" => {
                Some(Self::PlayerActionPixAirStageStart)
            }
            "PlayerActionType_PlayerActionPixAirBattleGen" => {
                Some(Self::PlayerActionPixAirBattleGen)
            }
            "PlayerActionType_PlayerActionPixAirBattleEnd" => {
                Some(Self::PlayerActionPixAirBattleEnd)
            }
            "PlayerActionType_PlayerActionPixAirLootEquipSelect" => {
                Some(Self::PlayerActionPixAirLootEquipSelect)
            }
            "PlayerActionType_PlayerActionPixAirBuyEquip" => {
                Some(Self::PlayerActionPixAirBuyEquip)
            }
            "PlayerActionType_PlayerActionPixAirRefreshShop" => {
                Some(Self::PlayerActionPixAirRefreshShop)
            }
            "PlayerActionType_PlayerActionPixAirNodeSelectContent" => {
                Some(Self::PlayerActionPixAirNodeSelectContent)
            }
            "PlayerActionType_PlayerActionPixAirGrantReward" => {
                Some(Self::PlayerActionPixAirGrantReward)
            }
            "PlayerActionType_PlayerActionPixAirEvent" => {
                Some(Self::PlayerActionPixAirEvent)
            }
            "PlayerActionType_PlayerActionPixAirNewEquip" => {
                Some(Self::PlayerActionPixAirNewEquip)
            }
            "PlayerActionType_PlayerActionPixAirSellEquip" => {
                Some(Self::PlayerActionPixAirSellEquip)
            }
            "PlayerActionType_PlayerActionPixAirEquipUpgrade" => {
                Some(Self::PlayerActionPixAirEquipUpgrade)
            }
            "PlayerActionType_PlayerActionPixAirEquipEnchant" => {
                Some(Self::PlayerActionPixAirEquipEnchant)
            }
            "PlayerActionType_PlayerActionPixAirCoinChange" => {
                Some(Self::PlayerActionPixAirCoinChange)
            }
            "PlayerActionType_PlayerActionPixAirStageSettle" => {
                Some(Self::PlayerActionPixAirStageSettle)
            }
            "PlayerActionType_PlayerActionExpeditionBattleGameStart" => {
                Some(Self::PlayerActionExpeditionBattleGameStart)
            }
            "PlayerActionType_PlayerActionExpeditionBattleGameEnd" => {
                Some(Self::PlayerActionExpeditionBattleGameEnd)
            }
            "PlayerActionType_PlayerActionChenLingFesLevelStart" => {
                Some(Self::PlayerActionChenLingFesLevelStart)
            }
            "PlayerActionType_PlayerActionChenLingFesBusinessDayEnd" => {
                Some(Self::PlayerActionChenLingFesBusinessDayEnd)
            }
            "PlayerActionType_PlayerActionChenLingFesPhaseSettle" => {
                Some(Self::PlayerActionChenLingFesPhaseSettle)
            }
            "PlayerActionType_PlayerActionChenLingFesLevelSettle" => {
                Some(Self::PlayerActionChenLingFesLevelSettle)
            }
            "PlayerActionType_PlayerActionChooseDeliveryChoose" => {
                Some(Self::PlayerActionChooseDeliveryChoose)
            }
            "PlayerActionType_PlayerActionTeamTowersPveEnd" => {
                Some(Self::PlayerActionTeamTowersPveEnd)
            }
            "PlayerActionType_PlayerActionTeamTowersPvpStart" => {
                Some(Self::PlayerActionTeamTowersPvpStart)
            }
            "PlayerActionType_PlayerActionTeamTowersPvpEnd" => {
                Some(Self::PlayerActionTeamTowersPvpEnd)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChatType {
    None = 0,
    Private = 1,
    Group = 2,
}
impl ChatType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::None => "CHAT_TYPE_NONE",
            Self::Private => "CHAT_TYPE_PRIVATE",
            Self::Group => "CHAT_TYPE_GROUP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHAT_TYPE_NONE" => Some(Self::None),
            "CHAT_TYPE_PRIVATE" => Some(Self::Private),
            "CHAT_TYPE_GROUP" => Some(Self::Group),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MsgType {
    None = 0,
    CustomText = 1,
    Emoji = 2,
    Invite = 3,
    PlanetFes = 4,
    Acielmolelb = 5,
    Bgdmlgdmdif = 6,
    Mglplopecgj = 7,
    Ppgbfmogahc = 8,
    Baekhohllkj = 9,
    Mjieabmbedp = 10,
}
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",
            Self::Bgdmlgdmdif => "MSG_TYPE_BGDMLGDMDIF",
            Self::Mglplopecgj => "MSG_TYPE_MGLPLOPECGJ",
            Self::Ppgbfmogahc => "MSG_TYPE_PPGBFMOGAHC",
            Self::Baekhohllkj => "MSG_TYPE_BAEKHOHLLKJ",
            Self::Mjieabmbedp => "MSG_TYPE_MJIEABMBEDP",
        }
    }
    /// 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),
            "MSG_TYPE_BGDMLGDMDIF" => Some(Self::Bgdmlgdmdif),
            "MSG_TYPE_MGLPLOPECGJ" => Some(Self::Mglplopecgj),
            "MSG_TYPE_PPGBFMOGAHC" => Some(Self::Ppgbfmogahc),
            "MSG_TYPE_BAEKHOHLLKJ" => Some(Self::Baekhohllkj),
            "MSG_TYPE_MJIEABMBEDP" => Some(Self::Mjieabmbedp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Abcpjbmiacc {
    Delpnhaafcn = 0,
    Cnodjpidhem = 1,
    Ejjpljnllnk = 2,
}
impl Abcpjbmiacc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Delpnhaafcn => "ABCPJBMIACC_DELPNHAAFCN",
            Self::Cnodjpidhem => "ABCPJBMIACC_CNODJPIDHEM",
            Self::Ejjpljnllnk => "ABCPJBMIACC_EJJPLJNLLNK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABCPJBMIACC_DELPNHAAFCN" => Some(Self::Delpnhaafcn),
            "ABCPJBMIACC_CNODJPIDHEM" => Some(Self::Cnodjpidhem),
            "ABCPJBMIACC_EJJPLJNLLNK" => Some(Self::Ejjpljnllnk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pjcmneniehh {
    Nlcdgipgfdj = 0,
    Kpilfmmnigo = 1,
    Ggjpemfeblb = 2,
    Cimneoakbjh = 3,
    Bomdaikiplp = 4,
}
impl Pjcmneniehh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PJCMNENIEHH_NLCDGIPGFDJ",
            Self::Kpilfmmnigo => "PJCMNENIEHH_KPILFMMNIGO",
            Self::Ggjpemfeblb => "PJCMNENIEHH_GGJPEMFEBLB",
            Self::Cimneoakbjh => "PJCMNENIEHH_CIMNEOAKBJH",
            Self::Bomdaikiplp => "PJCMNENIEHH_BOMDAIKIPLP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PJCMNENIEHH_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PJCMNENIEHH_KPILFMMNIGO" => Some(Self::Kpilfmmnigo),
            "PJCMNENIEHH_GGJPEMFEBLB" => Some(Self::Ggjpemfeblb),
            "PJCMNENIEHH_CIMNEOAKBJH" => Some(Self::Cimneoakbjh),
            "PJCMNENIEHH_BOMDAIKIPLP" => Some(Self::Bomdaikiplp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dkopgdpkjhb {
    Cgbikocdabb = 0,
    Aljchaaiphg = 1,
    Coebiaoacfm = 2,
    Fkoikjfaikf = 3,
    Diemgoichlo = 4,
    Khjhneofnlj = 5,
    Efohjenlode = 6,
    Hjhcdchokjg = 7,
    Ihhckddfkjl = 8,
}
impl Dkopgdpkjhb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cgbikocdabb => "DKOPGDPKJHB_CGBIKOCDABB",
            Self::Aljchaaiphg => "DKOPGDPKJHB_ALJCHAAIPHG",
            Self::Coebiaoacfm => "DKOPGDPKJHB_COEBIAOACFM",
            Self::Fkoikjfaikf => "DKOPGDPKJHB_FKOIKJFAIKF",
            Self::Diemgoichlo => "DKOPGDPKJHB_DIEMGOICHLO",
            Self::Khjhneofnlj => "DKOPGDPKJHB_KHJHNEOFNLJ",
            Self::Efohjenlode => "DKOPGDPKJHB_EFOHJENLODE",
            Self::Hjhcdchokjg => "DKOPGDPKJHB_HJHCDCHOKJG",
            Self::Ihhckddfkjl => "DKOPGDPKJHB_IHHCKDDFKJL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DKOPGDPKJHB_CGBIKOCDABB" => Some(Self::Cgbikocdabb),
            "DKOPGDPKJHB_ALJCHAAIPHG" => Some(Self::Aljchaaiphg),
            "DKOPGDPKJHB_COEBIAOACFM" => Some(Self::Coebiaoacfm),
            "DKOPGDPKJHB_FKOIKJFAIKF" => Some(Self::Fkoikjfaikf),
            "DKOPGDPKJHB_DIEMGOICHLO" => Some(Self::Diemgoichlo),
            "DKOPGDPKJHB_KHJHNEOFNLJ" => Some(Self::Khjhneofnlj),
            "DKOPGDPKJHB_EFOHJENLODE" => Some(Self::Efohjenlode),
            "DKOPGDPKJHB_HJHCDCHOKJG" => Some(Self::Hjhcdchokjg),
            "DKOPGDPKJHB_IHHCKDDFKJL" => Some(Self::Ihhckddfkjl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbolbaneano {
    Nlcdgipgfdj = 0,
    Akjbecphijk = 1,
    Mpfmlhdkkel = 2,
}
impl Cbolbaneano {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "CBOLBANEANO_NLCDGIPGFDJ",
            Self::Akjbecphijk => "CBOLBANEANO_AKJBECPHIJK",
            Self::Mpfmlhdkkel => "CBOLBANEANO_MPFMLHDKKEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CBOLBANEANO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "CBOLBANEANO_AKJBECPHIJK" => Some(Self::Akjbecphijk),
            "CBOLBANEANO_MPFMLHDKKEL" => Some(Self::Mpfmlhdkkel),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fknknlgmacl {
    Nlcdgipgfdj = 0,
    Lmbimaobgpo = 1,
    Npdognapcee = 2,
}
impl Fknknlgmacl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FKNKNLGMACL_NLCDGIPGFDJ",
            Self::Lmbimaobgpo => "FKNKNLGMACL_LMBIMAOBGPO",
            Self::Npdognapcee => "FKNKNLGMACL_NPDOGNAPCEE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FKNKNLGMACL_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FKNKNLGMACL_LMBIMAOBGPO" => Some(Self::Lmbimaobgpo),
            "FKNKNLGMACL_NPDOGNAPCEE" => Some(Self::Npdognapcee),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hcmeilllkbd {
    Nlcdgipgfdj = 0,
    Jdoaipkbipe = 1,
    Ggbmaanjnjc = 2,
}
impl Hcmeilllkbd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "HCMEILLLKBD_NLCDGIPGFDJ",
            Self::Jdoaipkbipe => "HCMEILLLKBD_JDOAIPKBIPE",
            Self::Ggbmaanjnjc => "HCMEILLLKBD_GGBMAANJNJC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HCMEILLLKBD_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "HCMEILLLKBD_JDOAIPKBIPE" => Some(Self::Jdoaipkbipe),
            "HCMEILLLKBD_GGBMAANJNJC" => Some(Self::Ggbmaanjnjc),
            _ => 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: JEOPNAHLJHA
#[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: PlatformType
#[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: ReloginType
#[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: AvatarType
#[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,
    AvatarGljdndmigip = 8,
    Gpmnkeoadpi = 9,
}
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::AvatarGljdndmigip => "AVATAR_GLJDNDMIGIP",
            Self::Gpmnkeoadpi => "AvatarType_GPMNKEOADPI",
        }
    }
    /// 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),
            "AVATAR_GLJDNDMIGIP" => Some(Self::AvatarGljdndmigip),
            "AvatarType_GPMNKEOADPI" => Some(Self::Gpmnkeoadpi),
            _ => None,
        }
    }
}
/// Obf: MultiPathAvatarType
#[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,
    BoyElationType = 8009,
    GirlElationType = 8010,
}
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",
            Self::BoyElationType => "BoyElationType",
            Self::GirlElationType => "GirlElationType",
        }
    }
    /// 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),
            "BoyElationType" => Some(Self::BoyElationType),
            "GirlElationType" => Some(Self::GirlElationType),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Enhebgdpdbb {
    Hmainklhnhh = 0,
    Mjfjdccbnnd = 1,
    Kgmpljnogne = 32,
}
impl Enhebgdpdbb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hmainklhnhh => "ENHEBGDPDBB_HMAINKLHNHH",
            Self::Mjfjdccbnnd => "ENHEBGDPDBB_MJFJDCCBNND",
            Self::Kgmpljnogne => "ENHEBGDPDBB_KGMPLJNOGNE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENHEBGDPDBB_HMAINKLHNHH" => Some(Self::Hmainklhnhh),
            "ENHEBGDPDBB_MJFJDCCBNND" => Some(Self::Mjfjdccbnnd),
            "ENHEBGDPDBB_KGMPLJNOGNE" => Some(Self::Kgmpljnogne),
            _ => None,
        }
    }
}
/// Obf: Gender
#[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 Dcmcblmfkob {
    Chcpoelffdd = 0,
    Dgapkcndhpg = 1,
    Jkilkpagkij = 2,
    Bjehkdejbja = 3,
    Gdmoeijcllc = 4,
}
impl Dcmcblmfkob {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Chcpoelffdd => "DCMCBLMFKOB_CHCPOELFFDD",
            Self::Dgapkcndhpg => "DCMCBLMFKOB_DGAPKCNDHPG",
            Self::Jkilkpagkij => "DCMCBLMFKOB_JKILKPAGKIJ",
            Self::Bjehkdejbja => "DCMCBLMFKOB_BJEHKDEJBJA",
            Self::Gdmoeijcllc => "DCMCBLMFKOB_GDMOEIJCLLC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DCMCBLMFKOB_CHCPOELFFDD" => Some(Self::Chcpoelffdd),
            "DCMCBLMFKOB_DGAPKCNDHPG" => Some(Self::Dgapkcndhpg),
            "DCMCBLMFKOB_JKILKPAGKIJ" => Some(Self::Jkilkpagkij),
            "DCMCBLMFKOB_BJEHKDEJBJA" => Some(Self::Bjehkdejbja),
            "DCMCBLMFKOB_GDMOEIJCLLC" => Some(Self::Gdmoeijcllc),
            _ => None,
        }
    }
}
/// Obf: ProductGiftType
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ProductGiftType {
    ProductGiftNone = 0,
    ProductGiftCoin = 1,
    ProductGiftMonthCard = 2,
    ProductGiftBp68 = 3,
    ProductGiftBp128 = 4,
    ProductGiftBp68Upgrade128 = 5,
    ProductGiftPointCard = 6,
    ProductGiftPsPreOrder1 = 7,
    ProductGiftPsPreOrder2 = 8,
    ProductGiftGooglePoints100 = 9,
    ProductGiftGooglePoints150 = 10,
    ProductGiftPsPointCard030 = 11,
    ProductGiftPsPointCard050 = 12,
    ProductGiftPsPointCard100 = 13,
    ProductGiftPsnPlus = 14,
    ProductGiftSingle6 = 15,
    ProductGiftDailyLogin30 = 16,
    ProductGiftAppleGiftCard = 17,
    ProductGiftFtcUpGachaTicket1 = 18,
    ProductGiftFtcUpGachaTicket10 = 19,
    ProductGiftFtcNormalGachaTicket1 = 20,
    ProductGiftFtcNormalGachaTicket10 = 21,
    ProductGiftTicket10 = 22,
    EjebhiikajfDbiadngnfmd = 23,
    Oolbpmejang = 24,
    Nkjadafifik = 25,
}
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::ProductGiftNone => "PRODUCT_GIFT_NONE",
            Self::ProductGiftCoin => "PRODUCT_GIFT_COIN",
            Self::ProductGiftMonthCard => "PRODUCT_GIFT_MONTH_CARD",
            Self::ProductGiftBp68 => "PRODUCT_GIFT_BP_68",
            Self::ProductGiftBp128 => "PRODUCT_GIFT_BP_128",
            Self::ProductGiftBp68Upgrade128 => "PRODUCT_GIFT_BP68_UPGRADE_128",
            Self::ProductGiftPointCard => "PRODUCT_GIFT_POINT_CARD",
            Self::ProductGiftPsPreOrder1 => "PRODUCT_GIFT_PS_PRE_ORDER_1",
            Self::ProductGiftPsPreOrder2 => "PRODUCT_GIFT_PS_PRE_ORDER_2",
            Self::ProductGiftGooglePoints100 => "PRODUCT_GIFT_GOOGLE_POINTS_100",
            Self::ProductGiftGooglePoints150 => "PRODUCT_GIFT_GOOGLE_POINTS_150",
            Self::ProductGiftPsPointCard030 => "PRODUCT_GIFT_PS_POINT_CARD_030",
            Self::ProductGiftPsPointCard050 => "PRODUCT_GIFT_PS_POINT_CARD_050",
            Self::ProductGiftPsPointCard100 => "PRODUCT_GIFT_PS_POINT_CARD_100",
            Self::ProductGiftPsnPlus => "PRODUCT_GIFT_PSN_PLUS",
            Self::ProductGiftSingle6 => "PRODUCT_GIFT_SINGLE_6",
            Self::ProductGiftDailyLogin30 => "PRODUCT_GIFT_DAILY_LOGIN_30",
            Self::ProductGiftAppleGiftCard => "PRODUCT_GIFT_APPLE_GIFT_CARD",
            Self::ProductGiftFtcUpGachaTicket1 => "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_1",
            Self::ProductGiftFtcUpGachaTicket10 => "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_10",
            Self::ProductGiftFtcNormalGachaTicket1 => {
                "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_1"
            }
            Self::ProductGiftFtcNormalGachaTicket10 => {
                "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_10"
            }
            Self::ProductGiftTicket10 => "PRODUCT_GIFT_TICKET_10",
            Self::EjebhiikajfDbiadngnfmd => "EJEBHIIKAJF_DBIADNGNFMD",
            Self::Oolbpmejang => "ProductGiftType_OOLBPMEJANG",
            Self::Nkjadafifik => "ProductGiftType_NKJADAFIFIK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PRODUCT_GIFT_NONE" => Some(Self::ProductGiftNone),
            "PRODUCT_GIFT_COIN" => Some(Self::ProductGiftCoin),
            "PRODUCT_GIFT_MONTH_CARD" => Some(Self::ProductGiftMonthCard),
            "PRODUCT_GIFT_BP_68" => Some(Self::ProductGiftBp68),
            "PRODUCT_GIFT_BP_128" => Some(Self::ProductGiftBp128),
            "PRODUCT_GIFT_BP68_UPGRADE_128" => Some(Self::ProductGiftBp68Upgrade128),
            "PRODUCT_GIFT_POINT_CARD" => Some(Self::ProductGiftPointCard),
            "PRODUCT_GIFT_PS_PRE_ORDER_1" => Some(Self::ProductGiftPsPreOrder1),
            "PRODUCT_GIFT_PS_PRE_ORDER_2" => Some(Self::ProductGiftPsPreOrder2),
            "PRODUCT_GIFT_GOOGLE_POINTS_100" => Some(Self::ProductGiftGooglePoints100),
            "PRODUCT_GIFT_GOOGLE_POINTS_150" => Some(Self::ProductGiftGooglePoints150),
            "PRODUCT_GIFT_PS_POINT_CARD_030" => Some(Self::ProductGiftPsPointCard030),
            "PRODUCT_GIFT_PS_POINT_CARD_050" => Some(Self::ProductGiftPsPointCard050),
            "PRODUCT_GIFT_PS_POINT_CARD_100" => Some(Self::ProductGiftPsPointCard100),
            "PRODUCT_GIFT_PSN_PLUS" => Some(Self::ProductGiftPsnPlus),
            "PRODUCT_GIFT_SINGLE_6" => Some(Self::ProductGiftSingle6),
            "PRODUCT_GIFT_DAILY_LOGIN_30" => Some(Self::ProductGiftDailyLogin30),
            "PRODUCT_GIFT_APPLE_GIFT_CARD" => Some(Self::ProductGiftAppleGiftCard),
            "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_1" => {
                Some(Self::ProductGiftFtcUpGachaTicket1)
            }
            "PRODUCT_GIFT_FTC_UP_GACHA_TICKET_10" => {
                Some(Self::ProductGiftFtcUpGachaTicket10)
            }
            "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_1" => {
                Some(Self::ProductGiftFtcNormalGachaTicket1)
            }
            "PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_10" => {
                Some(Self::ProductGiftFtcNormalGachaTicket10)
            }
            "PRODUCT_GIFT_TICKET_10" => Some(Self::ProductGiftTicket10),
            "EJEBHIIKAJF_DBIADNGNFMD" => Some(Self::EjebhiikajfDbiadngnfmd),
            "ProductGiftType_OOLBPMEJANG" => Some(Self::Oolbpmejang),
            "ProductGiftType_NKJADAFIFIK" => Some(Self::Nkjadafifik),
            _ => None,
        }
    }
}
/// Obf: BLOHGFCFEEL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeatureSwitchType {
    BlohgfcfeelOllfdoonpph = 0,
    BlohgfcfeelCmpboefpaff = 1,
    BlohgfcfeelNpmmmjeabda = 2,
    BlohgfcfeelLdfmlgodbci = 3,
    BlohgfcfeelImfcebafaod = 4,
    BlohgfcfeelPmjogffogga = 5,
    BlohgfcfeelGmgnbikffjg = 6,
    BlohgfcfeelNehklafbdhn = 7,
    BlohgfcfeelCjlchbbleng = 8,
    BlohgfcfeelJnknfaiigmk = 9,
    BlohgfcfeelGmkiadncpni = 10,
    BlohgfcfeelMgicolcgdab = 11,
    BlohgfcfeelNgpacinnimd = 12,
    BlohgfcfeelOaiebhmhlep = 13,
    BlohgfcfeelFipdokkdaac = 14,
    BlohgfcfeelAphdkdpmeff = 15,
    BlohgfcfeelPifhpbhfbob = 16,
    BlohgfcfeelEggfikodaba = 17,
    BlohgfcfeelPhokaodfggn = 18,
    BlohgfcfeelDdjkamdefob = 19,
    BlohgfcfeelBfnchiooegi = 20,
    BlohgfcfeelEakicfjgjcg = 21,
    BlohgfcfeelJljgffjbmap = 22,
    BlohgfcfeelDbmibejdgnk = 23,
    BlohgfcfeelLihgipdamee = 24,
    BlohgfcfeelPbmefecmlbn = 25,
    BlohgfcfeelNjibbldhbpa = 26,
    BlohgfcfeelJnojkpfdene = 27,
    BlohgfcfeelHhngoaplcaj = 28,
    BlohgfcfeelPjiadefeoce = 29,
    BlohgfcfeelEljkdenklbb = 30,
    BlohgfcfeelHphlhnecbnc = 32,
    BlohgfcfeelOdbdmoccodh = 33,
    BlohgfcfeelCachilijdao = 34,
    BlohgfcfeelAeildnimlhf = 35,
    BlohgfcfeelPnlhbblodfa = 36,
    BlohgfcfeelFjbiebhjgon = 37,
    BlohgfcfeelAojppbmciej = 38,
    BlohgfcfeelMeehjjdbmkp = 39,
    BlohgfcfeelOdpbagebpgl = 40,
    BlohgfcfeelMijangmgpkl = 41,
    BlohgfcfeelCghnmchablo = 42,
    BlohgfcfeelFbkifmkmlno = 43,
    BlohgfcfeelHlfpefnlmle = 44,
    BlohgfcfeelBifdpcpbgln = 45,
    BlohgfcfeelDcpimkdcfle = 46,
    BlohgfcfeelKjdbbpehcno = 47,
    BlohgfcfeelNibgljhfmno = 48,
    BlohgfcfeelHopblplcjlo = 49,
    BlohgfcfeelFohohlfleej = 50,
    BlohgfcfeelNafkmfkgkpn = 51,
    BlohgfcfeelOiaklfcdfck = 52,
    BlohgfcfeelKfilndomnaa = 53,
    BlohgfcfeelObedffdldkd = 54,
    BlohgfcfeelFhjbilodkoo = 55,
    BlohgfcfeelIbkccgobplk = 56,
    BlohgfcfeelMjhmecnjifb = 58,
    BlohgfcfeelGifaieodmbc = 59,
    BlohgfcfeelGaljoechlaa = 60,
    BlohgfcfeelNhefhkbdcmc = 61,
    BlohgfcfeelCknefapknbd = 62,
    BlohgfcfeelFjkmnddekoa = 63,
    BlohgfcfeelFfnghdianma = 64,
    BlohgfcfeelKeeenoccnnd = 65,
    BlohgfcfeelGplcbdbkcpd = 66,
    BlohgfcfeelKefjfjdbpkg = 67,
    BlohgfcfeelAcfloionoda = 68,
    BlohgfcfeelOpgdddoggoe = 69,
    BlohgfcfeelOmbhmdbldej = 70,
    BlohgfcfeelNcihplbabnc = 71,
    BlohgfcfeelAkglhlmikmm = 72,
    BlohgfcfeelBclmechbikb = 73,
    BlohgfcfeelGebmcaoaiej = 74,
    BlohgfcfeelEggigabahpo = 75,
    BlohgfcfeelKjmdgiiopoo = 76,
    BlohgfcfeelFcjafagbglg = 77,
    BlohgfcfeelKngbcafgali = 78,
    BlohgfcfeelHggnfjckbda = 79,
    BlohgfcfeelFannnopgfbb = 80,
    BlohgfcfeelBfjnfbijinb = 81,
    BlohgfcfeelJgkmcbgfjll = 82,
    BlohgfcfeelAjbafcamemh = 83,
    BlohgfcfeelOcdkaoglbpc = 84,
    BlohgfcfeelNchiopjlmfe = 85,
    BlohgfcfeelPoeheekbhlh = 86,
    BlohgfcfeelEbgfeklfjdb = 87,
    BlohgfcfeelJojlkcighaj = 88,
    BlohgfcfeelIgbcopcfpai = 89,
    BlohgfcfeelGafeebbcoek = 90,
    BlohgfcfeelCoofldlkdfm = 91,
    BlohgfcfeelKnmalpbjljl = 92,
    BlohgfcfeelIpddhmbdlji = 93,
    BlohgfcfeelAnckmnilocg = 94,
    BlohgfcfeelKacohbejfod = 95,
    BlohgfcfeelKgmkfopkjpk = 96,
    BlohgfcfeelHbmlknfmgen = 97,
    BlohgfcfeelAfnfhmpapfn = 98,
    BlohgfcfeelMombnandpno = 99,
}
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::BlohgfcfeelOllfdoonpph => "BLOHGFCFEEL_OLLFDOONPPH",
            Self::BlohgfcfeelCmpboefpaff => "BLOHGFCFEEL_CMPBOEFPAFF",
            Self::BlohgfcfeelNpmmmjeabda => "BLOHGFCFEEL_NPMMMJEABDA",
            Self::BlohgfcfeelLdfmlgodbci => "BLOHGFCFEEL_LDFMLGODBCI",
            Self::BlohgfcfeelImfcebafaod => "BLOHGFCFEEL_IMFCEBAFAOD",
            Self::BlohgfcfeelPmjogffogga => "BLOHGFCFEEL_PMJOGFFOGGA",
            Self::BlohgfcfeelGmgnbikffjg => "BLOHGFCFEEL_GMGNBIKFFJG",
            Self::BlohgfcfeelNehklafbdhn => "BLOHGFCFEEL_NEHKLAFBDHN",
            Self::BlohgfcfeelCjlchbbleng => "BLOHGFCFEEL_CJLCHBBLENG",
            Self::BlohgfcfeelJnknfaiigmk => "BLOHGFCFEEL_JNKNFAIIGMK",
            Self::BlohgfcfeelGmkiadncpni => "BLOHGFCFEEL_GMKIADNCPNI",
            Self::BlohgfcfeelMgicolcgdab => "BLOHGFCFEEL_MGICOLCGDAB",
            Self::BlohgfcfeelNgpacinnimd => "BLOHGFCFEEL_NGPACINNIMD",
            Self::BlohgfcfeelOaiebhmhlep => "BLOHGFCFEEL_OAIEBHMHLEP",
            Self::BlohgfcfeelFipdokkdaac => "BLOHGFCFEEL_FIPDOKKDAAC",
            Self::BlohgfcfeelAphdkdpmeff => "BLOHGFCFEEL_APHDKDPMEFF",
            Self::BlohgfcfeelPifhpbhfbob => "BLOHGFCFEEL_PIFHPBHFBOB",
            Self::BlohgfcfeelEggfikodaba => "BLOHGFCFEEL_EGGFIKODABA",
            Self::BlohgfcfeelPhokaodfggn => "BLOHGFCFEEL_PHOKAODFGGN",
            Self::BlohgfcfeelDdjkamdefob => "BLOHGFCFEEL_DDJKAMDEFOB",
            Self::BlohgfcfeelBfnchiooegi => "BLOHGFCFEEL_BFNCHIOOEGI",
            Self::BlohgfcfeelEakicfjgjcg => "BLOHGFCFEEL_EAKICFJGJCG",
            Self::BlohgfcfeelJljgffjbmap => "BLOHGFCFEEL_JLJGFFJBMAP",
            Self::BlohgfcfeelDbmibejdgnk => "BLOHGFCFEEL_DBMIBEJDGNK",
            Self::BlohgfcfeelLihgipdamee => "BLOHGFCFEEL_LIHGIPDAMEE",
            Self::BlohgfcfeelPbmefecmlbn => "BLOHGFCFEEL_PBMEFECMLBN",
            Self::BlohgfcfeelNjibbldhbpa => "BLOHGFCFEEL_NJIBBLDHBPA",
            Self::BlohgfcfeelJnojkpfdene => "BLOHGFCFEEL_JNOJKPFDENE",
            Self::BlohgfcfeelHhngoaplcaj => "BLOHGFCFEEL_HHNGOAPLCAJ",
            Self::BlohgfcfeelPjiadefeoce => "BLOHGFCFEEL_PJIADEFEOCE",
            Self::BlohgfcfeelEljkdenklbb => "BLOHGFCFEEL_ELJKDENKLBB",
            Self::BlohgfcfeelHphlhnecbnc => "BLOHGFCFEEL_HPHLHNECBNC",
            Self::BlohgfcfeelOdbdmoccodh => "BLOHGFCFEEL_ODBDMOCCODH",
            Self::BlohgfcfeelCachilijdao => "BLOHGFCFEEL_CACHILIJDAO",
            Self::BlohgfcfeelAeildnimlhf => "BLOHGFCFEEL_AEILDNIMLHF",
            Self::BlohgfcfeelPnlhbblodfa => "BLOHGFCFEEL_PNLHBBLODFA",
            Self::BlohgfcfeelFjbiebhjgon => "BLOHGFCFEEL_FJBIEBHJGON",
            Self::BlohgfcfeelAojppbmciej => "BLOHGFCFEEL_AOJPPBMCIEJ",
            Self::BlohgfcfeelMeehjjdbmkp => "BLOHGFCFEEL_MEEHJJDBMKP",
            Self::BlohgfcfeelOdpbagebpgl => "BLOHGFCFEEL_ODPBAGEBPGL",
            Self::BlohgfcfeelMijangmgpkl => "BLOHGFCFEEL_MIJANGMGPKL",
            Self::BlohgfcfeelCghnmchablo => "BLOHGFCFEEL_CGHNMCHABLO",
            Self::BlohgfcfeelFbkifmkmlno => "BLOHGFCFEEL_FBKIFMKMLNO",
            Self::BlohgfcfeelHlfpefnlmle => "BLOHGFCFEEL_HLFPEFNLMLE",
            Self::BlohgfcfeelBifdpcpbgln => "BLOHGFCFEEL_BIFDPCPBGLN",
            Self::BlohgfcfeelDcpimkdcfle => "BLOHGFCFEEL_DCPIMKDCFLE",
            Self::BlohgfcfeelKjdbbpehcno => "BLOHGFCFEEL_KJDBBPEHCNO",
            Self::BlohgfcfeelNibgljhfmno => "BLOHGFCFEEL_NIBGLJHFMNO",
            Self::BlohgfcfeelHopblplcjlo => "BLOHGFCFEEL_HOPBLPLCJLO",
            Self::BlohgfcfeelFohohlfleej => "BLOHGFCFEEL_FOHOHLFLEEJ",
            Self::BlohgfcfeelNafkmfkgkpn => "BLOHGFCFEEL_NAFKMFKGKPN",
            Self::BlohgfcfeelOiaklfcdfck => "BLOHGFCFEEL_OIAKLFCDFCK",
            Self::BlohgfcfeelKfilndomnaa => "BLOHGFCFEEL_KFILNDOMNAA",
            Self::BlohgfcfeelObedffdldkd => "BLOHGFCFEEL_OBEDFFDLDKD",
            Self::BlohgfcfeelFhjbilodkoo => "BLOHGFCFEEL_FHJBILODKOO",
            Self::BlohgfcfeelIbkccgobplk => "BLOHGFCFEEL_IBKCCGOBPLK",
            Self::BlohgfcfeelMjhmecnjifb => "BLOHGFCFEEL_MJHMECNJIFB",
            Self::BlohgfcfeelGifaieodmbc => "BLOHGFCFEEL_GIFAIEODMBC",
            Self::BlohgfcfeelGaljoechlaa => "BLOHGFCFEEL_GALJOECHLAA",
            Self::BlohgfcfeelNhefhkbdcmc => "BLOHGFCFEEL_NHEFHKBDCMC",
            Self::BlohgfcfeelCknefapknbd => "BLOHGFCFEEL_CKNEFAPKNBD",
            Self::BlohgfcfeelFjkmnddekoa => "BLOHGFCFEEL_FJKMNDDEKOA",
            Self::BlohgfcfeelFfnghdianma => "BLOHGFCFEEL_FFNGHDIANMA",
            Self::BlohgfcfeelKeeenoccnnd => "BLOHGFCFEEL_KEEENOCCNND",
            Self::BlohgfcfeelGplcbdbkcpd => "BLOHGFCFEEL_GPLCBDBKCPD",
            Self::BlohgfcfeelKefjfjdbpkg => "BLOHGFCFEEL_KEFJFJDBPKG",
            Self::BlohgfcfeelAcfloionoda => "BLOHGFCFEEL_ACFLOIONODA",
            Self::BlohgfcfeelOpgdddoggoe => "BLOHGFCFEEL_OPGDDDOGGOE",
            Self::BlohgfcfeelOmbhmdbldej => "BLOHGFCFEEL_OMBHMDBLDEJ",
            Self::BlohgfcfeelNcihplbabnc => "BLOHGFCFEEL_NCIHPLBABNC",
            Self::BlohgfcfeelAkglhlmikmm => "BLOHGFCFEEL_AKGLHLMIKMM",
            Self::BlohgfcfeelBclmechbikb => "BLOHGFCFEEL_BCLMECHBIKB",
            Self::BlohgfcfeelGebmcaoaiej => "BLOHGFCFEEL_GEBMCAOAIEJ",
            Self::BlohgfcfeelEggigabahpo => "BLOHGFCFEEL_EGGIGABAHPO",
            Self::BlohgfcfeelKjmdgiiopoo => "BLOHGFCFEEL_KJMDGIIOPOO",
            Self::BlohgfcfeelFcjafagbglg => "BLOHGFCFEEL_FCJAFAGBGLG",
            Self::BlohgfcfeelKngbcafgali => "BLOHGFCFEEL_KNGBCAFGALI",
            Self::BlohgfcfeelHggnfjckbda => "BLOHGFCFEEL_HGGNFJCKBDA",
            Self::BlohgfcfeelFannnopgfbb => "BLOHGFCFEEL_FANNNOPGFBB",
            Self::BlohgfcfeelBfjnfbijinb => "BLOHGFCFEEL_BFJNFBIJINB",
            Self::BlohgfcfeelJgkmcbgfjll => "BLOHGFCFEEL_JGKMCBGFJLL",
            Self::BlohgfcfeelAjbafcamemh => "BLOHGFCFEEL_AJBAFCAMEMH",
            Self::BlohgfcfeelOcdkaoglbpc => "BLOHGFCFEEL_OCDKAOGLBPC",
            Self::BlohgfcfeelNchiopjlmfe => "BLOHGFCFEEL_NCHIOPJLMFE",
            Self::BlohgfcfeelPoeheekbhlh => "BLOHGFCFEEL_POEHEEKBHLH",
            Self::BlohgfcfeelEbgfeklfjdb => "BLOHGFCFEEL_EBGFEKLFJDB",
            Self::BlohgfcfeelJojlkcighaj => "BLOHGFCFEEL_JOJLKCIGHAJ",
            Self::BlohgfcfeelIgbcopcfpai => "BLOHGFCFEEL_IGBCOPCFPAI",
            Self::BlohgfcfeelGafeebbcoek => "BLOHGFCFEEL_GAFEEBBCOEK",
            Self::BlohgfcfeelCoofldlkdfm => "BLOHGFCFEEL_COOFLDLKDFM",
            Self::BlohgfcfeelKnmalpbjljl => "BLOHGFCFEEL_KNMALPBJLJL",
            Self::BlohgfcfeelIpddhmbdlji => "BLOHGFCFEEL_IPDDHMBDLJI",
            Self::BlohgfcfeelAnckmnilocg => "BLOHGFCFEEL_ANCKMNILOCG",
            Self::BlohgfcfeelKacohbejfod => "BLOHGFCFEEL_KACOHBEJFOD",
            Self::BlohgfcfeelKgmkfopkjpk => "BLOHGFCFEEL_KGMKFOPKJPK",
            Self::BlohgfcfeelHbmlknfmgen => "BLOHGFCFEEL_HBMLKNFMGEN",
            Self::BlohgfcfeelAfnfhmpapfn => "BLOHGFCFEEL_AFNFHMPAPFN",
            Self::BlohgfcfeelMombnandpno => "BLOHGFCFEEL_MOMBNANDPNO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BLOHGFCFEEL_OLLFDOONPPH" => Some(Self::BlohgfcfeelOllfdoonpph),
            "BLOHGFCFEEL_CMPBOEFPAFF" => Some(Self::BlohgfcfeelCmpboefpaff),
            "BLOHGFCFEEL_NPMMMJEABDA" => Some(Self::BlohgfcfeelNpmmmjeabda),
            "BLOHGFCFEEL_LDFMLGODBCI" => Some(Self::BlohgfcfeelLdfmlgodbci),
            "BLOHGFCFEEL_IMFCEBAFAOD" => Some(Self::BlohgfcfeelImfcebafaod),
            "BLOHGFCFEEL_PMJOGFFOGGA" => Some(Self::BlohgfcfeelPmjogffogga),
            "BLOHGFCFEEL_GMGNBIKFFJG" => Some(Self::BlohgfcfeelGmgnbikffjg),
            "BLOHGFCFEEL_NEHKLAFBDHN" => Some(Self::BlohgfcfeelNehklafbdhn),
            "BLOHGFCFEEL_CJLCHBBLENG" => Some(Self::BlohgfcfeelCjlchbbleng),
            "BLOHGFCFEEL_JNKNFAIIGMK" => Some(Self::BlohgfcfeelJnknfaiigmk),
            "BLOHGFCFEEL_GMKIADNCPNI" => Some(Self::BlohgfcfeelGmkiadncpni),
            "BLOHGFCFEEL_MGICOLCGDAB" => Some(Self::BlohgfcfeelMgicolcgdab),
            "BLOHGFCFEEL_NGPACINNIMD" => Some(Self::BlohgfcfeelNgpacinnimd),
            "BLOHGFCFEEL_OAIEBHMHLEP" => Some(Self::BlohgfcfeelOaiebhmhlep),
            "BLOHGFCFEEL_FIPDOKKDAAC" => Some(Self::BlohgfcfeelFipdokkdaac),
            "BLOHGFCFEEL_APHDKDPMEFF" => Some(Self::BlohgfcfeelAphdkdpmeff),
            "BLOHGFCFEEL_PIFHPBHFBOB" => Some(Self::BlohgfcfeelPifhpbhfbob),
            "BLOHGFCFEEL_EGGFIKODABA" => Some(Self::BlohgfcfeelEggfikodaba),
            "BLOHGFCFEEL_PHOKAODFGGN" => Some(Self::BlohgfcfeelPhokaodfggn),
            "BLOHGFCFEEL_DDJKAMDEFOB" => Some(Self::BlohgfcfeelDdjkamdefob),
            "BLOHGFCFEEL_BFNCHIOOEGI" => Some(Self::BlohgfcfeelBfnchiooegi),
            "BLOHGFCFEEL_EAKICFJGJCG" => Some(Self::BlohgfcfeelEakicfjgjcg),
            "BLOHGFCFEEL_JLJGFFJBMAP" => Some(Self::BlohgfcfeelJljgffjbmap),
            "BLOHGFCFEEL_DBMIBEJDGNK" => Some(Self::BlohgfcfeelDbmibejdgnk),
            "BLOHGFCFEEL_LIHGIPDAMEE" => Some(Self::BlohgfcfeelLihgipdamee),
            "BLOHGFCFEEL_PBMEFECMLBN" => Some(Self::BlohgfcfeelPbmefecmlbn),
            "BLOHGFCFEEL_NJIBBLDHBPA" => Some(Self::BlohgfcfeelNjibbldhbpa),
            "BLOHGFCFEEL_JNOJKPFDENE" => Some(Self::BlohgfcfeelJnojkpfdene),
            "BLOHGFCFEEL_HHNGOAPLCAJ" => Some(Self::BlohgfcfeelHhngoaplcaj),
            "BLOHGFCFEEL_PJIADEFEOCE" => Some(Self::BlohgfcfeelPjiadefeoce),
            "BLOHGFCFEEL_ELJKDENKLBB" => Some(Self::BlohgfcfeelEljkdenklbb),
            "BLOHGFCFEEL_HPHLHNECBNC" => Some(Self::BlohgfcfeelHphlhnecbnc),
            "BLOHGFCFEEL_ODBDMOCCODH" => Some(Self::BlohgfcfeelOdbdmoccodh),
            "BLOHGFCFEEL_CACHILIJDAO" => Some(Self::BlohgfcfeelCachilijdao),
            "BLOHGFCFEEL_AEILDNIMLHF" => Some(Self::BlohgfcfeelAeildnimlhf),
            "BLOHGFCFEEL_PNLHBBLODFA" => Some(Self::BlohgfcfeelPnlhbblodfa),
            "BLOHGFCFEEL_FJBIEBHJGON" => Some(Self::BlohgfcfeelFjbiebhjgon),
            "BLOHGFCFEEL_AOJPPBMCIEJ" => Some(Self::BlohgfcfeelAojppbmciej),
            "BLOHGFCFEEL_MEEHJJDBMKP" => Some(Self::BlohgfcfeelMeehjjdbmkp),
            "BLOHGFCFEEL_ODPBAGEBPGL" => Some(Self::BlohgfcfeelOdpbagebpgl),
            "BLOHGFCFEEL_MIJANGMGPKL" => Some(Self::BlohgfcfeelMijangmgpkl),
            "BLOHGFCFEEL_CGHNMCHABLO" => Some(Self::BlohgfcfeelCghnmchablo),
            "BLOHGFCFEEL_FBKIFMKMLNO" => Some(Self::BlohgfcfeelFbkifmkmlno),
            "BLOHGFCFEEL_HLFPEFNLMLE" => Some(Self::BlohgfcfeelHlfpefnlmle),
            "BLOHGFCFEEL_BIFDPCPBGLN" => Some(Self::BlohgfcfeelBifdpcpbgln),
            "BLOHGFCFEEL_DCPIMKDCFLE" => Some(Self::BlohgfcfeelDcpimkdcfle),
            "BLOHGFCFEEL_KJDBBPEHCNO" => Some(Self::BlohgfcfeelKjdbbpehcno),
            "BLOHGFCFEEL_NIBGLJHFMNO" => Some(Self::BlohgfcfeelNibgljhfmno),
            "BLOHGFCFEEL_HOPBLPLCJLO" => Some(Self::BlohgfcfeelHopblplcjlo),
            "BLOHGFCFEEL_FOHOHLFLEEJ" => Some(Self::BlohgfcfeelFohohlfleej),
            "BLOHGFCFEEL_NAFKMFKGKPN" => Some(Self::BlohgfcfeelNafkmfkgkpn),
            "BLOHGFCFEEL_OIAKLFCDFCK" => Some(Self::BlohgfcfeelOiaklfcdfck),
            "BLOHGFCFEEL_KFILNDOMNAA" => Some(Self::BlohgfcfeelKfilndomnaa),
            "BLOHGFCFEEL_OBEDFFDLDKD" => Some(Self::BlohgfcfeelObedffdldkd),
            "BLOHGFCFEEL_FHJBILODKOO" => Some(Self::BlohgfcfeelFhjbilodkoo),
            "BLOHGFCFEEL_IBKCCGOBPLK" => Some(Self::BlohgfcfeelIbkccgobplk),
            "BLOHGFCFEEL_MJHMECNJIFB" => Some(Self::BlohgfcfeelMjhmecnjifb),
            "BLOHGFCFEEL_GIFAIEODMBC" => Some(Self::BlohgfcfeelGifaieodmbc),
            "BLOHGFCFEEL_GALJOECHLAA" => Some(Self::BlohgfcfeelGaljoechlaa),
            "BLOHGFCFEEL_NHEFHKBDCMC" => Some(Self::BlohgfcfeelNhefhkbdcmc),
            "BLOHGFCFEEL_CKNEFAPKNBD" => Some(Self::BlohgfcfeelCknefapknbd),
            "BLOHGFCFEEL_FJKMNDDEKOA" => Some(Self::BlohgfcfeelFjkmnddekoa),
            "BLOHGFCFEEL_FFNGHDIANMA" => Some(Self::BlohgfcfeelFfnghdianma),
            "BLOHGFCFEEL_KEEENOCCNND" => Some(Self::BlohgfcfeelKeeenoccnnd),
            "BLOHGFCFEEL_GPLCBDBKCPD" => Some(Self::BlohgfcfeelGplcbdbkcpd),
            "BLOHGFCFEEL_KEFJFJDBPKG" => Some(Self::BlohgfcfeelKefjfjdbpkg),
            "BLOHGFCFEEL_ACFLOIONODA" => Some(Self::BlohgfcfeelAcfloionoda),
            "BLOHGFCFEEL_OPGDDDOGGOE" => Some(Self::BlohgfcfeelOpgdddoggoe),
            "BLOHGFCFEEL_OMBHMDBLDEJ" => Some(Self::BlohgfcfeelOmbhmdbldej),
            "BLOHGFCFEEL_NCIHPLBABNC" => Some(Self::BlohgfcfeelNcihplbabnc),
            "BLOHGFCFEEL_AKGLHLMIKMM" => Some(Self::BlohgfcfeelAkglhlmikmm),
            "BLOHGFCFEEL_BCLMECHBIKB" => Some(Self::BlohgfcfeelBclmechbikb),
            "BLOHGFCFEEL_GEBMCAOAIEJ" => Some(Self::BlohgfcfeelGebmcaoaiej),
            "BLOHGFCFEEL_EGGIGABAHPO" => Some(Self::BlohgfcfeelEggigabahpo),
            "BLOHGFCFEEL_KJMDGIIOPOO" => Some(Self::BlohgfcfeelKjmdgiiopoo),
            "BLOHGFCFEEL_FCJAFAGBGLG" => Some(Self::BlohgfcfeelFcjafagbglg),
            "BLOHGFCFEEL_KNGBCAFGALI" => Some(Self::BlohgfcfeelKngbcafgali),
            "BLOHGFCFEEL_HGGNFJCKBDA" => Some(Self::BlohgfcfeelHggnfjckbda),
            "BLOHGFCFEEL_FANNNOPGFBB" => Some(Self::BlohgfcfeelFannnopgfbb),
            "BLOHGFCFEEL_BFJNFBIJINB" => Some(Self::BlohgfcfeelBfjnfbijinb),
            "BLOHGFCFEEL_JGKMCBGFJLL" => Some(Self::BlohgfcfeelJgkmcbgfjll),
            "BLOHGFCFEEL_AJBAFCAMEMH" => Some(Self::BlohgfcfeelAjbafcamemh),
            "BLOHGFCFEEL_OCDKAOGLBPC" => Some(Self::BlohgfcfeelOcdkaoglbpc),
            "BLOHGFCFEEL_NCHIOPJLMFE" => Some(Self::BlohgfcfeelNchiopjlmfe),
            "BLOHGFCFEEL_POEHEEKBHLH" => Some(Self::BlohgfcfeelPoeheekbhlh),
            "BLOHGFCFEEL_EBGFEKLFJDB" => Some(Self::BlohgfcfeelEbgfeklfjdb),
            "BLOHGFCFEEL_JOJLKCIGHAJ" => Some(Self::BlohgfcfeelJojlkcighaj),
            "BLOHGFCFEEL_IGBCOPCFPAI" => Some(Self::BlohgfcfeelIgbcopcfpai),
            "BLOHGFCFEEL_GAFEEBBCOEK" => Some(Self::BlohgfcfeelGafeebbcoek),
            "BLOHGFCFEEL_COOFLDLKDFM" => Some(Self::BlohgfcfeelCoofldlkdfm),
            "BLOHGFCFEEL_KNMALPBJLJL" => Some(Self::BlohgfcfeelKnmalpbjljl),
            "BLOHGFCFEEL_IPDDHMBDLJI" => Some(Self::BlohgfcfeelIpddhmbdlji),
            "BLOHGFCFEEL_ANCKMNILOCG" => Some(Self::BlohgfcfeelAnckmnilocg),
            "BLOHGFCFEEL_KACOHBEJFOD" => Some(Self::BlohgfcfeelKacohbejfod),
            "BLOHGFCFEEL_KGMKFOPKJPK" => Some(Self::BlohgfcfeelKgmkfopkjpk),
            "BLOHGFCFEEL_HBMLKNFMGEN" => Some(Self::BlohgfcfeelHbmlknfmgen),
            "BLOHGFCFEEL_AFNFHMPAPFN" => Some(Self::BlohgfcfeelAfnfhmpapfn),
            "BLOHGFCFEEL_MOMBNANDPNO" => Some(Self::BlohgfcfeelMombnandpno),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SecretKeyType {
    SecretKeyNone = 0,
    SecretKeyServerCheck = 1,
    SecretKeyVideo = 2,
    SecretKeyBattleTime = 3,
}
impl SecretKeyType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::SecretKeyNone => "SECRET_KEY_NONE",
            Self::SecretKeyServerCheck => "SECRET_KEY_SERVER_CHECK",
            Self::SecretKeyVideo => "SECRET_KEY_VIDEO",
            Self::SecretKeyBattleTime => "SECRET_KEY_BATTLE_TIME",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "SECRET_KEY_NONE" => Some(Self::SecretKeyNone),
            "SECRET_KEY_SERVER_CHECK" => Some(Self::SecretKeyServerCheck),
            "SECRET_KEY_VIDEO" => Some(Self::SecretKeyVideo),
            "SECRET_KEY_BATTLE_TIME" => Some(Self::SecretKeyBattleTime),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pbiefhknafa {
    Nlcdgipgfdj = 0,
    Kbbdecfffal = 1,
}
impl Pbiefhknafa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PBIEFHKNAFA_NLCDGIPGFDJ",
            Self::Kbbdecfffal => "PBIEFHKNAFA_KBBDECFFFAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PBIEFHKNAFA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PBIEFHKNAFA_KBBDECFFFAL" => Some(Self::Kbbdecfffal),
            _ => None,
        }
    }
}
/// Obf: EOPODGPDKMO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordShareType {
    EopodgpdkmoNlcdgipgfdj = 0,
    EopodgpdkmoEnfiefppcic = 1,
    EopodgpdkmoAcaockpigpl = 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::EopodgpdkmoNlcdgipgfdj => "EOPODGPDKMO_NLCDGIPGFDJ",
            Self::EopodgpdkmoEnfiefppcic => "EOPODGPDKMO_ENFIEFPPCIC",
            Self::EopodgpdkmoAcaockpigpl => "EOPODGPDKMO_ACAOCKPIGPL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EOPODGPDKMO_NLCDGIPGFDJ" => Some(Self::EopodgpdkmoNlcdgipgfdj),
            "EOPODGPDKMO_ENFIEFPPCIC" => Some(Self::EopodgpdkmoEnfiefppcic),
            "EOPODGPDKMO_ACAOCKPIGPL" => Some(Self::EopodgpdkmoAcaockpigpl),
            _ => None,
        }
    }
}
/// Obf: PFIPEIGDLLK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PunkLordAttackerStatus {
    PfipeigdllkNlcdgipgfdj = 0,
    PfipeigdllkCcalgncnfme = 1,
    PfipeigdllkMokndkjfldh = 2,
    PfipeigdllkHkldkmjmgah = 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::PfipeigdllkNlcdgipgfdj => "PFIPEIGDLLK_NLCDGIPGFDJ",
            Self::PfipeigdllkCcalgncnfme => "PFIPEIGDLLK_CCALGNCNFME",
            Self::PfipeigdllkMokndkjfldh => "PFIPEIGDLLK_MOKNDKJFLDH",
            Self::PfipeigdllkHkldkmjmgah => "PFIPEIGDLLK_HKLDKMJMGAH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PFIPEIGDLLK_NLCDGIPGFDJ" => Some(Self::PfipeigdllkNlcdgipgfdj),
            "PFIPEIGDLLK_CCALGNCNFME" => Some(Self::PfipeigdllkCcalgncnfme),
            "PFIPEIGDLLK_MOKNDKJFLDH" => Some(Self::PfipeigdllkMokndkjfldh),
            "PFIPEIGDLLK_HKLDKMJMGAH" => Some(Self::PfipeigdllkHkldkmjmgah),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pakhplahgbn {
    Nlcdgipgfdj = 0,
    Fiollioeajc = 1,
    Cjmellliede = 2,
    Cogcfdfakon = 3,
}
impl Pakhplahgbn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PAKHPLAHGBN_NLCDGIPGFDJ",
            Self::Fiollioeajc => "PAKHPLAHGBN_FIOLLIOEAJC",
            Self::Cjmellliede => "PAKHPLAHGBN_CJMELLLIEDE",
            Self::Cogcfdfakon => "PAKHPLAHGBN_COGCFDFAKON",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAKHPLAHGBN_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PAKHPLAHGBN_FIOLLIOEAJC" => Some(Self::Fiollioeajc),
            "PAKHPLAHGBN_CJMELLLIEDE" => Some(Self::Cjmellliede),
            "PAKHPLAHGBN_COGCFDFAKON" => Some(Self::Cogcfdfakon),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mcbfomigmla {
    Nlcdgipgfdj = 0,
    Lcmaddimion = 403,
    Bngookfjflf = 404,
    Pagpnoklnom = 401,
    Bbgpaamecac = 402,
    Mgnncjchcfm = 2300,
    Neampncbgnk = 3100,
    Kmgkehbigfb = 4100,
    Cpkiffolbdl = 3700,
}
impl Mcbfomigmla {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MCBFOMIGMLA_NLCDGIPGFDJ",
            Self::Lcmaddimion => "MCBFOMIGMLA_LCMADDIMION",
            Self::Bngookfjflf => "MCBFOMIGMLA_BNGOOKFJFLF",
            Self::Pagpnoklnom => "MCBFOMIGMLA_PAGPNOKLNOM",
            Self::Bbgpaamecac => "MCBFOMIGMLA_BBGPAAMECAC",
            Self::Mgnncjchcfm => "MCBFOMIGMLA_MGNNCJCHCFM",
            Self::Neampncbgnk => "MCBFOMIGMLA_NEAMPNCBGNK",
            Self::Kmgkehbigfb => "MCBFOMIGMLA_KMGKEHBIGFB",
            Self::Cpkiffolbdl => "MCBFOMIGMLA_CPKIFFOLBDL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MCBFOMIGMLA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MCBFOMIGMLA_LCMADDIMION" => Some(Self::Lcmaddimion),
            "MCBFOMIGMLA_BNGOOKFJFLF" => Some(Self::Bngookfjflf),
            "MCBFOMIGMLA_PAGPNOKLNOM" => Some(Self::Pagpnoklnom),
            "MCBFOMIGMLA_BBGPAAMECAC" => Some(Self::Bbgpaamecac),
            "MCBFOMIGMLA_MGNNCJCHCFM" => Some(Self::Mgnncjchcfm),
            "MCBFOMIGMLA_NEAMPNCBGNK" => Some(Self::Neampncbgnk),
            "MCBFOMIGMLA_KMGKEHBIGFB" => Some(Self::Kmgkehbigfb),
            "MCBFOMIGMLA_CPKIFFOLBDL" => Some(Self::Cpkiffolbdl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pidahabflbl {
    Ongohdokeie = 0,
    Fjbenkpgbpp = 1,
    Ibnpgedfimo = 2,
}
impl Pidahabflbl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ongohdokeie => "PIDAHABFLBL_ONGOHDOKEIE",
            Self::Fjbenkpgbpp => "PIDAHABFLBL_FJBENKPGBPP",
            Self::Ibnpgedfimo => "PIDAHABFLBL_IBNPGEDFIMO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PIDAHABFLBL_ONGOHDOKEIE" => Some(Self::Ongohdokeie),
            "PIDAHABFLBL_FJBENKPGBPP" => Some(Self::Fjbenkpgbpp),
            "PIDAHABFLBL_IBNPGEDFIMO" => Some(Self::Ibnpgedfimo),
            _ => None,
        }
    }
}
/// Obf: KMJKPKLCPNM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DevelopmentType {
    KmjkpklcpnmBeehiffkoih = 0,
    KmjkpklcpnmFjmkbhbkdng = 1,
    KmjkpklcpnmOmmmliconeg = 2,
    KmjkpklcpnmLmdjobneffl = 3,
    KmjkpklcpnmCmapllhgpof = 4,
    KmjkpklcpnmAocolegaicp = 5,
    KmjkpklcpnmLodaglngoka = 6,
    KmjkpklcpnmOcokanblfma = 7,
    KmjkpklcpnmGpcjdnihagb = 8,
    KmjkpklcpnmLmaaeehhjnc = 9,
    KmjkpklcpnmHejaomejgkj = 10,
    KmjkpklcpnmPhkeacmkmaa = 11,
    KmjkpklcpnmMphkbcginlc = 12,
    KmjkpklcpnmNpaibbcodoh = 13,
    KmjkpklcpnmBiaikcldifd = 14,
    KmjkpklcpnmFciblplmemi = 15,
    KmjkpklcpnmJaemakhbnhd = 16,
    KmjkpklcpnmLdpojoodfeh = 17,
    KmjkpklcpnmOddkngfcbko = 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::KmjkpklcpnmBeehiffkoih => "KMJKPKLCPNM_BEEHIFFKOIH",
            Self::KmjkpklcpnmFjmkbhbkdng => "KMJKPKLCPNM_FJMKBHBKDNG",
            Self::KmjkpklcpnmOmmmliconeg => "KMJKPKLCPNM_OMMMLICONEG",
            Self::KmjkpklcpnmLmdjobneffl => "KMJKPKLCPNM_LMDJOBNEFFL",
            Self::KmjkpklcpnmCmapllhgpof => "KMJKPKLCPNM_CMAPLLHGPOF",
            Self::KmjkpklcpnmAocolegaicp => "KMJKPKLCPNM_AOCOLEGAICP",
            Self::KmjkpklcpnmLodaglngoka => "KMJKPKLCPNM_LODAGLNGOKA",
            Self::KmjkpklcpnmOcokanblfma => "KMJKPKLCPNM_OCOKANBLFMA",
            Self::KmjkpklcpnmGpcjdnihagb => "KMJKPKLCPNM_GPCJDNIHAGB",
            Self::KmjkpklcpnmLmaaeehhjnc => "KMJKPKLCPNM_LMAAEEHHJNC",
            Self::KmjkpklcpnmHejaomejgkj => "KMJKPKLCPNM_HEJAOMEJGKJ",
            Self::KmjkpklcpnmPhkeacmkmaa => "KMJKPKLCPNM_PHKEACMKMAA",
            Self::KmjkpklcpnmMphkbcginlc => "KMJKPKLCPNM_MPHKBCGINLC",
            Self::KmjkpklcpnmNpaibbcodoh => "KMJKPKLCPNM_NPAIBBCODOH",
            Self::KmjkpklcpnmBiaikcldifd => "KMJKPKLCPNM_BIAIKCLDIFD",
            Self::KmjkpklcpnmFciblplmemi => "KMJKPKLCPNM_FCIBLPLMEMI",
            Self::KmjkpklcpnmJaemakhbnhd => "KMJKPKLCPNM_JAEMAKHBNHD",
            Self::KmjkpklcpnmLdpojoodfeh => "KMJKPKLCPNM_LDPOJOODFEH",
            Self::KmjkpklcpnmOddkngfcbko => "KMJKPKLCPNM_ODDKNGFCBKO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KMJKPKLCPNM_BEEHIFFKOIH" => Some(Self::KmjkpklcpnmBeehiffkoih),
            "KMJKPKLCPNM_FJMKBHBKDNG" => Some(Self::KmjkpklcpnmFjmkbhbkdng),
            "KMJKPKLCPNM_OMMMLICONEG" => Some(Self::KmjkpklcpnmOmmmliconeg),
            "KMJKPKLCPNM_LMDJOBNEFFL" => Some(Self::KmjkpklcpnmLmdjobneffl),
            "KMJKPKLCPNM_CMAPLLHGPOF" => Some(Self::KmjkpklcpnmCmapllhgpof),
            "KMJKPKLCPNM_AOCOLEGAICP" => Some(Self::KmjkpklcpnmAocolegaicp),
            "KMJKPKLCPNM_LODAGLNGOKA" => Some(Self::KmjkpklcpnmLodaglngoka),
            "KMJKPKLCPNM_OCOKANBLFMA" => Some(Self::KmjkpklcpnmOcokanblfma),
            "KMJKPKLCPNM_GPCJDNIHAGB" => Some(Self::KmjkpklcpnmGpcjdnihagb),
            "KMJKPKLCPNM_LMAAEEHHJNC" => Some(Self::KmjkpklcpnmLmaaeehhjnc),
            "KMJKPKLCPNM_HEJAOMEJGKJ" => Some(Self::KmjkpklcpnmHejaomejgkj),
            "KMJKPKLCPNM_PHKEACMKMAA" => Some(Self::KmjkpklcpnmPhkeacmkmaa),
            "KMJKPKLCPNM_MPHKBCGINLC" => Some(Self::KmjkpklcpnmMphkbcginlc),
            "KMJKPKLCPNM_NPAIBBCODOH" => Some(Self::KmjkpklcpnmNpaibbcodoh),
            "KMJKPKLCPNM_BIAIKCLDIFD" => Some(Self::KmjkpklcpnmBiaikcldifd),
            "KMJKPKLCPNM_FCIBLPLMEMI" => Some(Self::KmjkpklcpnmFciblplmemi),
            "KMJKPKLCPNM_JAEMAKHBNHD" => Some(Self::KmjkpklcpnmJaemakhbnhd),
            "KMJKPKLCPNM_LDPOJOODFEH" => Some(Self::KmjkpklcpnmLdpojoodfeh),
            "KMJKPKLCPNM_ODDKNGFCBKO" => Some(Self::KmjkpklcpnmOddkngfcbko),
            _ => None,
        }
    }
}
/// Obf: DIHJILNECAD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlayingState {
    DihjilnecadNlcdgipgfdj = 0,
    DihjilnecadCieijljajmo = 1,
    DihjilnecadKhaekebcpok = 2,
    DihjilnecadOoifobikple = 3,
    DihjilnecadDkjadongebo = 4,
    DihjilnecadHancjanfgfb = 5,
    DihjilnecadBjffkkifahj = 6,
    DihjilnecadDcmoammmoip = 7,
    DihjilnecadBlglokniafi = 8,
    DihjilnecadMgobjfofjih = 9,
    DihjilnecadOailfpoobmj = 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::DihjilnecadNlcdgipgfdj => "DIHJILNECAD_NLCDGIPGFDJ",
            Self::DihjilnecadCieijljajmo => "DIHJILNECAD_CIEIJLJAJMO",
            Self::DihjilnecadKhaekebcpok => "DIHJILNECAD_KHAEKEBCPOK",
            Self::DihjilnecadOoifobikple => "DIHJILNECAD_OOIFOBIKPLE",
            Self::DihjilnecadDkjadongebo => "DIHJILNECAD_DKJADONGEBO",
            Self::DihjilnecadHancjanfgfb => "DIHJILNECAD_HANCJANFGFB",
            Self::DihjilnecadBjffkkifahj => "DIHJILNECAD_BJFFKKIFAHJ",
            Self::DihjilnecadDcmoammmoip => "DIHJILNECAD_DCMOAMMMOIP",
            Self::DihjilnecadBlglokniafi => "DIHJILNECAD_BLGLOKNIAFI",
            Self::DihjilnecadMgobjfofjih => "DIHJILNECAD_MGOBJFOFJIH",
            Self::DihjilnecadOailfpoobmj => "DIHJILNECAD_OAILFPOOBMJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIHJILNECAD_NLCDGIPGFDJ" => Some(Self::DihjilnecadNlcdgipgfdj),
            "DIHJILNECAD_CIEIJLJAJMO" => Some(Self::DihjilnecadCieijljajmo),
            "DIHJILNECAD_KHAEKEBCPOK" => Some(Self::DihjilnecadKhaekebcpok),
            "DIHJILNECAD_OOIFOBIKPLE" => Some(Self::DihjilnecadOoifobikple),
            "DIHJILNECAD_DKJADONGEBO" => Some(Self::DihjilnecadDkjadongebo),
            "DIHJILNECAD_HANCJANFGFB" => Some(Self::DihjilnecadHancjanfgfb),
            "DIHJILNECAD_BJFFKKIFAHJ" => Some(Self::DihjilnecadBjffkkifahj),
            "DIHJILNECAD_DCMOAMMMOIP" => Some(Self::DihjilnecadDcmoammmoip),
            "DIHJILNECAD_BLGLOKNIAFI" => Some(Self::DihjilnecadBlglokniafi),
            "DIHJILNECAD_MGOBJFOFJIH" => Some(Self::DihjilnecadMgobjfofjih),
            "DIHJILNECAD_OAILFPOOBMJ" => Some(Self::DihjilnecadOailfpoobmj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Enfibaehkad {
    Amolblfoepc = 0,
    Fgdcnhhafom = 1,
    Pebfglkgjmn = 2,
    Iddikookeom = 3,
}
impl Enfibaehkad {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Amolblfoepc => "ENFIBAEHKAD_AMOLBLFOEPC",
            Self::Fgdcnhhafom => "ENFIBAEHKAD_FGDCNHHAFOM",
            Self::Pebfglkgjmn => "ENFIBAEHKAD_PEBFGLKGJMN",
            Self::Iddikookeom => "ENFIBAEHKAD_IDDIKOOKEOM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENFIBAEHKAD_AMOLBLFOEPC" => Some(Self::Amolblfoepc),
            "ENFIBAEHKAD_FGDCNHHAFOM" => Some(Self::Fgdcnhhafom),
            "ENFIBAEHKAD_PEBFGLKGJMN" => Some(Self::Pebfglkgjmn),
            "ENFIBAEHKAD_IDDIKOOKEOM" => Some(Self::Iddikookeom),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oonkjiiepdc {
    Nlcdgipgfdj = 0,
    Bpocohfiaoh = 1,
    Ncipehohdmg = 2,
    Hmogohofpfg = 3,
    Hnadonafddn = 4,
    Anaijlloohf = 5,
}
impl Oonkjiiepdc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OONKJIIEPDC_NLCDGIPGFDJ",
            Self::Bpocohfiaoh => "OONKJIIEPDC_BPOCOHFIAOH",
            Self::Ncipehohdmg => "OONKJIIEPDC_NCIPEHOHDMG",
            Self::Hmogohofpfg => "OONKJIIEPDC_HMOGOHOFPFG",
            Self::Hnadonafddn => "OONKJIIEPDC_HNADONAFDDN",
            Self::Anaijlloohf => "OONKJIIEPDC_ANAIJLLOOHF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OONKJIIEPDC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OONKJIIEPDC_BPOCOHFIAOH" => Some(Self::Bpocohfiaoh),
            "OONKJIIEPDC_NCIPEHOHDMG" => Some(Self::Ncipehohdmg),
            "OONKJIIEPDC_HMOGOHOFPFG" => Some(Self::Hmogohofpfg),
            "OONKJIIEPDC_HNADONAFDDN" => Some(Self::Hnadonafddn),
            "OONKJIIEPDC_ANAIJLLOOHF" => Some(Self::Anaijlloohf),
            _ => None,
        }
    }
}
/// Obf: BOKMDMEDAHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesCardPieceApplyPermissionType {
    BokmdmedahnOapahommcgo = 0,
    BokmdmedahnGojldpcamhm = 1,
    BokmdmedahnMkaahipojbj = 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::BokmdmedahnOapahommcgo => "BOKMDMEDAHN_OAPAHOMMCGO",
            Self::BokmdmedahnGojldpcamhm => "BOKMDMEDAHN_GOJLDPCAMHM",
            Self::BokmdmedahnMkaahipojbj => "BOKMDMEDAHN_MKAAHIPOJBJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BOKMDMEDAHN_OAPAHOMMCGO" => Some(Self::BokmdmedahnOapahommcgo),
            "BOKMDMEDAHN_GOJLDPCAMHM" => Some(Self::BokmdmedahnGojldpcamhm),
            "BOKMDMEDAHN_MKAAHIPOJBJ" => Some(Self::BokmdmedahnMkaahipojbj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Helmgacmhhf {
    Plcnmngmfnn = 0,
    Cofaoigaoig = 1,
    Fkhfjiiflic = 2,
    Lhiicamofbi = 3,
    Kkkaimanebf = 4,
}
impl Helmgacmhhf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Plcnmngmfnn => "HELMGACMHHF_PLCNMNGMFNN",
            Self::Cofaoigaoig => "HELMGACMHHF_COFAOIGAOIG",
            Self::Fkhfjiiflic => "HELMGACMHHF_FKHFJIIFLIC",
            Self::Lhiicamofbi => "HELMGACMHHF_LHIICAMOFBI",
            Self::Kkkaimanebf => "HELMGACMHHF_KKKAIMANEBF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HELMGACMHHF_PLCNMNGMFNN" => Some(Self::Plcnmngmfnn),
            "HELMGACMHHF_COFAOIGAOIG" => Some(Self::Cofaoigaoig),
            "HELMGACMHHF_FKHFJIIFLIC" => Some(Self::Fkhfjiiflic),
            "HELMGACMHHF_LHIICAMOFBI" => Some(Self::Lhiicamofbi),
            "HELMGACMHHF_KKKAIMANEBF" => Some(Self::Kkkaimanebf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ebfckngimjc {
    Lkpjfhakfce = 0,
    Ghkajgchalb = 1,
    Hkopbcoijhh = 2,
}
impl Ebfckngimjc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lkpjfhakfce => "EBFCKNGIMJC_LKPJFHAKFCE",
            Self::Ghkajgchalb => "EBFCKNGIMJC_GHKAJGCHALB",
            Self::Hkopbcoijhh => "EBFCKNGIMJC_HKOPBCOIJHH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EBFCKNGIMJC_LKPJFHAKFCE" => Some(Self::Lkpjfhakfce),
            "EBFCKNGIMJC_GHKAJGCHALB" => Some(Self::Ghkajgchalb),
            "EBFCKNGIMJC_HKOPBCOIJHH" => Some(Self::Hkopbcoijhh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mohnimlcoda {
    Nlcdgipgfdj = 0,
    Dmjkcojlfcl = 1,
    Aneighkmjkb = 2,
    Mgmpdhkjfim = 3,
    Maibaoaogid = 4,
    Egcgfgdilbc = 5,
    Keeibdbejlh = 6,
    Level = 7,
    Dimifcjphme = 8,
    Peedcbadbhj = 9,
}
impl Mohnimlcoda {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MOHNIMLCODA_NLCDGIPGFDJ",
            Self::Dmjkcojlfcl => "MOHNIMLCODA_DMJKCOJLFCL",
            Self::Aneighkmjkb => "MOHNIMLCODA_ANEIGHKMJKB",
            Self::Mgmpdhkjfim => "MOHNIMLCODA_MGMPDHKJFIM",
            Self::Maibaoaogid => "MOHNIMLCODA_MAIBAOAOGID",
            Self::Egcgfgdilbc => "MOHNIMLCODA_EGCGFGDILBC",
            Self::Keeibdbejlh => "MOHNIMLCODA_KEEIBDBEJLH",
            Self::Level => "MOHNIMLCODA_level",
            Self::Dimifcjphme => "MOHNIMLCODA_DIMIFCJPHME",
            Self::Peedcbadbhj => "MOHNIMLCODA_PEEDCBADBHJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MOHNIMLCODA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MOHNIMLCODA_DMJKCOJLFCL" => Some(Self::Dmjkcojlfcl),
            "MOHNIMLCODA_ANEIGHKMJKB" => Some(Self::Aneighkmjkb),
            "MOHNIMLCODA_MGMPDHKJFIM" => Some(Self::Mgmpdhkjfim),
            "MOHNIMLCODA_MAIBAOAOGID" => Some(Self::Maibaoaogid),
            "MOHNIMLCODA_EGCGFGDILBC" => Some(Self::Egcgfgdilbc),
            "MOHNIMLCODA_KEEIBDBEJLH" => Some(Self::Keeibdbejlh),
            "MOHNIMLCODA_level" => Some(Self::Level),
            "MOHNIMLCODA_DIMIFCJPHME" => Some(Self::Dimifcjphme),
            "MOHNIMLCODA_PEEDCBADBHJ" => Some(Self::Peedcbadbhj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eamoljfmkhm {
    Nlcdgipgfdj = 0,
    Binghjiamgn = 1,
    Fcpcoljlaom = 2,
    Hnomnepiecn = 3,
}
impl Eamoljfmkhm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "EAMOLJFMKHM_NLCDGIPGFDJ",
            Self::Binghjiamgn => "EAMOLJFMKHM_BINGHJIAMGN",
            Self::Fcpcoljlaom => "EAMOLJFMKHM_FCPCOLJLAOM",
            Self::Hnomnepiecn => "EAMOLJFMKHM_HNOMNEPIECN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EAMOLJFMKHM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "EAMOLJFMKHM_BINGHJIAMGN" => Some(Self::Binghjiamgn),
            "EAMOLJFMKHM_FCPCOLJLAOM" => Some(Self::Fcpcoljlaom),
            "EAMOLJFMKHM_HNOMNEPIECN" => Some(Self::Hnomnepiecn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfnjkappnof {
    Nlcdgipgfdj = 0,
    Ocdlpddmclp = 1,
    Jhoebnnmkhb = 2,
    Kmdndlkkdlh = 3,
    Djkdpgdllfm = 4,
    Igdneoelfkc = 5,
    Hcbncedbabl = 6,
}
impl Jfnjkappnof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JFNJKAPPNOF_NLCDGIPGFDJ",
            Self::Ocdlpddmclp => "JFNJKAPPNOF_OCDLPDDMCLP",
            Self::Jhoebnnmkhb => "JFNJKAPPNOF_JHOEBNNMKHB",
            Self::Kmdndlkkdlh => "JFNJKAPPNOF_KMDNDLKKDLH",
            Self::Djkdpgdllfm => "JFNJKAPPNOF_DJKDPGDLLFM",
            Self::Igdneoelfkc => "JFNJKAPPNOF_IGDNEOELFKC",
            Self::Hcbncedbabl => "JFNJKAPPNOF_HCBNCEDBABL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JFNJKAPPNOF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JFNJKAPPNOF_OCDLPDDMCLP" => Some(Self::Ocdlpddmclp),
            "JFNJKAPPNOF_JHOEBNNMKHB" => Some(Self::Jhoebnnmkhb),
            "JFNJKAPPNOF_KMDNDLKKDLH" => Some(Self::Kmdndlkkdlh),
            "JFNJKAPPNOF_DJKDPGDLLFM" => Some(Self::Djkdpgdllfm),
            "JFNJKAPPNOF_IGDNEOELFKC" => Some(Self::Igdneoelfkc),
            "JFNJKAPPNOF_HCBNCEDBABL" => Some(Self::Hcbncedbabl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdcapbnpook {
    Nlcdgipgfdj = 0,
    Enplacdljga = 1,
    Nmeeohmgpkd = 2,
    Omkpenohlii = 4,
    Aoigflelhhh = 5,
    Mcpikehdmnd = 101,
    Ldpmdpagchm = 102,
    Egcgfgdilbc = 103,
    Haehihocljd = 104,
    Hcjbibfbhkm = 105,
    Mlomhpfomlo = 106,
    Edjgijiilke = 107,
    Ggmpegmehpd = 108,
    Fifgennkdbe = 109,
    Onpnoploagh = 110,
    Mdbhgmdbjgk = 111,
    Dickkdiaend = 112,
    Lkpooolnajc = 113,
}
impl Jdcapbnpook {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JDCAPBNPOOK_NLCDGIPGFDJ",
            Self::Enplacdljga => "JDCAPBNPOOK_ENPLACDLJGA",
            Self::Nmeeohmgpkd => "JDCAPBNPOOK_NMEEOHMGPKD",
            Self::Omkpenohlii => "JDCAPBNPOOK_OMKPENOHLII",
            Self::Aoigflelhhh => "JDCAPBNPOOK_AOIGFLELHHH",
            Self::Mcpikehdmnd => "JDCAPBNPOOK_MCPIKEHDMND",
            Self::Ldpmdpagchm => "JDCAPBNPOOK_LDPMDPAGCHM",
            Self::Egcgfgdilbc => "JDCAPBNPOOK_EGCGFGDILBC",
            Self::Haehihocljd => "JDCAPBNPOOK_HAEHIHOCLJD",
            Self::Hcjbibfbhkm => "JDCAPBNPOOK_HCJBIBFBHKM",
            Self::Mlomhpfomlo => "JDCAPBNPOOK_MLOMHPFOMLO",
            Self::Edjgijiilke => "JDCAPBNPOOK_EDJGIJIILKE",
            Self::Ggmpegmehpd => "JDCAPBNPOOK_GGMPEGMEHPD",
            Self::Fifgennkdbe => "JDCAPBNPOOK_FIFGENNKDBE",
            Self::Onpnoploagh => "JDCAPBNPOOK_ONPNOPLOAGH",
            Self::Mdbhgmdbjgk => "JDCAPBNPOOK_MDBHGMDBJGK",
            Self::Dickkdiaend => "JDCAPBNPOOK_DICKKDIAEND",
            Self::Lkpooolnajc => "JDCAPBNPOOK_LKPOOOLNAJC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JDCAPBNPOOK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JDCAPBNPOOK_ENPLACDLJGA" => Some(Self::Enplacdljga),
            "JDCAPBNPOOK_NMEEOHMGPKD" => Some(Self::Nmeeohmgpkd),
            "JDCAPBNPOOK_OMKPENOHLII" => Some(Self::Omkpenohlii),
            "JDCAPBNPOOK_AOIGFLELHHH" => Some(Self::Aoigflelhhh),
            "JDCAPBNPOOK_MCPIKEHDMND" => Some(Self::Mcpikehdmnd),
            "JDCAPBNPOOK_LDPMDPAGCHM" => Some(Self::Ldpmdpagchm),
            "JDCAPBNPOOK_EGCGFGDILBC" => Some(Self::Egcgfgdilbc),
            "JDCAPBNPOOK_HAEHIHOCLJD" => Some(Self::Haehihocljd),
            "JDCAPBNPOOK_HCJBIBFBHKM" => Some(Self::Hcjbibfbhkm),
            "JDCAPBNPOOK_MLOMHPFOMLO" => Some(Self::Mlomhpfomlo),
            "JDCAPBNPOOK_EDJGIJIILKE" => Some(Self::Edjgijiilke),
            "JDCAPBNPOOK_GGMPEGMEHPD" => Some(Self::Ggmpegmehpd),
            "JDCAPBNPOOK_FIFGENNKDBE" => Some(Self::Fifgennkdbe),
            "JDCAPBNPOOK_ONPNOPLOAGH" => Some(Self::Onpnoploagh),
            "JDCAPBNPOOK_MDBHGMDBJGK" => Some(Self::Mdbhgmdbjgk),
            "JDCAPBNPOOK_DICKKDIAEND" => Some(Self::Dickkdiaend),
            "JDCAPBNPOOK_LKPOOOLNAJC" => Some(Self::Lkpooolnajc),
            _ => None,
        }
    }
}
/// Obf: MJJIFGINJAJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightDropType {
    MjjifginjajNlcdgipgfdj = 0,
    MjjifginjajItemValue = 1,
    MjjifginjajExp = 2,
    MjjifginjajLjbcdjnnbjh = 3,
    MjjifginjajBdpimpjojbk = 4,
    MjjifginjajNlfcabfpjhd = 5,
    MjjifginjajAnmdmbgnohl = 6,
    MjjifginjajJjdgkiibhop = 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::MjjifginjajNlcdgipgfdj => "MJJIFGINJAJ_NLCDGIPGFDJ",
            Self::MjjifginjajItemValue => "MJJIFGINJAJ_item_value",
            Self::MjjifginjajExp => "MJJIFGINJAJ_exp",
            Self::MjjifginjajLjbcdjnnbjh => "MJJIFGINJAJ_LJBCDJNNBJH",
            Self::MjjifginjajBdpimpjojbk => "MJJIFGINJAJ_BDPIMPJOJBK",
            Self::MjjifginjajNlfcabfpjhd => "MJJIFGINJAJ_NLFCABFPJHD",
            Self::MjjifginjajAnmdmbgnohl => "MJJIFGINJAJ_ANMDMBGNOHL",
            Self::MjjifginjajJjdgkiibhop => "MJJIFGINJAJ_JJDGKIIBHOP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJJIFGINJAJ_NLCDGIPGFDJ" => Some(Self::MjjifginjajNlcdgipgfdj),
            "MJJIFGINJAJ_item_value" => Some(Self::MjjifginjajItemValue),
            "MJJIFGINJAJ_exp" => Some(Self::MjjifginjajExp),
            "MJJIFGINJAJ_LJBCDJNNBJH" => Some(Self::MjjifginjajLjbcdjnnbjh),
            "MJJIFGINJAJ_BDPIMPJOJBK" => Some(Self::MjjifginjajBdpimpjojbk),
            "MJJIFGINJAJ_NLFCABFPJHD" => Some(Self::MjjifginjajNlfcabfpjhd),
            "MJJIFGINJAJ_ANMDMBGNOHL" => Some(Self::MjjifginjajAnmdmbgnohl),
            "MJJIFGINJAJ_JJDGKIIBHOP" => Some(Self::MjjifginjajJjdgkiibhop),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oikbipicgdn {
    Kndkkgpejag = 0,
    Poghagegkdn = 1,
    Flmdieemojk = 2,
    Onaancdbfjk = 3,
}
impl Oikbipicgdn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kndkkgpejag => "OIKBIPICGDN_KNDKKGPEJAG",
            Self::Poghagegkdn => "OIKBIPICGDN_POGHAGEGKDN",
            Self::Flmdieemojk => "OIKBIPICGDN_FLMDIEEMOJK",
            Self::Onaancdbfjk => "OIKBIPICGDN_ONAANCDBFJK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OIKBIPICGDN_KNDKKGPEJAG" => Some(Self::Kndkkgpejag),
            "OIKBIPICGDN_POGHAGEGKDN" => Some(Self::Poghagegkdn),
            "OIKBIPICGDN_FLMDIEEMOJK" => Some(Self::Flmdieemojk),
            "OIKBIPICGDN_ONAANCDBFJK" => Some(Self::Onaancdbfjk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Akbcefgfjcj {
    Ppigkpcfngk = 0,
    Enpohknkpah = 1,
    Edgllbjoooa = 2,
}
impl Akbcefgfjcj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ppigkpcfngk => "AKBCEFGFJCJ_PPIGKPCFNGK",
            Self::Enpohknkpah => "AKBCEFGFJCJ_ENPOHKNKPAH",
            Self::Edgllbjoooa => "AKBCEFGFJCJ_EDGLLBJOOOA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AKBCEFGFJCJ_PPIGKPCFNGK" => Some(Self::Ppigkpcfngk),
            "AKBCEFGFJCJ_ENPOHKNKPAH" => Some(Self::Enpohknkpah),
            "AKBCEFGFJCJ_EDGLLBJOOOA" => Some(Self::Edgllbjoooa),
            _ => None,
        }
    }
}
/// Obf: JJMFOABLOCE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BattleModuleType {
    JjmfoabloceOhdohhfakmc = 0,
    JjmfoabloceFdkbedimcbj = 1,
    JjmfoabloceBpcbhkhdgmh = 2,
    JjmfoabloceGeaiekpgngd = 3,
    JjmfoabloceEkjfdfeannh = 4,
    JjmfoabloceBiogdpanclb = 5,
    JjmfoabloceDpalihinpfn = 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::JjmfoabloceOhdohhfakmc => "JJMFOABLOCE_OHDOHHFAKMC",
            Self::JjmfoabloceFdkbedimcbj => "JJMFOABLOCE_FDKBEDIMCBJ",
            Self::JjmfoabloceBpcbhkhdgmh => "JJMFOABLOCE_BPCBHKHDGMH",
            Self::JjmfoabloceGeaiekpgngd => "JJMFOABLOCE_GEAIEKPGNGD",
            Self::JjmfoabloceEkjfdfeannh => "JJMFOABLOCE_EKJFDFEANNH",
            Self::JjmfoabloceBiogdpanclb => "JJMFOABLOCE_BIOGDPANCLB",
            Self::JjmfoabloceDpalihinpfn => "JJMFOABLOCE_DPALIHINPFN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JJMFOABLOCE_OHDOHHFAKMC" => Some(Self::JjmfoabloceOhdohhfakmc),
            "JJMFOABLOCE_FDKBEDIMCBJ" => Some(Self::JjmfoabloceFdkbedimcbj),
            "JJMFOABLOCE_BPCBHKHDGMH" => Some(Self::JjmfoabloceBpcbhkhdgmh),
            "JJMFOABLOCE_GEAIEKPGNGD" => Some(Self::JjmfoabloceGeaiekpgngd),
            "JJMFOABLOCE_EKJFDFEANNH" => Some(Self::JjmfoabloceEkjfdfeannh),
            "JJMFOABLOCE_BIOGDPANCLB" => Some(Self::JjmfoabloceBiogdpanclb),
            "JJMFOABLOCE_DPALIHINPFN" => Some(Self::JjmfoabloceDpalihinpfn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aabgifaeeek {
    Ocajflcamna = 0,
    Aonenhhfnod = 1,
    Aoiaagnafio = 2,
}
impl Aabgifaeeek {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ocajflcamna => "AABGIFAEEEK_OCAJFLCAMNA",
            Self::Aonenhhfnod => "AABGIFAEEEK_AONENHHFNOD",
            Self::Aoiaagnafio => "AABGIFAEEEK_AOIAAGNAFIO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AABGIFAEEEK_OCAJFLCAMNA" => Some(Self::Ocajflcamna),
            "AABGIFAEEEK_AONENHHFNOD" => Some(Self::Aonenhhfnod),
            "AABGIFAEEEK_AOIAAGNAFIO" => Some(Self::Aoiaagnafio),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Olajgeckmje {
    Nlcdgipgfdj = 0,
    ScoreId = 1,
    Mcmdkgeanna = 2,
    Ejdagookblg = 3,
    ChallengeScore = 4,
    Ameabnlmmgb = 5,
    Fbcaelmeidp = 6,
}
impl Olajgeckmje {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OLAJGECKMJE_NLCDGIPGFDJ",
            Self::ScoreId => "OLAJGECKMJE_score_id",
            Self::Mcmdkgeanna => "OLAJGECKMJE_MCMDKGEANNA",
            Self::Ejdagookblg => "OLAJGECKMJE_EJDAGOOKBLG",
            Self::ChallengeScore => "OLAJGECKMJE_challenge_score",
            Self::Ameabnlmmgb => "OLAJGECKMJE_AMEABNLMMGB",
            Self::Fbcaelmeidp => "OLAJGECKMJE_FBCAELMEIDP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OLAJGECKMJE_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OLAJGECKMJE_score_id" => Some(Self::ScoreId),
            "OLAJGECKMJE_MCMDKGEANNA" => Some(Self::Mcmdkgeanna),
            "OLAJGECKMJE_EJDAGOOKBLG" => Some(Self::Ejdagookblg),
            "OLAJGECKMJE_challenge_score" => Some(Self::ChallengeScore),
            "OLAJGECKMJE_AMEABNLMMGB" => Some(Self::Ameabnlmmgb),
            "OLAJGECKMJE_FBCAELMEIDP" => Some(Self::Fbcaelmeidp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kpoieopcejl {
    Pjaaadfokkc = 0,
    Lmgjeffhbhf = 1,
    Jbgodloeopf = 2,
    Dogmhoaojfd = 3,
}
impl Kpoieopcejl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pjaaadfokkc => "KPOIEOPCEJL_PJAAADFOKKC",
            Self::Lmgjeffhbhf => "KPOIEOPCEJL_LMGJEFFHBHF",
            Self::Jbgodloeopf => "KPOIEOPCEJL_JBGODLOEOPF",
            Self::Dogmhoaojfd => "KPOIEOPCEJL_DOGMHOAOJFD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KPOIEOPCEJL_PJAAADFOKKC" => Some(Self::Pjaaadfokkc),
            "KPOIEOPCEJL_LMGJEFFHBHF" => Some(Self::Lmgjeffhbhf),
            "KPOIEOPCEJL_JBGODLOEOPF" => Some(Self::Jbgodloeopf),
            "KPOIEOPCEJL_DOGMHOAOJFD" => Some(Self::Dogmhoaojfd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdfapklgefm {
    Lcokojcgkhp = 0,
    Nmdopkbenea = 1,
}
impl Hdfapklgefm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lcokojcgkhp => "HDFAPKLGEFM_LCOKOJCGKHP",
            Self::Nmdopkbenea => "HDFAPKLGEFM_NMDOPKBENEA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDFAPKLGEFM_LCOKOJCGKHP" => Some(Self::Lcokojcgkhp),
            "HDFAPKLGEFM_NMDOPKBENEA" => Some(Self::Nmdopkbenea),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nlnebdeeonp {
    Hhddifhgnhd = 0,
    Ldancjmpnmb = 1,
}
impl Nlnebdeeonp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hhddifhgnhd => "NLNEBDEEONP_HHDDIFHGNHD",
            Self::Ldancjmpnmb => "NLNEBDEEONP_LDANCJMPNMB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NLNEBDEEONP_HHDDIFHGNHD" => Some(Self::Hhddifhgnhd),
            "NLNEBDEEONP_LDANCJMPNMB" => Some(Self::Ldancjmpnmb),
            _ => None,
        }
    }
}
#[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: BattleStaticticEventType
#[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 Nimfanhlfnj {
    Faafekofgbl = 0,
    Amcjddipljn = 1,
    Bnnnglngchl = 2,
    Dibhichmjfe = 3,
    Lkddachpoam = 4,
}
impl Nimfanhlfnj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Faafekofgbl => "NIMFANHLFNJ_FAAFEKOFGBL",
            Self::Amcjddipljn => "NIMFANHLFNJ_AMCJDDIPLJN",
            Self::Bnnnglngchl => "NIMFANHLFNJ_BNNNGLNGCHL",
            Self::Dibhichmjfe => "NIMFANHLFNJ_DIBHICHMJFE",
            Self::Lkddachpoam => "NIMFANHLFNJ_LKDDACHPOAM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NIMFANHLFNJ_FAAFEKOFGBL" => Some(Self::Faafekofgbl),
            "NIMFANHLFNJ_AMCJDDIPLJN" => Some(Self::Amcjddipljn),
            "NIMFANHLFNJ_BNNNGLNGCHL" => Some(Self::Bnnnglngchl),
            "NIMFANHLFNJ_DIBHICHMJFE" => Some(Self::Dibhichmjfe),
            "NIMFANHLFNJ_LKDDACHPOAM" => Some(Self::Lkddachpoam),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iddpbeamdao {
    Iiocedfjpnh = 0,
    Nbfhcjmnhag = 1,
    Dhhhkojbkcj = 2,
}
impl Iddpbeamdao {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Iiocedfjpnh => "IDDPBEAMDAO_IIOCEDFJPNH",
            Self::Nbfhcjmnhag => "IDDPBEAMDAO_NBFHCJMNHAG",
            Self::Dhhhkojbkcj => "IDDPBEAMDAO_DHHHKOJBKCJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDDPBEAMDAO_IIOCEDFJPNH" => Some(Self::Iiocedfjpnh),
            "IDDPBEAMDAO_NBFHCJMNHAG" => Some(Self::Nbfhcjmnhag),
            "IDDPBEAMDAO_DHHHKOJBKCJ" => Some(Self::Dhhhkojbkcj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Abbhaalibah {
    Idipgipfjje = 0,
    Idjhpoclfih = 1,
    Bfepjfdficc = 2,
    Lnbmbnjicbi = 3,
    Pmeehgmpnlk = 4,
}
impl Abbhaalibah {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Idipgipfjje => "ABBHAALIBAH_IDIPGIPFJJE",
            Self::Idjhpoclfih => "ABBHAALIBAH_IDJHPOCLFIH",
            Self::Bfepjfdficc => "ABBHAALIBAH_BFEPJFDFICC",
            Self::Lnbmbnjicbi => "ABBHAALIBAH_LNBMBNJICBI",
            Self::Pmeehgmpnlk => "ABBHAALIBAH_PMEEHGMPNLK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABBHAALIBAH_IDIPGIPFJJE" => Some(Self::Idipgipfjje),
            "ABBHAALIBAH_IDJHPOCLFIH" => Some(Self::Idjhpoclfih),
            "ABBHAALIBAH_BFEPJFDFICC" => Some(Self::Bfepjfdficc),
            "ABBHAALIBAH_LNBMBNJICBI" => Some(Self::Lnbmbnjicbi),
            "ABBHAALIBAH_PMEEHGMPNLK" => Some(Self::Pmeehgmpnlk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cacgkijhemg {
    Kfdemffjnka = 0,
    Dgapmmelbpe = 1,
    Mcbpephoohk = 2,
    Ccchhgemjgm = 3,
    Hjgpmamoabn = 4,
    Onblmifehkk = 5,
}
impl Cacgkijhemg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kfdemffjnka => "CACGKIJHEMG_KFDEMFFJNKA",
            Self::Dgapmmelbpe => "CACGKIJHEMG_DGAPMMELBPE",
            Self::Mcbpephoohk => "CACGKIJHEMG_MCBPEPHOOHK",
            Self::Ccchhgemjgm => "CACGKIJHEMG_CCCHHGEMJGM",
            Self::Hjgpmamoabn => "CACGKIJHEMG_HJGPMAMOABN",
            Self::Onblmifehkk => "CACGKIJHEMG_ONBLMIFEHKK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CACGKIJHEMG_KFDEMFFJNKA" => Some(Self::Kfdemffjnka),
            "CACGKIJHEMG_DGAPMMELBPE" => Some(Self::Dgapmmelbpe),
            "CACGKIJHEMG_MCBPEPHOOHK" => Some(Self::Mcbpephoohk),
            "CACGKIJHEMG_CCCHHGEMJGM" => Some(Self::Ccchhgemjgm),
            "CACGKIJHEMG_HJGPMAMOABN" => Some(Self::Hjgpmamoabn),
            "CACGKIJHEMG_ONBLMIFEHKK" => Some(Self::Onblmifehkk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gkfebachahc {
    Akomdallncc = 0,
    Lgimnfongpo = 1,
    Fmnhinmbdof = 2,
}
impl Gkfebachahc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Akomdallncc => "GKFEBACHAHC_AKOMDALLNCC",
            Self::Lgimnfongpo => "GKFEBACHAHC_LGIMNFONGPO",
            Self::Fmnhinmbdof => "GKFEBACHAHC_FMNHINMBDOF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GKFEBACHAHC_AKOMDALLNCC" => Some(Self::Akomdallncc),
            "GKFEBACHAHC_LGIMNFONGPO" => Some(Self::Lgimnfongpo),
            "GKFEBACHAHC_FMNHINMBDOF" => Some(Self::Fmnhinmbdof),
            _ => None,
        }
    }
}
/// Obf: BattleEndStatus
#[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 Gbgoiajbmbe {
    Fbmlgfkdpdp = 0,
    Blcffehjcak = 1,
    Epiipaepnde = 2,
}
impl Gbgoiajbmbe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fbmlgfkdpdp => "GBGOIAJBMBE_FBMLGFKDPDP",
            Self::Blcffehjcak => "GBGOIAJBMBE_BLCFFEHJCAK",
            Self::Epiipaepnde => "GBGOIAJBMBE_EPIIPAEPNDE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GBGOIAJBMBE_FBMLGFKDPDP" => Some(Self::Fbmlgfkdpdp),
            "GBGOIAJBMBE_BLCFFEHJCAK" => Some(Self::Blcffehjcak),
            "GBGOIAJBMBE_EPIIPAEPNDE" => Some(Self::Epiipaepnde),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kdncobmffeb {
    Nlcdgipgfdj = 0,
    Bdoemdghhep = 1,
    StopDesc = 2,
    Lmjcpmfphlk = 3,
    Fhdmhkomefo = 4,
    Fckihkaiiij = 5,
}
impl Kdncobmffeb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "KDNCOBMFFEB_NLCDGIPGFDJ",
            Self::Bdoemdghhep => "KDNCOBMFFEB_BDOEMDGHHEP",
            Self::StopDesc => "KDNCOBMFFEB_stop_desc",
            Self::Lmjcpmfphlk => "KDNCOBMFFEB_LMJCPMFPHLK",
            Self::Fhdmhkomefo => "KDNCOBMFFEB_FHDMHKOMEFO",
            Self::Fckihkaiiij => "KDNCOBMFFEB_FCKIHKAIIIJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KDNCOBMFFEB_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "KDNCOBMFFEB_BDOEMDGHHEP" => Some(Self::Bdoemdghhep),
            "KDNCOBMFFEB_stop_desc" => Some(Self::StopDesc),
            "KDNCOBMFFEB_LMJCPMFPHLK" => Some(Self::Lmjcpmfphlk),
            "KDNCOBMFFEB_FHDMHKOMEFO" => Some(Self::Fhdmhkomefo),
            "KDNCOBMFFEB_FCKIHKAIIIJ" => Some(Self::Fckihkaiiij),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Goecdmpjmcm {
    Nlcdgipgfdj = 0,
    Ikkjhnhkfog = 1,
    Ffbieehpknd = 2,
    Jfnmpejeioh = 3,
}
impl Goecdmpjmcm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GOECDMPJMCM_NLCDGIPGFDJ",
            Self::Ikkjhnhkfog => "GOECDMPJMCM_IKKJHNHKFOG",
            Self::Ffbieehpknd => "GOECDMPJMCM_FFBIEEHPKND",
            Self::Jfnmpejeioh => "GOECDMPJMCM_JFNMPEJEIOH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GOECDMPJMCM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GOECDMPJMCM_IKKJHNHKFOG" => Some(Self::Ikkjhnhkfog),
            "GOECDMPJMCM_FFBIEEHPKND" => Some(Self::Ffbieehpknd),
            "GOECDMPJMCM_JFNMPEJEIOH" => Some(Self::Jfnmpejeioh),
            _ => None,
        }
    }
}
/// Obf: FJPMJPEKLJL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightGameMode {
    FjpmjpekljlNlcdgipgfdj = 0,
    FjpmjpekljlEamcpopphen = 1,
    FjpmjpekljlKpeknpodekj = 2,
    FjpmjpekljlNhaadpkocmk = 3,
    FjpmjpekljlGcmnkejimfi = 4,
    FjpmjpekljlBbeaioohdbe = 5,
    FjpmjpekljlBlbmapamfhe = 6,
    FjpmjpekljlFbpgilkigbe = 7,
    FjpmjpekljlMkhlalnlola = 8,
    FjpmjpekljlAahdllnejel = 9,
}
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::FjpmjpekljlNlcdgipgfdj => "FJPMJPEKLJL_NLCDGIPGFDJ",
            Self::FjpmjpekljlEamcpopphen => "FJPMJPEKLJL_EAMCPOPPHEN",
            Self::FjpmjpekljlKpeknpodekj => "FJPMJPEKLJL_KPEKNPODEKJ",
            Self::FjpmjpekljlNhaadpkocmk => "FJPMJPEKLJL_NHAADPKOCMK",
            Self::FjpmjpekljlGcmnkejimfi => "FJPMJPEKLJL_GCMNKEJIMFI",
            Self::FjpmjpekljlBbeaioohdbe => "FJPMJPEKLJL_BBEAIOOHDBE",
            Self::FjpmjpekljlBlbmapamfhe => "FJPMJPEKLJL_BLBMAPAMFHE",
            Self::FjpmjpekljlFbpgilkigbe => "FJPMJPEKLJL_FBPGILKIGBE",
            Self::FjpmjpekljlMkhlalnlola => "FJPMJPEKLJL_MKHLALNLOLA",
            Self::FjpmjpekljlAahdllnejel => "FJPMJPEKLJL_AAHDLLNEJEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FJPMJPEKLJL_NLCDGIPGFDJ" => Some(Self::FjpmjpekljlNlcdgipgfdj),
            "FJPMJPEKLJL_EAMCPOPPHEN" => Some(Self::FjpmjpekljlEamcpopphen),
            "FJPMJPEKLJL_KPEKNPODEKJ" => Some(Self::FjpmjpekljlKpeknpodekj),
            "FJPMJPEKLJL_NHAADPKOCMK" => Some(Self::FjpmjpekljlNhaadpkocmk),
            "FJPMJPEKLJL_GCMNKEJIMFI" => Some(Self::FjpmjpekljlGcmnkejimfi),
            "FJPMJPEKLJL_BBEAIOOHDBE" => Some(Self::FjpmjpekljlBbeaioohdbe),
            "FJPMJPEKLJL_BLBMAPAMFHE" => Some(Self::FjpmjpekljlBlbmapamfhe),
            "FJPMJPEKLJL_FBPGILKIGBE" => Some(Self::FjpmjpekljlFbpgilkigbe),
            "FJPMJPEKLJL_MKHLALNLOLA" => Some(Self::FjpmjpekljlMkhlalnlola),
            "FJPMJPEKLJL_AAHDLLNEJEL" => Some(Self::FjpmjpekljlAahdllnejel),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fhkoiplihdo {
    Kooojmklbko = 0,
    Alhncflpeln = 1,
    Fhmjdnjcfgj = 2,
    Aoaekhofoed = 3,
    Kmgkccigpan = 4,
}
impl Fhkoiplihdo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kooojmklbko => "FHKOIPLIHDO_KOOOJMKLBKO",
            Self::Alhncflpeln => "FHKOIPLIHDO_ALHNCFLPELN",
            Self::Fhmjdnjcfgj => "FHKOIPLIHDO_FHMJDNJCFGJ",
            Self::Aoaekhofoed => "FHKOIPLIHDO_AOAEKHOFOED",
            Self::Kmgkccigpan => "FHKOIPLIHDO_KMGKCCIGPAN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FHKOIPLIHDO_KOOOJMKLBKO" => Some(Self::Kooojmklbko),
            "FHKOIPLIHDO_ALHNCFLPELN" => Some(Self::Alhncflpeln),
            "FHKOIPLIHDO_FHMJDNJCFGJ" => Some(Self::Fhmjdnjcfgj),
            "FHKOIPLIHDO_AOAEKHOFOED" => Some(Self::Aoaekhofoed),
            "FHKOIPLIHDO_KMGKCCIGPAN" => Some(Self::Kmgkccigpan),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lkfbiallbdk {
    Efagelokhah = 0,
    Eflaafekblo = 1,
    Mhoepnoagdn = 2,
    Gllicmomcoa = 3,
}
impl Lkfbiallbdk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Efagelokhah => "LKFBIALLBDK_EFAGELOKHAH",
            Self::Eflaafekblo => "LKFBIALLBDK_EFLAAFEKBLO",
            Self::Mhoepnoagdn => "LKFBIALLBDK_MHOEPNOAGDN",
            Self::Gllicmomcoa => "LKFBIALLBDK_GLLICMOMCOA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LKFBIALLBDK_EFAGELOKHAH" => Some(Self::Efagelokhah),
            "LKFBIALLBDK_EFLAAFEKBLO" => Some(Self::Eflaafekblo),
            "LKFBIALLBDK_MHOEPNOAGDN" => Some(Self::Mhoepnoagdn),
            "LKFBIALLBDK_GLLICMOMCOA" => Some(Self::Gllicmomcoa),
            _ => None,
        }
    }
}
/// Obf: JPJAJPOGCJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyCharacterStatus {
    JpjajpogcjjNlcdgipgfdj = 0,
    JpjajpogcjjBpocohfiaoh = 1,
    JpjajpogcjjNcipehohdmg = 2,
    JpjajpogcjjHmogohofpfg = 3,
    JpjajpogcjjHnadonafddn = 4,
    JpjajpogcjjAnaijlloohf = 5,
    JpjajpogcjjAilkhmphlep = 6,
    JpjajpogcjjHigmnpcoong = 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::JpjajpogcjjNlcdgipgfdj => "JPJAJPOGCJJ_NLCDGIPGFDJ",
            Self::JpjajpogcjjBpocohfiaoh => "JPJAJPOGCJJ_BPOCOHFIAOH",
            Self::JpjajpogcjjNcipehohdmg => "JPJAJPOGCJJ_NCIPEHOHDMG",
            Self::JpjajpogcjjHmogohofpfg => "JPJAJPOGCJJ_HMOGOHOFPFG",
            Self::JpjajpogcjjHnadonafddn => "JPJAJPOGCJJ_HNADONAFDDN",
            Self::JpjajpogcjjAnaijlloohf => "JPJAJPOGCJJ_ANAIJLLOOHF",
            Self::JpjajpogcjjAilkhmphlep => "JPJAJPOGCJJ_AILKHMPHLEP",
            Self::JpjajpogcjjHigmnpcoong => "JPJAJPOGCJJ_HIGMNPCOONG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JPJAJPOGCJJ_NLCDGIPGFDJ" => Some(Self::JpjajpogcjjNlcdgipgfdj),
            "JPJAJPOGCJJ_BPOCOHFIAOH" => Some(Self::JpjajpogcjjBpocohfiaoh),
            "JPJAJPOGCJJ_NCIPEHOHDMG" => Some(Self::JpjajpogcjjNcipehohdmg),
            "JPJAJPOGCJJ_HMOGOHOFPFG" => Some(Self::JpjajpogcjjHmogohofpfg),
            "JPJAJPOGCJJ_HNADONAFDDN" => Some(Self::JpjajpogcjjHnadonafddn),
            "JPJAJPOGCJJ_ANAIJLLOOHF" => Some(Self::JpjajpogcjjAnaijlloohf),
            "JPJAJPOGCJJ_AILKHMPHLEP" => Some(Self::JpjajpogcjjAilkhmphlep),
            "JPJAJPOGCJJ_HIGMNPCOONG" => Some(Self::JpjajpogcjjHigmnpcoong),
            _ => None,
        }
    }
}
/// Obf: CJHHGHKGAIL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyModifyType {
    CjhhghkgailNlcdgipgfdj = 0,
    CjhhghkgailBpocohfiaoh = 1,
    CjhhghkgailHmogohofpfg = 2,
    CjhhghkgailNcipehohdmg = 3,
    CjhhghkgailBhmegephbic = 4,
    CjhhghkgailEhinopgcaee = 5,
    CjhhghkgailPinpknjdklp = 6,
    CjhhghkgailOiingmjahfa = 7,
    CjhhghkgailAcebekccmeg = 8,
    CjhhghkgailHiofmonbflo = 9,
    CjhhghkgailNdmljelopcm = 10,
    CjhhghkgailKokihlkejol = 11,
    CjhhghkgailCgdobhjpmhi = 12,
    CjhhghkgailMnfofjkgchl = 13,
    CjhhghkgailMnpcjljikml = 14,
    CjhhghkgailHdobalifgcg = 15,
    CjhhghkgailHigmnpcoong = 16,
    CjhhghkgailKpkneplalok = 17,
    CjhhghkgailNgigckjnpjc = 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::CjhhghkgailNlcdgipgfdj => "CJHHGHKGAIL_NLCDGIPGFDJ",
            Self::CjhhghkgailBpocohfiaoh => "CJHHGHKGAIL_BPOCOHFIAOH",
            Self::CjhhghkgailHmogohofpfg => "CJHHGHKGAIL_HMOGOHOFPFG",
            Self::CjhhghkgailNcipehohdmg => "CJHHGHKGAIL_NCIPEHOHDMG",
            Self::CjhhghkgailBhmegephbic => "CJHHGHKGAIL_BHMEGEPHBIC",
            Self::CjhhghkgailEhinopgcaee => "CJHHGHKGAIL_EHINOPGCAEE",
            Self::CjhhghkgailPinpknjdklp => "CJHHGHKGAIL_PINPKNJDKLP",
            Self::CjhhghkgailOiingmjahfa => "CJHHGHKGAIL_OIINGMJAHFA",
            Self::CjhhghkgailAcebekccmeg => "CJHHGHKGAIL_ACEBEKCCMEG",
            Self::CjhhghkgailHiofmonbflo => "CJHHGHKGAIL_HIOFMONBFLO",
            Self::CjhhghkgailNdmljelopcm => "CJHHGHKGAIL_NDMLJELOPCM",
            Self::CjhhghkgailKokihlkejol => "CJHHGHKGAIL_KOKIHLKEJOL",
            Self::CjhhghkgailCgdobhjpmhi => "CJHHGHKGAIL_CGDOBHJPMHI",
            Self::CjhhghkgailMnfofjkgchl => "CJHHGHKGAIL_MNFOFJKGCHL",
            Self::CjhhghkgailMnpcjljikml => "CJHHGHKGAIL_MNPCJLJIKML",
            Self::CjhhghkgailHdobalifgcg => "CJHHGHKGAIL_HDOBALIFGCG",
            Self::CjhhghkgailHigmnpcoong => "CJHHGHKGAIL_HIGMNPCOONG",
            Self::CjhhghkgailKpkneplalok => "CJHHGHKGAIL_KPKNEPLALOK",
            Self::CjhhghkgailNgigckjnpjc => "CJHHGHKGAIL_NGIGCKJNPJC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CJHHGHKGAIL_NLCDGIPGFDJ" => Some(Self::CjhhghkgailNlcdgipgfdj),
            "CJHHGHKGAIL_BPOCOHFIAOH" => Some(Self::CjhhghkgailBpocohfiaoh),
            "CJHHGHKGAIL_HMOGOHOFPFG" => Some(Self::CjhhghkgailHmogohofpfg),
            "CJHHGHKGAIL_NCIPEHOHDMG" => Some(Self::CjhhghkgailNcipehohdmg),
            "CJHHGHKGAIL_BHMEGEPHBIC" => Some(Self::CjhhghkgailBhmegephbic),
            "CJHHGHKGAIL_EHINOPGCAEE" => Some(Self::CjhhghkgailEhinopgcaee),
            "CJHHGHKGAIL_PINPKNJDKLP" => Some(Self::CjhhghkgailPinpknjdklp),
            "CJHHGHKGAIL_OIINGMJAHFA" => Some(Self::CjhhghkgailOiingmjahfa),
            "CJHHGHKGAIL_ACEBEKCCMEG" => Some(Self::CjhhghkgailAcebekccmeg),
            "CJHHGHKGAIL_HIOFMONBFLO" => Some(Self::CjhhghkgailHiofmonbflo),
            "CJHHGHKGAIL_NDMLJELOPCM" => Some(Self::CjhhghkgailNdmljelopcm),
            "CJHHGHKGAIL_KOKIHLKEJOL" => Some(Self::CjhhghkgailKokihlkejol),
            "CJHHGHKGAIL_CGDOBHJPMHI" => Some(Self::CjhhghkgailCgdobhjpmhi),
            "CJHHGHKGAIL_MNFOFJKGCHL" => Some(Self::CjhhghkgailMnfofjkgchl),
            "CJHHGHKGAIL_MNPCJLJIKML" => Some(Self::CjhhghkgailMnpcjljikml),
            "CJHHGHKGAIL_HDOBALIFGCG" => Some(Self::CjhhghkgailHdobalifgcg),
            "CJHHGHKGAIL_HIGMNPCOONG" => Some(Self::CjhhghkgailHigmnpcoong),
            "CJHHGHKGAIL_KPKNEPLALOK" => Some(Self::CjhhghkgailKpkneplalok),
            "CJHHGHKGAIL_NGIGCKJNPJC" => Some(Self::CjhhghkgailNgigckjnpjc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ffbbhaalibg {
    Geiphkgajod = 0,
    Cllcacfekin = 1,
    Kphghpcemma = 2,
}
impl Ffbbhaalibg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Geiphkgajod => "FFBBHAALIBG_GEIPHKGAJOD",
            Self::Cllcacfekin => "FFBBHAALIBG_CLLCACFEKIN",
            Self::Kphghpcemma => "FFBBHAALIBG_KPHGHPCEMMA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FFBBHAALIBG_GEIPHKGAJOD" => Some(Self::Geiphkgajod),
            "FFBBHAALIBG_CLLCACFEKIN" => Some(Self::Cllcacfekin),
            "FFBBHAALIBG_KPHGHPCEMMA" => Some(Self::Kphghpcemma),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nppemmillco {
    Hglifjghade = 0,
    Opcknbhnboa = 1,
    Ceabdbjpiof = 2,
    Honkpompeoo = 3,
    Hofpnhibdkl = 4,
    Ehniplneedi = 5,
    Faodkndlnpf = 6,
    Jcnbpnhebbh = 7,
}
impl Nppemmillco {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hglifjghade => "NPPEMMILLCO_HGLIFJGHADE",
            Self::Opcknbhnboa => "NPPEMMILLCO_OPCKNBHNBOA",
            Self::Ceabdbjpiof => "NPPEMMILLCO_CEABDBJPIOF",
            Self::Honkpompeoo => "NPPEMMILLCO_HONKPOMPEOO",
            Self::Hofpnhibdkl => "NPPEMMILLCO_HOFPNHIBDKL",
            Self::Ehniplneedi => "NPPEMMILLCO_EHNIPLNEEDI",
            Self::Faodkndlnpf => "NPPEMMILLCO_FAODKNDLNPF",
            Self::Jcnbpnhebbh => "NPPEMMILLCO_JCNBPNHEBBH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NPPEMMILLCO_HGLIFJGHADE" => Some(Self::Hglifjghade),
            "NPPEMMILLCO_OPCKNBHNBOA" => Some(Self::Opcknbhnboa),
            "NPPEMMILLCO_CEABDBJPIOF" => Some(Self::Ceabdbjpiof),
            "NPPEMMILLCO_HONKPOMPEOO" => Some(Self::Honkpompeoo),
            "NPPEMMILLCO_HOFPNHIBDKL" => Some(Self::Hofpnhibdkl),
            "NPPEMMILLCO_EHNIPLNEEDI" => Some(Self::Ehniplneedi),
            "NPPEMMILLCO_FAODKNDLNPF" => Some(Self::Faodkndlnpf),
            "NPPEMMILLCO_JCNBPNHEBBH" => Some(Self::Jcnbpnhebbh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ojnefjdggem {
    Nlcdgipgfdj = 0,
    Nkdecdgecfl = 1,
    Kehgboedkab = 2,
    Dacemidfhog = 3,
}
impl Ojnefjdggem {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OJNEFJDGGEM_NLCDGIPGFDJ",
            Self::Nkdecdgecfl => "OJNEFJDGGEM_NKDECDGECFL",
            Self::Kehgboedkab => "OJNEFJDGGEM_KEHGBOEDKAB",
            Self::Dacemidfhog => "OJNEFJDGGEM_DACEMIDFHOG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OJNEFJDGGEM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OJNEFJDGGEM_NKDECDGECFL" => Some(Self::Nkdecdgecfl),
            "OJNEFJDGGEM_KEHGBOEDKAB" => Some(Self::Kehgboedkab),
            "OJNEFJDGGEM_DACEMIDFHOG" => Some(Self::Dacemidfhog),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fibdgjbojea {
    Nlcdgipgfdj = 0,
    Dajhcekhnbh = 1,
    Fegiodiklkb = 2,
}
impl Fibdgjbojea {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FIBDGJBOJEA_NLCDGIPGFDJ",
            Self::Dajhcekhnbh => "FIBDGJBOJEA_DAJHCEKHNBH",
            Self::Fegiodiklkb => "FIBDGJBOJEA_FEGIODIKLKB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FIBDGJBOJEA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FIBDGJBOJEA_DAJHCEKHNBH" => Some(Self::Dajhcekhnbh),
            "FIBDGJBOJEA_FEGIODIKLKB" => Some(Self::Fegiodiklkb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dilhpbmcofk {
    Gpodjjohnne = 0,
    Nhjlcddjbga = 1,
    Miendcjgdjg = 2,
    Ldkkkjoiokf = 3,
}
impl Dilhpbmcofk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gpodjjohnne => "DILHPBMCOFK_GPODJJOHNNE",
            Self::Nhjlcddjbga => "DILHPBMCOFK_NHJLCDDJBGA",
            Self::Miendcjgdjg => "DILHPBMCOFK_MIENDCJGDJG",
            Self::Ldkkkjoiokf => "DILHPBMCOFK_LDKKKJOIOKF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DILHPBMCOFK_GPODJJOHNNE" => Some(Self::Gpodjjohnne),
            "DILHPBMCOFK_NHJLCDDJBGA" => Some(Self::Nhjlcddjbga),
            "DILHPBMCOFK_MIENDCJGDJG" => Some(Self::Miendcjgdjg),
            "DILHPBMCOFK_LDKKKJOIOKF" => Some(Self::Ldkkkjoiokf),
            _ => None,
        }
    }
}
/// Obf: ODPJEOGDIKF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LobbyInteractType {
    OdpjeogdikfNlcdgipgfdj = 0,
    OdpjeogdikfDpmkfjkkkka = 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::OdpjeogdikfNlcdgipgfdj => "ODPJEOGDIKF_NLCDGIPGFDJ",
            Self::OdpjeogdikfDpmkfjkkkka => "ODPJEOGDIKF_DPMKFJKKKKA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ODPJEOGDIKF_NLCDGIPGFDJ" => Some(Self::OdpjeogdikfNlcdgipgfdj),
            "ODPJEOGDIKF_DPMKFJKKKKA" => Some(Self::OdpjeogdikfDpmkfjkkkka),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hgmndbfcbll {
    Nlcdgipgfdj = 0,
    Cpjdkcdjfna = 1,
    Apbcepnockg = 2,
}
impl Hgmndbfcbll {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "HGMNDBFCBLL_NLCDGIPGFDJ",
            Self::Cpjdkcdjfna => "HGMNDBFCBLL_CPJDKCDJFNA",
            Self::Apbcepnockg => "HGMNDBFCBLL_APBCEPNOCKG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HGMNDBFCBLL_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "HGMNDBFCBLL_CPJDKCDJFNA" => Some(Self::Cpjdkcdjfna),
            "HGMNDBFCBLL_APBCEPNOCKG" => Some(Self::Apbcepnockg),
            _ => None,
        }
    }
}
/// Obf: OCLACMHKMFO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TeamTowersGameType {
    OclacmhkmfoNlcdgipgfdj = 0,
    OclacmhkmfoAjndodbcpdb = 1,
    OclacmhkmfoGcnbgnabmkn = 2,
    OclacmhkmfoHoihemdineh = 3,
    OclacmhkmfoCbfhenkamko = 4,
}
impl TeamTowersGameType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::OclacmhkmfoNlcdgipgfdj => "OCLACMHKMFO_NLCDGIPGFDJ",
            Self::OclacmhkmfoAjndodbcpdb => "OCLACMHKMFO_AJNDODBCPDB",
            Self::OclacmhkmfoGcnbgnabmkn => "OCLACMHKMFO_GCNBGNABMKN",
            Self::OclacmhkmfoHoihemdineh => "OCLACMHKMFO_HOIHEMDINEH",
            Self::OclacmhkmfoCbfhenkamko => "OCLACMHKMFO_CBFHENKAMKO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OCLACMHKMFO_NLCDGIPGFDJ" => Some(Self::OclacmhkmfoNlcdgipgfdj),
            "OCLACMHKMFO_AJNDODBCPDB" => Some(Self::OclacmhkmfoAjndodbcpdb),
            "OCLACMHKMFO_GCNBGNABMKN" => Some(Self::OclacmhkmfoGcnbgnabmkn),
            "OCLACMHKMFO_HOIHEMDINEH" => Some(Self::OclacmhkmfoHoihemdineh),
            "OCLACMHKMFO_CBFHENKAMKO" => Some(Self::OclacmhkmfoCbfhenkamko),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Egmoemciino {
    Akacjkibjmc = 0,
    Dgoaolihlnc = 1,
    Gibeobdjjle = 2,
}
impl Egmoemciino {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Akacjkibjmc => "EGMOEMCIINO_AKACJKIBJMC",
            Self::Dgoaolihlnc => "EGMOEMCIINO_DGOAOLIHLNC",
            Self::Gibeobdjjle => "EGMOEMCIINO_GIBEOBDJJLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EGMOEMCIINO_AKACJKIBJMC" => Some(Self::Akacjkibjmc),
            "EGMOEMCIINO_DGOAOLIHLNC" => Some(Self::Dgoaolihlnc),
            "EGMOEMCIINO_GIBEOBDJJLE" => Some(Self::Gibeobdjjle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Abpeealgkao {
    Fkmokgobehj = 0,
    Mfaegbjbjbe = 1,
    Keeabeolaof = 2,
}
impl Abpeealgkao {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fkmokgobehj => "ABPEEALGKAO_FKMOKGOBEHJ",
            Self::Mfaegbjbjbe => "ABPEEALGKAO_MFAEGBJBJBE",
            Self::Keeabeolaof => "ABPEEALGKAO_KEEABEOLAOF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABPEEALGKAO_FKMOKGOBEHJ" => Some(Self::Fkmokgobehj),
            "ABPEEALGKAO_MFAEGBJBJBE" => Some(Self::Mfaegbjbjbe),
            "ABPEEALGKAO_KEEABEOLAOF" => Some(Self::Keeabeolaof),
            _ => 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,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mfpdakoioed {
    Kcocmmiacmb = 0,
    Flmpfofpagb = 1,
}
impl Mfpdakoioed {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kcocmmiacmb => "MFPDAKOIOED_KCOCMMIACMB",
            Self::Flmpfofpagb => "MFPDAKOIOED_FLMPFOFPAGB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MFPDAKOIOED_KCOCMMIACMB" => Some(Self::Kcocmmiacmb),
            "MFPDAKOIOED_FLMPFOFPAGB" => Some(Self::Flmpfofpagb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cbpdacmbhgl {
    Mmcgpcnjgcc = 0,
    Clkmdieedkj = 1,
}
impl Cbpdacmbhgl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mmcgpcnjgcc => "CBPDACMBHGL_MMCGPCNJGCC",
            Self::Clkmdieedkj => "CBPDACMBHGL_CLKMDIEEDKJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CBPDACMBHGL_MMCGPCNJGCC" => Some(Self::Mmcgpcnjgcc),
            "CBPDACMBHGL_CLKMDIEEDKJ" => Some(Self::Clkmdieedkj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bomholbackf {
    Hglifjghade = 0,
    Pdjajhelpkl = 1,
}
impl Bomholbackf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hglifjghade => "BOMHOLBACKF_HGLIFJGHADE",
            Self::Pdjajhelpkl => "BOMHOLBACKF_PDJAJHELPKL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BOMHOLBACKF_HGLIFJGHADE" => Some(Self::Hglifjghade),
            "BOMHOLBACKF_PDJAJHELPKL" => Some(Self::Pdjajhelpkl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mebhanngplj {
    Nlcdgipgfdj = 0,
    Chejbpekaga = 1,
    Dhfgmbgoknc = 2,
    Bfeajgddgkl = 3,
    Eimnkkefobc = 4,
    Lndpeiknlaf = 5,
    Ocnkgompljo = 6,
}
impl Mebhanngplj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MEBHANNGPLJ_NLCDGIPGFDJ",
            Self::Chejbpekaga => "MEBHANNGPLJ_CHEJBPEKAGA",
            Self::Dhfgmbgoknc => "MEBHANNGPLJ_DHFGMBGOKNC",
            Self::Bfeajgddgkl => "MEBHANNGPLJ_BFEAJGDDGKL",
            Self::Eimnkkefobc => "MEBHANNGPLJ_EIMNKKEFOBC",
            Self::Lndpeiknlaf => "MEBHANNGPLJ_LNDPEIKNLAF",
            Self::Ocnkgompljo => "MEBHANNGPLJ_OCNKGOMPLJO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MEBHANNGPLJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MEBHANNGPLJ_CHEJBPEKAGA" => Some(Self::Chejbpekaga),
            "MEBHANNGPLJ_DHFGMBGOKNC" => Some(Self::Dhfgmbgoknc),
            "MEBHANNGPLJ_BFEAJGDDGKL" => Some(Self::Bfeajgddgkl),
            "MEBHANNGPLJ_EIMNKKEFOBC" => Some(Self::Eimnkkefobc),
            "MEBHANNGPLJ_LNDPEIKNLAF" => Some(Self::Lndpeiknlaf),
            "MEBHANNGPLJ_OCNKGOMPLJO" => Some(Self::Ocnkgompljo),
            _ => None,
        }
    }
}
/// Obf: JGJCDABBNIJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActiveType {
    JgjcdabbnijNlcdgipgfdj = 0,
    CmdGetActiveActivityDataScRsp = 9558,
    CmdGetActiveActivityDataCsReq = 9568,
    CmdTakeActiveActivityRewardScRsp = 9562,
    CmdTakeActiveActivityRewardCsReq = 9553,
    CmdActiveActivityDataChangeScNotify = 9552,
}
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::JgjcdabbnijNlcdgipgfdj => "JGJCDABBNIJ_NLCDGIPGFDJ",
            Self::CmdGetActiveActivityDataScRsp => "CmdGetActiveActivityDataScRsp",
            Self::CmdGetActiveActivityDataCsReq => "CmdGetActiveActivityDataCsReq",
            Self::CmdTakeActiveActivityRewardScRsp => "CmdTakeActiveActivityRewardScRsp",
            Self::CmdTakeActiveActivityRewardCsReq => "CmdTakeActiveActivityRewardCsReq",
            Self::CmdActiveActivityDataChangeScNotify => {
                "CmdActiveActivityDataChangeScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JGJCDABBNIJ_NLCDGIPGFDJ" => Some(Self::JgjcdabbnijNlcdgipgfdj),
            "CmdGetActiveActivityDataScRsp" => Some(Self::CmdGetActiveActivityDataScRsp),
            "CmdGetActiveActivityDataCsReq" => Some(Self::CmdGetActiveActivityDataCsReq),
            "CmdTakeActiveActivityRewardScRsp" => {
                Some(Self::CmdTakeActiveActivityRewardScRsp)
            }
            "CmdTakeActiveActivityRewardCsReq" => {
                Some(Self::CmdTakeActiveActivityRewardCsReq)
            }
            "CmdActiveActivityDataChangeScNotify" => {
                Some(Self::CmdActiveActivityDataChangeScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: AEOMPALBAAH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityType {
    AeompalbaahNlcdgipgfdj = 0,
    CmdStartTrialActivityCsReq = 2698,
    CmdTakeRewardScRsp = 2683,
    CmdTakeTrialActivityRewardCsReq = 2619,
    CmdLeaveTrialActivityScRsp = 2655,
    CmdSubmitMaterialSubmitActivityMaterialScRsp = 2645,
    CmdTakeRewardCsReq = 2623,
    CmdTakeLoginActivityRewardScRsp = 2658,
    CmdLeaveTrialActivityCsReq = 2666,
    CmdGetLoginActivityScRsp = 2678,
    CmdTakeLoginActivityRewardCsReq = 2693,
    AeompalbaahFghjombpekm = 2651,
    CmdChooseAvatarScRsp = 2627,
    CmdGetMaterialSubmitActivityDataCsReq = 2611,
    CmdSubmitMaterialSubmitActivityMaterialCsReq = 2648,
    CmdGetMaterialSubmitActivityDataScRsp = 2636,
    CmdGetDataCsReq = 2606,
    CmdCurTrialActivityScNotify = 2616,
    CmdChooseAvatarCsReq = 2657,
    CmdGetLoginActivityCsReq = 2625,
    CmdTakeMaterialSubmitActivityRewardScRsp = 2665,
    CmdStartTrialActivityScRsp = 2662,
    CmdGetActivityScheduleConfigCsReq = 2688,
    CmdEnterTrialActivityStageScRsp = 2646,
    CmdTrialActivityDataChangeScNotify = 2637,
    CmdTakeTrialActivityRewardScRsp = 2628,
    CmdGetTrialActivityDataScRsp = 2694,
    CmdTakeMaterialSubmitActivityRewardCsReq = 2669,
    CmdGetTrialActivityDataCsReq = 2682,
    CmdGetDataScRsp = 2674,
    CmdGetActivityScheduleConfigScRsp = 2681,
}
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::AeompalbaahNlcdgipgfdj => "AEOMPALBAAH_NLCDGIPGFDJ",
            Self::CmdStartTrialActivityCsReq => "CmdStartTrialActivityCsReq",
            Self::CmdTakeRewardScRsp => "CmdTakeRewardScRsp",
            Self::CmdTakeTrialActivityRewardCsReq => "CmdTakeTrialActivityRewardCsReq",
            Self::CmdLeaveTrialActivityScRsp => "CmdLeaveTrialActivityScRsp",
            Self::CmdSubmitMaterialSubmitActivityMaterialScRsp => {
                "CmdSubmitMaterialSubmitActivityMaterialScRsp"
            }
            Self::CmdTakeRewardCsReq => "CmdTakeRewardCsReq",
            Self::CmdTakeLoginActivityRewardScRsp => "CmdTakeLoginActivityRewardScRsp",
            Self::CmdLeaveTrialActivityCsReq => "CmdLeaveTrialActivityCsReq",
            Self::CmdGetLoginActivityScRsp => "CmdGetLoginActivityScRsp",
            Self::CmdTakeLoginActivityRewardCsReq => "CmdTakeLoginActivityRewardCsReq",
            Self::AeompalbaahFghjombpekm => "AEOMPALBAAH_FGHJOMBPEKM",
            Self::CmdChooseAvatarScRsp => "CmdChooseAvatarScRsp",
            Self::CmdGetMaterialSubmitActivityDataCsReq => {
                "CmdGetMaterialSubmitActivityDataCsReq"
            }
            Self::CmdSubmitMaterialSubmitActivityMaterialCsReq => {
                "CmdSubmitMaterialSubmitActivityMaterialCsReq"
            }
            Self::CmdGetMaterialSubmitActivityDataScRsp => {
                "CmdGetMaterialSubmitActivityDataScRsp"
            }
            Self::CmdGetDataCsReq => "CmdGetDataCsReq",
            Self::CmdCurTrialActivityScNotify => "CmdCurTrialActivityScNotify",
            Self::CmdChooseAvatarCsReq => "CmdChooseAvatarCsReq",
            Self::CmdGetLoginActivityCsReq => "CmdGetLoginActivityCsReq",
            Self::CmdTakeMaterialSubmitActivityRewardScRsp => {
                "CmdTakeMaterialSubmitActivityRewardScRsp"
            }
            Self::CmdStartTrialActivityScRsp => "CmdStartTrialActivityScRsp",
            Self::CmdGetActivityScheduleConfigCsReq => {
                "CmdGetActivityScheduleConfigCsReq"
            }
            Self::CmdEnterTrialActivityStageScRsp => "CmdEnterTrialActivityStageScRsp",
            Self::CmdTrialActivityDataChangeScNotify => {
                "CmdTrialActivityDataChangeScNotify"
            }
            Self::CmdTakeTrialActivityRewardScRsp => "CmdTakeTrialActivityRewardScRsp",
            Self::CmdGetTrialActivityDataScRsp => "CmdGetTrialActivityDataScRsp",
            Self::CmdTakeMaterialSubmitActivityRewardCsReq => {
                "CmdTakeMaterialSubmitActivityRewardCsReq"
            }
            Self::CmdGetTrialActivityDataCsReq => "CmdGetTrialActivityDataCsReq",
            Self::CmdGetDataScRsp => "CmdGetDataScRsp",
            Self::CmdGetActivityScheduleConfigScRsp => {
                "CmdGetActivityScheduleConfigScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AEOMPALBAAH_NLCDGIPGFDJ" => Some(Self::AeompalbaahNlcdgipgfdj),
            "CmdStartTrialActivityCsReq" => Some(Self::CmdStartTrialActivityCsReq),
            "CmdTakeRewardScRsp" => Some(Self::CmdTakeRewardScRsp),
            "CmdTakeTrialActivityRewardCsReq" => {
                Some(Self::CmdTakeTrialActivityRewardCsReq)
            }
            "CmdLeaveTrialActivityScRsp" => Some(Self::CmdLeaveTrialActivityScRsp),
            "CmdSubmitMaterialSubmitActivityMaterialScRsp" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialScRsp)
            }
            "CmdTakeRewardCsReq" => Some(Self::CmdTakeRewardCsReq),
            "CmdTakeLoginActivityRewardScRsp" => {
                Some(Self::CmdTakeLoginActivityRewardScRsp)
            }
            "CmdLeaveTrialActivityCsReq" => Some(Self::CmdLeaveTrialActivityCsReq),
            "CmdGetLoginActivityScRsp" => Some(Self::CmdGetLoginActivityScRsp),
            "CmdTakeLoginActivityRewardCsReq" => {
                Some(Self::CmdTakeLoginActivityRewardCsReq)
            }
            "AEOMPALBAAH_FGHJOMBPEKM" => Some(Self::AeompalbaahFghjombpekm),
            "CmdChooseAvatarScRsp" => Some(Self::CmdChooseAvatarScRsp),
            "CmdGetMaterialSubmitActivityDataCsReq" => {
                Some(Self::CmdGetMaterialSubmitActivityDataCsReq)
            }
            "CmdSubmitMaterialSubmitActivityMaterialCsReq" => {
                Some(Self::CmdSubmitMaterialSubmitActivityMaterialCsReq)
            }
            "CmdGetMaterialSubmitActivityDataScRsp" => {
                Some(Self::CmdGetMaterialSubmitActivityDataScRsp)
            }
            "CmdGetDataCsReq" => Some(Self::CmdGetDataCsReq),
            "CmdCurTrialActivityScNotify" => Some(Self::CmdCurTrialActivityScNotify),
            "CmdChooseAvatarCsReq" => Some(Self::CmdChooseAvatarCsReq),
            "CmdGetLoginActivityCsReq" => Some(Self::CmdGetLoginActivityCsReq),
            "CmdTakeMaterialSubmitActivityRewardScRsp" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardScRsp)
            }
            "CmdStartTrialActivityScRsp" => Some(Self::CmdStartTrialActivityScRsp),
            "CmdGetActivityScheduleConfigCsReq" => {
                Some(Self::CmdGetActivityScheduleConfigCsReq)
            }
            "CmdEnterTrialActivityStageScRsp" => {
                Some(Self::CmdEnterTrialActivityStageScRsp)
            }
            "CmdTrialActivityDataChangeScNotify" => {
                Some(Self::CmdTrialActivityDataChangeScNotify)
            }
            "CmdTakeTrialActivityRewardScRsp" => {
                Some(Self::CmdTakeTrialActivityRewardScRsp)
            }
            "CmdGetTrialActivityDataScRsp" => Some(Self::CmdGetTrialActivityDataScRsp),
            "CmdTakeMaterialSubmitActivityRewardCsReq" => {
                Some(Self::CmdTakeMaterialSubmitActivityRewardCsReq)
            }
            "CmdGetTrialActivityDataCsReq" => Some(Self::CmdGetTrialActivityDataCsReq),
            "CmdGetDataScRsp" => Some(Self::CmdGetDataScRsp),
            "CmdGetActivityScheduleConfigScRsp" => {
                Some(Self::CmdGetActivityScheduleConfigScRsp)
            }
            _ => 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: KFCMCPILLKE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdActivityRewardStatType {
    KfcmcpillkeHbpeddcojdb = 0,
    CmdGetAllActivityRewardCountDataCsReq = 9113,
    CmdGetActivityRewardCountDataScRsp = 9116,
    CmdGetActivityRewardCountDataCsReq = 9114,
    CmdGetActivityHotDataCsReq = 9120,
    CmdGetAllActivityRewardCountDataScRsp = 9115,
    CmdGetActivityHotDataScRsp = 9111,
}
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::KfcmcpillkeHbpeddcojdb => "KFCMCPILLKE_HBPEDDCOJDB",
            Self::CmdGetAllActivityRewardCountDataCsReq => {
                "CmdGetAllActivityRewardCountDataCsReq"
            }
            Self::CmdGetActivityRewardCountDataScRsp => {
                "CmdGetActivityRewardCountDataScRsp"
            }
            Self::CmdGetActivityRewardCountDataCsReq => {
                "CmdGetActivityRewardCountDataCsReq"
            }
            Self::CmdGetActivityHotDataCsReq => "CmdGetActivityHotDataCsReq",
            Self::CmdGetAllActivityRewardCountDataScRsp => {
                "CmdGetAllActivityRewardCountDataScRsp"
            }
            Self::CmdGetActivityHotDataScRsp => "CmdGetActivityHotDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KFCMCPILLKE_HBPEDDCOJDB" => Some(Self::KfcmcpillkeHbpeddcojdb),
            "CmdGetAllActivityRewardCountDataCsReq" => {
                Some(Self::CmdGetAllActivityRewardCountDataCsReq)
            }
            "CmdGetActivityRewardCountDataScRsp" => {
                Some(Self::CmdGetActivityRewardCountDataScRsp)
            }
            "CmdGetActivityRewardCountDataCsReq" => {
                Some(Self::CmdGetActivityRewardCountDataCsReq)
            }
            "CmdGetActivityHotDataCsReq" => Some(Self::CmdGetActivityHotDataCsReq),
            "CmdGetAllActivityRewardCountDataScRsp" => {
                Some(Self::CmdGetAllActivityRewardCountDataScRsp)
            }
            "CmdGetActivityHotDataScRsp" => Some(Self::CmdGetActivityHotDataScRsp),
            _ => None,
        }
    }
}
/// Obf: PCHGEBMKBDD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAdventureType {
    PchgebmkbddNlcdgipgfdj = 0,
    CmdQuickStartCocoonStageCsReq = 1388,
    CmdGetFarmStageGachaInfoCsReq = 1393,
    CmdGetFarmStageGachaInfoScRsp = 1358,
    CmdFarmElementSweepCsReq = 1371,
    CmdQuickStartCocoonStageScRsp = 1381,
    CmdCocoonSweepScRsp = 1313,
    CmdStartQuickFarmElementRsp = 1347,
    CmdFarmElementSweepScRsp = 1340,
    CmdCocoonSweepCsReq = 1326,
    CmdStartQuickFarmElementCsReq = 1386,
}
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::PchgebmkbddNlcdgipgfdj => "PCHGEBMKBDD_NLCDGIPGFDJ",
            Self::CmdQuickStartCocoonStageCsReq => "CmdQuickStartCocoonStageCsReq",
            Self::CmdGetFarmStageGachaInfoCsReq => "CmdGetFarmStageGachaInfoCsReq",
            Self::CmdGetFarmStageGachaInfoScRsp => "CmdGetFarmStageGachaInfoScRsp",
            Self::CmdFarmElementSweepCsReq => "CmdFarmElementSweepCsReq",
            Self::CmdQuickStartCocoonStageScRsp => "CmdQuickStartCocoonStageScRsp",
            Self::CmdCocoonSweepScRsp => "CmdCocoonSweepScRsp",
            Self::CmdStartQuickFarmElementRsp => "CmdStartQuickFarmElementRsp",
            Self::CmdFarmElementSweepScRsp => "CmdFarmElementSweepScRsp",
            Self::CmdCocoonSweepCsReq => "CmdCocoonSweepCsReq",
            Self::CmdStartQuickFarmElementCsReq => "CmdStartQuickFarmElementCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PCHGEBMKBDD_NLCDGIPGFDJ" => Some(Self::PchgebmkbddNlcdgipgfdj),
            "CmdQuickStartCocoonStageCsReq" => Some(Self::CmdQuickStartCocoonStageCsReq),
            "CmdGetFarmStageGachaInfoCsReq" => Some(Self::CmdGetFarmStageGachaInfoCsReq),
            "CmdGetFarmStageGachaInfoScRsp" => Some(Self::CmdGetFarmStageGachaInfoScRsp),
            "CmdFarmElementSweepCsReq" => Some(Self::CmdFarmElementSweepCsReq),
            "CmdQuickStartCocoonStageScRsp" => Some(Self::CmdQuickStartCocoonStageScRsp),
            "CmdCocoonSweepScRsp" => Some(Self::CmdCocoonSweepScRsp),
            "CmdStartQuickFarmElementRsp" => Some(Self::CmdStartQuickFarmElementRsp),
            "CmdFarmElementSweepScRsp" => Some(Self::CmdFarmElementSweepScRsp),
            "CmdCocoonSweepCsReq" => Some(Self::CmdCocoonSweepCsReq),
            "CmdStartQuickFarmElementCsReq" => Some(Self::CmdStartQuickFarmElementCsReq),
            _ => None,
        }
    }
}
/// Obf: BAIILOJDAIB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAetherDivideType {
    BaiilojdaibNlcdgipgfdj = 0,
    CmdAetherDivideLineupScNotify = 4832,
    CmdAetherDivideSpiritInfoScNotify = 4840,
    CmdEquipSkillCoreCsReq = 4833,
    CmdAetherDivideSkillItemScNotify = 4842,
    CmdAetherDivideSpiritExpUpCsReq = 4818,
    CmdTakeOffSkillCoreCsReq = 4802,
    CmdAetherDivideRefreshEndlessScNotify = 4805,
    CmdSetAetherDivideLineUpCsReq = 4817,
    CmdSwitchAetherDivideLineUpSlotScRsp = 4815,
    CmdAetherDivideTakeChallengeRewardScRsp = 4812,
    CmdGetAetherDivideChallengeInfoCsReq = 4826,
    BaiilojdaibDdldiflggkh = 4809,
    CmdLeaveAetherDivideSceneCsReq = 4837,
    CmdStartAetherDivideChallengeBattleScRsp = 4807,
    CmdDmamefjbcle = 4823,
    CmdAetherDivideSpiritExpUpScRsp = 4843,
    CmdSwitchAetherDivideLineUpSlotCsReq = 4835,
    CmdGetAetherDivideChallengeInfoScRsp = 4845,
    CmdTakeOffSkillCoreScRsp = 4814,
    CmdAetherDivideTakeChallengeRewardCsReq = 4841,
    CmdSetAetherDivideLineUpScRsp = 4829,
    CmdStartAetherDivideSceneBattleCsReq = 4819,
    CmdAetherDivideRefreshEndlessScRsp = 4830,
    CmdGetAetherDivideInfoCsReq = 4824,
    CmdAetherDivideTainerInfoScNotify = 4847,
    CmdGetAetherDivideInfoScRsp = 4820,
    CmdEquipSkillCoreScRsp = 4806,
    CmdStartAetherDivideStageBattleScRsp = 4808,
    CmdAetherDivideFinishChallengeScNotify = 4839,
    CmdStartAetherDivideChallengeBattleCsReq = 4803,
    CmdStartAetherDivideSceneBattleScRsp = 4848,
    CmdAetherDivideRefreshEndlessCsReq = 4836,
    CmdLeaveAetherDivideSceneScRsp = 4844,
    CmdStartAetherDivideStageBattleCsReq = 4813,
}
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::BaiilojdaibNlcdgipgfdj => "BAIILOJDAIB_NLCDGIPGFDJ",
            Self::CmdAetherDivideLineupScNotify => "CmdAetherDivideLineupScNotify",
            Self::CmdAetherDivideSpiritInfoScNotify => {
                "CmdAetherDivideSpiritInfoScNotify"
            }
            Self::CmdEquipSkillCoreCsReq => "CmdEquipSkillCoreCsReq",
            Self::CmdAetherDivideSkillItemScNotify => "CmdAetherDivideSkillItemScNotify",
            Self::CmdAetherDivideSpiritExpUpCsReq => "CmdAetherDivideSpiritExpUpCsReq",
            Self::CmdTakeOffSkillCoreCsReq => "CmdTakeOffSkillCoreCsReq",
            Self::CmdAetherDivideRefreshEndlessScNotify => {
                "CmdAetherDivideRefreshEndlessScNotify"
            }
            Self::CmdSetAetherDivideLineUpCsReq => "CmdSetAetherDivideLineUpCsReq",
            Self::CmdSwitchAetherDivideLineUpSlotScRsp => {
                "CmdSwitchAetherDivideLineUpSlotScRsp"
            }
            Self::CmdAetherDivideTakeChallengeRewardScRsp => {
                "CmdAetherDivideTakeChallengeRewardScRsp"
            }
            Self::CmdGetAetherDivideChallengeInfoCsReq => {
                "CmdGetAetherDivideChallengeInfoCsReq"
            }
            Self::BaiilojdaibDdldiflggkh => "BAIILOJDAIB_DDLDIFLGGKH",
            Self::CmdLeaveAetherDivideSceneCsReq => "CmdLeaveAetherDivideSceneCsReq",
            Self::CmdStartAetherDivideChallengeBattleScRsp => {
                "CmdStartAetherDivideChallengeBattleScRsp"
            }
            Self::CmdDmamefjbcle => "CmdDMAMEFJBCLE",
            Self::CmdAetherDivideSpiritExpUpScRsp => "CmdAetherDivideSpiritExpUpScRsp",
            Self::CmdSwitchAetherDivideLineUpSlotCsReq => {
                "CmdSwitchAetherDivideLineUpSlotCsReq"
            }
            Self::CmdGetAetherDivideChallengeInfoScRsp => {
                "CmdGetAetherDivideChallengeInfoScRsp"
            }
            Self::CmdTakeOffSkillCoreScRsp => "CmdTakeOffSkillCoreScRsp",
            Self::CmdAetherDivideTakeChallengeRewardCsReq => {
                "CmdAetherDivideTakeChallengeRewardCsReq"
            }
            Self::CmdSetAetherDivideLineUpScRsp => "CmdSetAetherDivideLineUpScRsp",
            Self::CmdStartAetherDivideSceneBattleCsReq => {
                "CmdStartAetherDivideSceneBattleCsReq"
            }
            Self::CmdAetherDivideRefreshEndlessScRsp => {
                "CmdAetherDivideRefreshEndlessScRsp"
            }
            Self::CmdGetAetherDivideInfoCsReq => "CmdGetAetherDivideInfoCsReq",
            Self::CmdAetherDivideTainerInfoScNotify => {
                "CmdAetherDivideTainerInfoScNotify"
            }
            Self::CmdGetAetherDivideInfoScRsp => "CmdGetAetherDivideInfoScRsp",
            Self::CmdEquipSkillCoreScRsp => "CmdEquipSkillCoreScRsp",
            Self::CmdStartAetherDivideStageBattleScRsp => {
                "CmdStartAetherDivideStageBattleScRsp"
            }
            Self::CmdAetherDivideFinishChallengeScNotify => {
                "CmdAetherDivideFinishChallengeScNotify"
            }
            Self::CmdStartAetherDivideChallengeBattleCsReq => {
                "CmdStartAetherDivideChallengeBattleCsReq"
            }
            Self::CmdStartAetherDivideSceneBattleScRsp => {
                "CmdStartAetherDivideSceneBattleScRsp"
            }
            Self::CmdAetherDivideRefreshEndlessCsReq => {
                "CmdAetherDivideRefreshEndlessCsReq"
            }
            Self::CmdLeaveAetherDivideSceneScRsp => "CmdLeaveAetherDivideSceneScRsp",
            Self::CmdStartAetherDivideStageBattleCsReq => {
                "CmdStartAetherDivideStageBattleCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BAIILOJDAIB_NLCDGIPGFDJ" => Some(Self::BaiilojdaibNlcdgipgfdj),
            "CmdAetherDivideLineupScNotify" => Some(Self::CmdAetherDivideLineupScNotify),
            "CmdAetherDivideSpiritInfoScNotify" => {
                Some(Self::CmdAetherDivideSpiritInfoScNotify)
            }
            "CmdEquipSkillCoreCsReq" => Some(Self::CmdEquipSkillCoreCsReq),
            "CmdAetherDivideSkillItemScNotify" => {
                Some(Self::CmdAetherDivideSkillItemScNotify)
            }
            "CmdAetherDivideSpiritExpUpCsReq" => {
                Some(Self::CmdAetherDivideSpiritExpUpCsReq)
            }
            "CmdTakeOffSkillCoreCsReq" => Some(Self::CmdTakeOffSkillCoreCsReq),
            "CmdAetherDivideRefreshEndlessScNotify" => {
                Some(Self::CmdAetherDivideRefreshEndlessScNotify)
            }
            "CmdSetAetherDivideLineUpCsReq" => Some(Self::CmdSetAetherDivideLineUpCsReq),
            "CmdSwitchAetherDivideLineUpSlotScRsp" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotScRsp)
            }
            "CmdAetherDivideTakeChallengeRewardScRsp" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardScRsp)
            }
            "CmdGetAetherDivideChallengeInfoCsReq" => {
                Some(Self::CmdGetAetherDivideChallengeInfoCsReq)
            }
            "BAIILOJDAIB_DDLDIFLGGKH" => Some(Self::BaiilojdaibDdldiflggkh),
            "CmdLeaveAetherDivideSceneCsReq" => {
                Some(Self::CmdLeaveAetherDivideSceneCsReq)
            }
            "CmdStartAetherDivideChallengeBattleScRsp" => {
                Some(Self::CmdStartAetherDivideChallengeBattleScRsp)
            }
            "CmdDMAMEFJBCLE" => Some(Self::CmdDmamefjbcle),
            "CmdAetherDivideSpiritExpUpScRsp" => {
                Some(Self::CmdAetherDivideSpiritExpUpScRsp)
            }
            "CmdSwitchAetherDivideLineUpSlotCsReq" => {
                Some(Self::CmdSwitchAetherDivideLineUpSlotCsReq)
            }
            "CmdGetAetherDivideChallengeInfoScRsp" => {
                Some(Self::CmdGetAetherDivideChallengeInfoScRsp)
            }
            "CmdTakeOffSkillCoreScRsp" => Some(Self::CmdTakeOffSkillCoreScRsp),
            "CmdAetherDivideTakeChallengeRewardCsReq" => {
                Some(Self::CmdAetherDivideTakeChallengeRewardCsReq)
            }
            "CmdSetAetherDivideLineUpScRsp" => Some(Self::CmdSetAetherDivideLineUpScRsp),
            "CmdStartAetherDivideSceneBattleCsReq" => {
                Some(Self::CmdStartAetherDivideSceneBattleCsReq)
            }
            "CmdAetherDivideRefreshEndlessScRsp" => {
                Some(Self::CmdAetherDivideRefreshEndlessScRsp)
            }
            "CmdGetAetherDivideInfoCsReq" => Some(Self::CmdGetAetherDivideInfoCsReq),
            "CmdAetherDivideTainerInfoScNotify" => {
                Some(Self::CmdAetherDivideTainerInfoScNotify)
            }
            "CmdGetAetherDivideInfoScRsp" => Some(Self::CmdGetAetherDivideInfoScRsp),
            "CmdEquipSkillCoreScRsp" => Some(Self::CmdEquipSkillCoreScRsp),
            "CmdStartAetherDivideStageBattleScRsp" => {
                Some(Self::CmdStartAetherDivideStageBattleScRsp)
            }
            "CmdAetherDivideFinishChallengeScNotify" => {
                Some(Self::CmdAetherDivideFinishChallengeScNotify)
            }
            "CmdStartAetherDivideChallengeBattleCsReq" => {
                Some(Self::CmdStartAetherDivideChallengeBattleCsReq)
            }
            "CmdStartAetherDivideSceneBattleScRsp" => {
                Some(Self::CmdStartAetherDivideSceneBattleScRsp)
            }
            "CmdAetherDivideRefreshEndlessCsReq" => {
                Some(Self::CmdAetherDivideRefreshEndlessCsReq)
            }
            "CmdLeaveAetherDivideSceneScRsp" => {
                Some(Self::CmdLeaveAetherDivideSceneScRsp)
            }
            "CmdStartAetherDivideStageBattleCsReq" => {
                Some(Self::CmdStartAetherDivideStageBattleCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: LEJBAOJGJGI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAiPamType {
    LejbaojgjgiJcdcnppcneo = 0,
    CmdAiPamAskSettlementScNotify = 9540,
    CmdAiPamResponseFeedbackCommentScRsp = 9533,
    CmdAiPamResponseFeedbackCsReq = 9520,
    CmdAiPamResponseFeedbackCommentCsReq = 9529,
    CmdBkhlgpcdlgl = 9543,
    CmdAiPamMotionScNotify = 9515,
    CmdHggmnlnjphg = 9508,
    CmdAiPamSendMsgCsReq = 9509,
    CmdGetAiPamNextQuestionScRsp = 9503,
    CmdTriggerAiPamSpeakScRsp = 9502,
    CmdGetAiPamChatHistoryCsReq = 9544,
    CmdGetAiPamNextQuestionCsReq = 9548,
    CmdKiikhmmdhkp = 9513,
    CmdGetAiPamChatInfoScRsp = 9524,
    CmdGetAiPamChatHistoryScRsp = 9519,
    CmdUpdateAiPamSettingsCsReq = 9514,
    CmdTriggerAiPamSpeakCsReq = 9506,
    CmdUpdateAiPamSettingsScRsp = 9535,
    CmdAiPamResponseFeedbackScRsp = 9517,
    CmdRecvAiPamChatEventScNotify = 9537,
    CmdLhnmdfopmkn = 9518,
    CmdAiPamSendMsgScRsp = 9523,
    CmdGetAiPamChatInfoCsReq = 9521,
}
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::LejbaojgjgiJcdcnppcneo => "LEJBAOJGJGI_JCDCNPPCNEO",
            Self::CmdAiPamAskSettlementScNotify => "CmdAiPamAskSettlementScNotify",
            Self::CmdAiPamResponseFeedbackCommentScRsp => {
                "CmdAiPamResponseFeedbackCommentScRsp"
            }
            Self::CmdAiPamResponseFeedbackCsReq => "CmdAiPamResponseFeedbackCsReq",
            Self::CmdAiPamResponseFeedbackCommentCsReq => {
                "CmdAiPamResponseFeedbackCommentCsReq"
            }
            Self::CmdBkhlgpcdlgl => "CmdBKHLGPCDLGL",
            Self::CmdAiPamMotionScNotify => "CmdAiPamMotionScNotify",
            Self::CmdHggmnlnjphg => "CmdHGGMNLNJPHG",
            Self::CmdAiPamSendMsgCsReq => "CmdAiPamSendMsgCsReq",
            Self::CmdGetAiPamNextQuestionScRsp => "CmdGetAiPamNextQuestionScRsp",
            Self::CmdTriggerAiPamSpeakScRsp => "CmdTriggerAiPamSpeakScRsp",
            Self::CmdGetAiPamChatHistoryCsReq => "CmdGetAiPamChatHistoryCsReq",
            Self::CmdGetAiPamNextQuestionCsReq => "CmdGetAiPamNextQuestionCsReq",
            Self::CmdKiikhmmdhkp => "CmdKIIKHMMDHKP",
            Self::CmdGetAiPamChatInfoScRsp => "CmdGetAiPamChatInfoScRsp",
            Self::CmdGetAiPamChatHistoryScRsp => "CmdGetAiPamChatHistoryScRsp",
            Self::CmdUpdateAiPamSettingsCsReq => "CmdUpdateAiPamSettingsCsReq",
            Self::CmdTriggerAiPamSpeakCsReq => "CmdTriggerAiPamSpeakCsReq",
            Self::CmdUpdateAiPamSettingsScRsp => "CmdUpdateAiPamSettingsScRsp",
            Self::CmdAiPamResponseFeedbackScRsp => "CmdAiPamResponseFeedbackScRsp",
            Self::CmdRecvAiPamChatEventScNotify => "CmdRecvAiPamChatEventScNotify",
            Self::CmdLhnmdfopmkn => "CmdLHNMDFOPMKN",
            Self::CmdAiPamSendMsgScRsp => "CmdAiPamSendMsgScRsp",
            Self::CmdGetAiPamChatInfoCsReq => "CmdGetAiPamChatInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LEJBAOJGJGI_JCDCNPPCNEO" => Some(Self::LejbaojgjgiJcdcnppcneo),
            "CmdAiPamAskSettlementScNotify" => Some(Self::CmdAiPamAskSettlementScNotify),
            "CmdAiPamResponseFeedbackCommentScRsp" => {
                Some(Self::CmdAiPamResponseFeedbackCommentScRsp)
            }
            "CmdAiPamResponseFeedbackCsReq" => Some(Self::CmdAiPamResponseFeedbackCsReq),
            "CmdAiPamResponseFeedbackCommentCsReq" => {
                Some(Self::CmdAiPamResponseFeedbackCommentCsReq)
            }
            "CmdBKHLGPCDLGL" => Some(Self::CmdBkhlgpcdlgl),
            "CmdAiPamMotionScNotify" => Some(Self::CmdAiPamMotionScNotify),
            "CmdHGGMNLNJPHG" => Some(Self::CmdHggmnlnjphg),
            "CmdAiPamSendMsgCsReq" => Some(Self::CmdAiPamSendMsgCsReq),
            "CmdGetAiPamNextQuestionScRsp" => Some(Self::CmdGetAiPamNextQuestionScRsp),
            "CmdTriggerAiPamSpeakScRsp" => Some(Self::CmdTriggerAiPamSpeakScRsp),
            "CmdGetAiPamChatHistoryCsReq" => Some(Self::CmdGetAiPamChatHistoryCsReq),
            "CmdGetAiPamNextQuestionCsReq" => Some(Self::CmdGetAiPamNextQuestionCsReq),
            "CmdKIIKHMMDHKP" => Some(Self::CmdKiikhmmdhkp),
            "CmdGetAiPamChatInfoScRsp" => Some(Self::CmdGetAiPamChatInfoScRsp),
            "CmdGetAiPamChatHistoryScRsp" => Some(Self::CmdGetAiPamChatHistoryScRsp),
            "CmdUpdateAiPamSettingsCsReq" => Some(Self::CmdUpdateAiPamSettingsCsReq),
            "CmdTriggerAiPamSpeakCsReq" => Some(Self::CmdTriggerAiPamSpeakCsReq),
            "CmdUpdateAiPamSettingsScRsp" => Some(Self::CmdUpdateAiPamSettingsScRsp),
            "CmdAiPamResponseFeedbackScRsp" => Some(Self::CmdAiPamResponseFeedbackScRsp),
            "CmdRecvAiPamChatEventScNotify" => Some(Self::CmdRecvAiPamChatEventScNotify),
            "CmdLHNMDFOPMKN" => Some(Self::CmdLhnmdfopmkn),
            "CmdAiPamSendMsgScRsp" => Some(Self::CmdAiPamSendMsgScRsp),
            "CmdGetAiPamChatInfoCsReq" => Some(Self::CmdGetAiPamChatInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: ENHFBPKPFDI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAlleyType {
    EnhfbpkpfdiNlcdgipgfdj = 0,
    CmdDpfgbjfofce = 4772,
    CmdAlleyOrderChangedScNotify = 4748,
    CmdAlleyShipmentEventEffectsScNotify = 4705,
    CmdGaammaacico = 4784,
    CmdGetSaveLogisticsMapCsReq = 4741,
    CmdCkjacadhccc = 4773,
    CmdGifadcjkkfe = 4786,
    CmdPrestigeLevelUpScRsp = 4765,
    CmdTakePrestigeRewardCsReq = 4771,
    CmdPpjkekepfmf = 4747,
    CmdLogisticsGameScRsp = 4758,
    CmdPrestigeLevelUpCsReq = 4769,
    CmdGetSaveLogisticsMapScRsp = 4710,
    EnhfbpkpfdiMlkikmbonlc = 4742,
    CmdNgokhflmlnj = 4712,
    CmdEnoabfiphob = 4780,
    EnhfbpkpfdiGhiclfbgfdl = 4711,
    CmdActivityRaidPlacingGameCsReq = 4775,
    CmdActivityRaidPlacingGameScRsp = 4744,
    CmdAlleyPlacingGameScRsp = 4738,
    CmdGetAlleyInfoCsReq = 4725,
    CmdLogisticsScoreRewardSyncInfoScNotify = 4735,
    CmdLogisticsInfoScNotify = 4721,
    CmdMgmdnbolbmo = 4713,
    CmdGetAlleyInfoScRsp = 4778,
    CmdAlleyPlacingGameCsReq = 4733,
    CmdAlleyEventChangeNotify = 4726,
    CmdAlleyTakeEventRewardScRsp = 4796,
    CmdAlleyFundsScNotify = 4730,
    CmdTakePrestigeRewardScRsp = 4740,
    EnhfbpkpfdiMonjhmoildm = 4736,
    CmdAlleyTakeEventRewardCsReq = 4734,
    CmdLogisticsGameCsReq = 4793,
}
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::EnhfbpkpfdiNlcdgipgfdj => "ENHFBPKPFDI_NLCDGIPGFDJ",
            Self::CmdDpfgbjfofce => "CmdDPFGBJFOFCE",
            Self::CmdAlleyOrderChangedScNotify => "CmdAlleyOrderChangedScNotify",
            Self::CmdAlleyShipmentEventEffectsScNotify => {
                "CmdAlleyShipmentEventEffectsScNotify"
            }
            Self::CmdGaammaacico => "CmdGAAMMAACICO",
            Self::CmdGetSaveLogisticsMapCsReq => "CmdGetSaveLogisticsMapCsReq",
            Self::CmdCkjacadhccc => "CmdCKJACADHCCC",
            Self::CmdGifadcjkkfe => "CmdGIFADCJKKFE",
            Self::CmdPrestigeLevelUpScRsp => "CmdPrestigeLevelUpScRsp",
            Self::CmdTakePrestigeRewardCsReq => "CmdTakePrestigeRewardCsReq",
            Self::CmdPpjkekepfmf => "CmdPPJKEKEPFMF",
            Self::CmdLogisticsGameScRsp => "CmdLogisticsGameScRsp",
            Self::CmdPrestigeLevelUpCsReq => "CmdPrestigeLevelUpCsReq",
            Self::CmdGetSaveLogisticsMapScRsp => "CmdGetSaveLogisticsMapScRsp",
            Self::EnhfbpkpfdiMlkikmbonlc => "ENHFBPKPFDI_MLKIKMBONLC",
            Self::CmdNgokhflmlnj => "CmdNGOKHFLMLNJ",
            Self::CmdEnoabfiphob => "CmdENOABFIPHOB",
            Self::EnhfbpkpfdiGhiclfbgfdl => "ENHFBPKPFDI_GHICLFBGFDL",
            Self::CmdActivityRaidPlacingGameCsReq => "CmdActivityRaidPlacingGameCsReq",
            Self::CmdActivityRaidPlacingGameScRsp => "CmdActivityRaidPlacingGameScRsp",
            Self::CmdAlleyPlacingGameScRsp => "CmdAlleyPlacingGameScRsp",
            Self::CmdGetAlleyInfoCsReq => "CmdGetAlleyInfoCsReq",
            Self::CmdLogisticsScoreRewardSyncInfoScNotify => {
                "CmdLogisticsScoreRewardSyncInfoScNotify"
            }
            Self::CmdLogisticsInfoScNotify => "CmdLogisticsInfoScNotify",
            Self::CmdMgmdnbolbmo => "CmdMGMDNBOLBMO",
            Self::CmdGetAlleyInfoScRsp => "CmdGetAlleyInfoScRsp",
            Self::CmdAlleyPlacingGameCsReq => "CmdAlleyPlacingGameCsReq",
            Self::CmdAlleyEventChangeNotify => "CmdAlleyEventChangeNotify",
            Self::CmdAlleyTakeEventRewardScRsp => "CmdAlleyTakeEventRewardScRsp",
            Self::CmdAlleyFundsScNotify => "CmdAlleyFundsScNotify",
            Self::CmdTakePrestigeRewardScRsp => "CmdTakePrestigeRewardScRsp",
            Self::EnhfbpkpfdiMonjhmoildm => "ENHFBPKPFDI_MONJHMOILDM",
            Self::CmdAlleyTakeEventRewardCsReq => "CmdAlleyTakeEventRewardCsReq",
            Self::CmdLogisticsGameCsReq => "CmdLogisticsGameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENHFBPKPFDI_NLCDGIPGFDJ" => Some(Self::EnhfbpkpfdiNlcdgipgfdj),
            "CmdDPFGBJFOFCE" => Some(Self::CmdDpfgbjfofce),
            "CmdAlleyOrderChangedScNotify" => Some(Self::CmdAlleyOrderChangedScNotify),
            "CmdAlleyShipmentEventEffectsScNotify" => {
                Some(Self::CmdAlleyShipmentEventEffectsScNotify)
            }
            "CmdGAAMMAACICO" => Some(Self::CmdGaammaacico),
            "CmdGetSaveLogisticsMapCsReq" => Some(Self::CmdGetSaveLogisticsMapCsReq),
            "CmdCKJACADHCCC" => Some(Self::CmdCkjacadhccc),
            "CmdGIFADCJKKFE" => Some(Self::CmdGifadcjkkfe),
            "CmdPrestigeLevelUpScRsp" => Some(Self::CmdPrestigeLevelUpScRsp),
            "CmdTakePrestigeRewardCsReq" => Some(Self::CmdTakePrestigeRewardCsReq),
            "CmdPPJKEKEPFMF" => Some(Self::CmdPpjkekepfmf),
            "CmdLogisticsGameScRsp" => Some(Self::CmdLogisticsGameScRsp),
            "CmdPrestigeLevelUpCsReq" => Some(Self::CmdPrestigeLevelUpCsReq),
            "CmdGetSaveLogisticsMapScRsp" => Some(Self::CmdGetSaveLogisticsMapScRsp),
            "ENHFBPKPFDI_MLKIKMBONLC" => Some(Self::EnhfbpkpfdiMlkikmbonlc),
            "CmdNGOKHFLMLNJ" => Some(Self::CmdNgokhflmlnj),
            "CmdENOABFIPHOB" => Some(Self::CmdEnoabfiphob),
            "ENHFBPKPFDI_GHICLFBGFDL" => Some(Self::EnhfbpkpfdiGhiclfbgfdl),
            "CmdActivityRaidPlacingGameCsReq" => {
                Some(Self::CmdActivityRaidPlacingGameCsReq)
            }
            "CmdActivityRaidPlacingGameScRsp" => {
                Some(Self::CmdActivityRaidPlacingGameScRsp)
            }
            "CmdAlleyPlacingGameScRsp" => Some(Self::CmdAlleyPlacingGameScRsp),
            "CmdGetAlleyInfoCsReq" => Some(Self::CmdGetAlleyInfoCsReq),
            "CmdLogisticsScoreRewardSyncInfoScNotify" => {
                Some(Self::CmdLogisticsScoreRewardSyncInfoScNotify)
            }
            "CmdLogisticsInfoScNotify" => Some(Self::CmdLogisticsInfoScNotify),
            "CmdMGMDNBOLBMO" => Some(Self::CmdMgmdnbolbmo),
            "CmdGetAlleyInfoScRsp" => Some(Self::CmdGetAlleyInfoScRsp),
            "CmdAlleyPlacingGameCsReq" => Some(Self::CmdAlleyPlacingGameCsReq),
            "CmdAlleyEventChangeNotify" => Some(Self::CmdAlleyEventChangeNotify),
            "CmdAlleyTakeEventRewardScRsp" => Some(Self::CmdAlleyTakeEventRewardScRsp),
            "CmdAlleyFundsScNotify" => Some(Self::CmdAlleyFundsScNotify),
            "CmdTakePrestigeRewardScRsp" => Some(Self::CmdTakePrestigeRewardScRsp),
            "ENHFBPKPFDI_MONJHMOILDM" => Some(Self::EnhfbpkpfdiMonjhmoildm),
            "CmdAlleyTakeEventRewardCsReq" => Some(Self::CmdAlleyTakeEventRewardCsReq),
            "CmdLogisticsGameCsReq" => Some(Self::CmdLogisticsGameCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oclnfbeagmm {
    Phmkdhkblde = 0,
    Clmknfilolb = 1,
    Konbamdogdh = 2,
    Jngjipchjkg = 3,
    Cidihbpfelp = 4,
    Lbinpjoojod = 5,
    Bbonhjijlkf = 6,
    Geoneaaankg = 7,
}
impl Oclnfbeagmm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Phmkdhkblde => "OCLNFBEAGMM_PHMKDHKBLDE",
            Self::Clmknfilolb => "OCLNFBEAGMM_CLMKNFILOLB",
            Self::Konbamdogdh => "OCLNFBEAGMM_KONBAMDOGDH",
            Self::Jngjipchjkg => "OCLNFBEAGMM_JNGJIPCHJKG",
            Self::Cidihbpfelp => "OCLNFBEAGMM_CIDIHBPFELP",
            Self::Lbinpjoojod => "OCLNFBEAGMM_LBINPJOOJOD",
            Self::Bbonhjijlkf => "OCLNFBEAGMM_BBONHJIJLKF",
            Self::Geoneaaankg => "OCLNFBEAGMM_GEONEAAANKG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OCLNFBEAGMM_PHMKDHKBLDE" => Some(Self::Phmkdhkblde),
            "OCLNFBEAGMM_CLMKNFILOLB" => Some(Self::Clmknfilolb),
            "OCLNFBEAGMM_KONBAMDOGDH" => Some(Self::Konbamdogdh),
            "OCLNFBEAGMM_JNGJIPCHJKG" => Some(Self::Jngjipchjkg),
            "OCLNFBEAGMM_CIDIHBPFELP" => Some(Self::Cidihbpfelp),
            "OCLNFBEAGMM_LBINPJOOJOD" => Some(Self::Lbinpjoojod),
            "OCLNFBEAGMM_BBONHJIJLKF" => Some(Self::Bbonhjijlkf),
            "OCLNFBEAGMM_GEONEAAANKG" => Some(Self::Geoneaaankg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pfphiikefib {
    Nlcdgipgfdj = 0,
    Nohngbajngo = 1,
    Jhiicnjikpc = 2,
    Joiibdjjoah = 3,
}
impl Pfphiikefib {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PFPHIIKEFIB_NLCDGIPGFDJ",
            Self::Nohngbajngo => "PFPHIIKEFIB_NOHNGBAJNGO",
            Self::Jhiicnjikpc => "PFPHIIKEFIB_JHIICNJIKPC",
            Self::Joiibdjjoah => "PFPHIIKEFIB_JOIIBDJJOAH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PFPHIIKEFIB_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PFPHIIKEFIB_NOHNGBAJNGO" => Some(Self::Nohngbajngo),
            "PFPHIIKEFIB_JHIICNJIKPC" => Some(Self::Jhiicnjikpc),
            "PFPHIIKEFIB_JOIIBDJJOAH" => Some(Self::Joiibdjjoah),
            _ => None,
        }
    }
}
/// Obf: AJOCCOAIFIF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AlleyEventState {
    AjoccoaififNapmffdmlek = 0,
    AjoccoaififEmjdkbjffhf = 1,
    AjoccoaififMomheepiljo = 2,
    AjoccoaififHdgpeeijijp = 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::AjoccoaififNapmffdmlek => "AJOCCOAIFIF_NAPMFFDMLEK",
            Self::AjoccoaififEmjdkbjffhf => "AJOCCOAIFIF_EMJDKBJFFHF",
            Self::AjoccoaififMomheepiljo => "AJOCCOAIFIF_MOMHEEPILJO",
            Self::AjoccoaififHdgpeeijijp => "AJOCCOAIFIF_HDGPEEIJIJP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AJOCCOAIFIF_NAPMFFDMLEK" => Some(Self::AjoccoaififNapmffdmlek),
            "AJOCCOAIFIF_EMJDKBJFFHF" => Some(Self::AjoccoaififEmjdkbjffhf),
            "AJOCCOAIFIF_MOMHEEPILJO" => Some(Self::AjoccoaififMomheepiljo),
            "AJOCCOAIFIF_HDGPEEIJIJP" => Some(Self::AjoccoaififHdgpeeijijp),
            _ => None,
        }
    }
}
/// Obf: MFJDGMGKMDJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdArchiveType {
    MfjdgmgkmdjNlcdgipgfdj = 0,
    CmdKkogbfclnhb = 2358,
    CmdBjjgfkaoklg = 2393,
    CmdGetArchiveDataScRsp = 2378,
    CmdGetArchiveDataCsReq = 2325,
}
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::MfjdgmgkmdjNlcdgipgfdj => "MFJDGMGKMDJ_NLCDGIPGFDJ",
            Self::CmdKkogbfclnhb => "CmdKKOGBFCLNHB",
            Self::CmdBjjgfkaoklg => "CmdBJJGFKAOKLG",
            Self::CmdGetArchiveDataScRsp => "CmdGetArchiveDataScRsp",
            Self::CmdGetArchiveDataCsReq => "CmdGetArchiveDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MFJDGMGKMDJ_NLCDGIPGFDJ" => Some(Self::MfjdgmgkmdjNlcdgipgfdj),
            "CmdKKOGBFCLNHB" => Some(Self::CmdKkogbfclnhb),
            "CmdBJJGFKAOKLG" => Some(Self::CmdBjjgfkaoklg),
            "CmdGetArchiveDataScRsp" => Some(Self::CmdGetArchiveDataScRsp),
            "CmdGetArchiveDataCsReq" => Some(Self::CmdGetArchiveDataCsReq),
            _ => None,
        }
    }
}
/// Obf: JHGIIBJGLEL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdAvatarType {
    JhgiibjglelNlcdgipgfdj = 0,
    CmdGetPreAvatarGrowthInfoScRsp = 363,
    CmdDressAvatarScRsp = 313,
    CmdPromoteAvatarScRsp = 347,
    CmdGetPreAvatarActivityListScRsp = 375,
    CmdSetAvatarEnhancedIdScRsp = 312,
    CmdLendbhpiojk = 394,
    CmdSetAvatarPathCsReq = 315,
    CmdSetPlayerOutfitScRsp = 349,
    CmdMarkAvatarCsReq = 384,
    CmdGetAvatarDataCsReq = 325,
    CmdUnlockAvatarPathScRsp = 320,
    CmdGetAvatarDataScRsp = 378,
    CmdGetPreAvatarGrowthInfoCsReq = 329,
    CmdActiveEidolonCsReq = 338,
    CmdSetPlayerOutfitCsReq = 344,
    CmdPromoteAvatarCsReq = 386,
    CmdAvatarPathChangedNotify = 353,
    CmdSetGrowthTargetAvatarScRsp = 310,
    CmdActiveEidolonScRsp = 339,
    CmdAvatarExpUpScRsp = 358,
    CmdTakeOffAvatarSkinCsReq = 342,
    CmdSetAvatarEnhancedIdCsReq = 373,
    CmdTakeOffAvatarSkinScRsp = 372,
    CmdDressAvatarSkinCsReq = 365,
    CmdAvatarExpUpCsReq = 393,
    CmdTakeOffRelicCsReq = 336,
    CmdEklididkfhc = 337,
    CmdDressAvatarSkinScRsp = 330,
    CmdCfggobedjok = 343,
    CmdTakeOffEquipmentCsReq = 371,
    CmdSetMultipleAvatarPathsScRsp = 389,
    CmdUnlockSkillTreeScRsp = 381,
    CmdDressAvatarCsReq = 326,
    CmdDressRelicAvatarScRsp = 311,
    CmdSetGrowthTargetAvatarCsReq = 341,
    CmdAddAvatarScNotify = 333,
    CmdTakeOffEquipmentScRsp = 340,
    CmdPmemidkdafg = 351,
    CmdSetAvatarPathScRsp = 318,
    CmdUnlockSkillTreeCsReq = 388,
    CmdAvatarSpecialSkilltreeUnlockScNotify = 382,
    CmdAddMultiPathAvatarScNotify = 305,
    CmdGetPreAvatarActivityListCsReq = 335,
    CmdMarkAvatarScRsp = 321,
    CmdUnlockAvatarPathCsReq = 352,
    CmdDressRelicAvatarCsReq = 304,
    CmdTakePromotionRewardCsReq = 345,
    CmdSetMultipleAvatarPathsCsReq = 314,
    CmdUnlockAvatarSkinScNotify = 380,
    CmdTakePromotionRewardScRsp = 369,
    CmdTakeOffRelicScRsp = 348,
}
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::JhgiibjglelNlcdgipgfdj => "JHGIIBJGLEL_NLCDGIPGFDJ",
            Self::CmdGetPreAvatarGrowthInfoScRsp => "CmdGetPreAvatarGrowthInfoScRsp",
            Self::CmdDressAvatarScRsp => "CmdDressAvatarScRsp",
            Self::CmdPromoteAvatarScRsp => "CmdPromoteAvatarScRsp",
            Self::CmdGetPreAvatarActivityListScRsp => "CmdGetPreAvatarActivityListScRsp",
            Self::CmdSetAvatarEnhancedIdScRsp => "CmdSetAvatarEnhancedIdScRsp",
            Self::CmdLendbhpiojk => "CmdLENDBHPIOJK",
            Self::CmdSetAvatarPathCsReq => "CmdSetAvatarPathCsReq",
            Self::CmdSetPlayerOutfitScRsp => "CmdSetPlayerOutfitScRsp",
            Self::CmdMarkAvatarCsReq => "CmdMarkAvatarCsReq",
            Self::CmdGetAvatarDataCsReq => "CmdGetAvatarDataCsReq",
            Self::CmdUnlockAvatarPathScRsp => "CmdUnlockAvatarPathScRsp",
            Self::CmdGetAvatarDataScRsp => "CmdGetAvatarDataScRsp",
            Self::CmdGetPreAvatarGrowthInfoCsReq => "CmdGetPreAvatarGrowthInfoCsReq",
            Self::CmdActiveEidolonCsReq => "CmdActiveEidolonCsReq",
            Self::CmdSetPlayerOutfitCsReq => "CmdSetPlayerOutfitCsReq",
            Self::CmdPromoteAvatarCsReq => "CmdPromoteAvatarCsReq",
            Self::CmdAvatarPathChangedNotify => "CmdAvatarPathChangedNotify",
            Self::CmdSetGrowthTargetAvatarScRsp => "CmdSetGrowthTargetAvatarScRsp",
            Self::CmdActiveEidolonScRsp => "CmdActiveEidolonScRsp",
            Self::CmdAvatarExpUpScRsp => "CmdAvatarExpUpScRsp",
            Self::CmdTakeOffAvatarSkinCsReq => "CmdTakeOffAvatarSkinCsReq",
            Self::CmdSetAvatarEnhancedIdCsReq => "CmdSetAvatarEnhancedIdCsReq",
            Self::CmdTakeOffAvatarSkinScRsp => "CmdTakeOffAvatarSkinScRsp",
            Self::CmdDressAvatarSkinCsReq => "CmdDressAvatarSkinCsReq",
            Self::CmdAvatarExpUpCsReq => "CmdAvatarExpUpCsReq",
            Self::CmdTakeOffRelicCsReq => "CmdTakeOffRelicCsReq",
            Self::CmdEklididkfhc => "CmdEKLIDIDKFHC",
            Self::CmdDressAvatarSkinScRsp => "CmdDressAvatarSkinScRsp",
            Self::CmdCfggobedjok => "CmdCFGGOBEDJOK",
            Self::CmdTakeOffEquipmentCsReq => "CmdTakeOffEquipmentCsReq",
            Self::CmdSetMultipleAvatarPathsScRsp => "CmdSetMultipleAvatarPathsScRsp",
            Self::CmdUnlockSkillTreeScRsp => "CmdUnlockSkillTreeScRsp",
            Self::CmdDressAvatarCsReq => "CmdDressAvatarCsReq",
            Self::CmdDressRelicAvatarScRsp => "CmdDressRelicAvatarScRsp",
            Self::CmdSetGrowthTargetAvatarCsReq => "CmdSetGrowthTargetAvatarCsReq",
            Self::CmdAddAvatarScNotify => "CmdAddAvatarScNotify",
            Self::CmdTakeOffEquipmentScRsp => "CmdTakeOffEquipmentScRsp",
            Self::CmdPmemidkdafg => "CmdPMEMIDKDAFG",
            Self::CmdSetAvatarPathScRsp => "CmdSetAvatarPathScRsp",
            Self::CmdUnlockSkillTreeCsReq => "CmdUnlockSkillTreeCsReq",
            Self::CmdAvatarSpecialSkilltreeUnlockScNotify => {
                "CmdAvatarSpecialSkilltreeUnlockScNotify"
            }
            Self::CmdAddMultiPathAvatarScNotify => "CmdAddMultiPathAvatarScNotify",
            Self::CmdGetPreAvatarActivityListCsReq => "CmdGetPreAvatarActivityListCsReq",
            Self::CmdMarkAvatarScRsp => "CmdMarkAvatarScRsp",
            Self::CmdUnlockAvatarPathCsReq => "CmdUnlockAvatarPathCsReq",
            Self::CmdDressRelicAvatarCsReq => "CmdDressRelicAvatarCsReq",
            Self::CmdTakePromotionRewardCsReq => "CmdTakePromotionRewardCsReq",
            Self::CmdSetMultipleAvatarPathsCsReq => "CmdSetMultipleAvatarPathsCsReq",
            Self::CmdUnlockAvatarSkinScNotify => "CmdUnlockAvatarSkinScNotify",
            Self::CmdTakePromotionRewardScRsp => "CmdTakePromotionRewardScRsp",
            Self::CmdTakeOffRelicScRsp => "CmdTakeOffRelicScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHGIIBJGLEL_NLCDGIPGFDJ" => Some(Self::JhgiibjglelNlcdgipgfdj),
            "CmdGetPreAvatarGrowthInfoScRsp" => {
                Some(Self::CmdGetPreAvatarGrowthInfoScRsp)
            }
            "CmdDressAvatarScRsp" => Some(Self::CmdDressAvatarScRsp),
            "CmdPromoteAvatarScRsp" => Some(Self::CmdPromoteAvatarScRsp),
            "CmdGetPreAvatarActivityListScRsp" => {
                Some(Self::CmdGetPreAvatarActivityListScRsp)
            }
            "CmdSetAvatarEnhancedIdScRsp" => Some(Self::CmdSetAvatarEnhancedIdScRsp),
            "CmdLENDBHPIOJK" => Some(Self::CmdLendbhpiojk),
            "CmdSetAvatarPathCsReq" => Some(Self::CmdSetAvatarPathCsReq),
            "CmdSetPlayerOutfitScRsp" => Some(Self::CmdSetPlayerOutfitScRsp),
            "CmdMarkAvatarCsReq" => Some(Self::CmdMarkAvatarCsReq),
            "CmdGetAvatarDataCsReq" => Some(Self::CmdGetAvatarDataCsReq),
            "CmdUnlockAvatarPathScRsp" => Some(Self::CmdUnlockAvatarPathScRsp),
            "CmdGetAvatarDataScRsp" => Some(Self::CmdGetAvatarDataScRsp),
            "CmdGetPreAvatarGrowthInfoCsReq" => {
                Some(Self::CmdGetPreAvatarGrowthInfoCsReq)
            }
            "CmdActiveEidolonCsReq" => Some(Self::CmdActiveEidolonCsReq),
            "CmdSetPlayerOutfitCsReq" => Some(Self::CmdSetPlayerOutfitCsReq),
            "CmdPromoteAvatarCsReq" => Some(Self::CmdPromoteAvatarCsReq),
            "CmdAvatarPathChangedNotify" => Some(Self::CmdAvatarPathChangedNotify),
            "CmdSetGrowthTargetAvatarScRsp" => Some(Self::CmdSetGrowthTargetAvatarScRsp),
            "CmdActiveEidolonScRsp" => Some(Self::CmdActiveEidolonScRsp),
            "CmdAvatarExpUpScRsp" => Some(Self::CmdAvatarExpUpScRsp),
            "CmdTakeOffAvatarSkinCsReq" => Some(Self::CmdTakeOffAvatarSkinCsReq),
            "CmdSetAvatarEnhancedIdCsReq" => Some(Self::CmdSetAvatarEnhancedIdCsReq),
            "CmdTakeOffAvatarSkinScRsp" => Some(Self::CmdTakeOffAvatarSkinScRsp),
            "CmdDressAvatarSkinCsReq" => Some(Self::CmdDressAvatarSkinCsReq),
            "CmdAvatarExpUpCsReq" => Some(Self::CmdAvatarExpUpCsReq),
            "CmdTakeOffRelicCsReq" => Some(Self::CmdTakeOffRelicCsReq),
            "CmdEKLIDIDKFHC" => Some(Self::CmdEklididkfhc),
            "CmdDressAvatarSkinScRsp" => Some(Self::CmdDressAvatarSkinScRsp),
            "CmdCFGGOBEDJOK" => Some(Self::CmdCfggobedjok),
            "CmdTakeOffEquipmentCsReq" => Some(Self::CmdTakeOffEquipmentCsReq),
            "CmdSetMultipleAvatarPathsScRsp" => {
                Some(Self::CmdSetMultipleAvatarPathsScRsp)
            }
            "CmdUnlockSkillTreeScRsp" => Some(Self::CmdUnlockSkillTreeScRsp),
            "CmdDressAvatarCsReq" => Some(Self::CmdDressAvatarCsReq),
            "CmdDressRelicAvatarScRsp" => Some(Self::CmdDressRelicAvatarScRsp),
            "CmdSetGrowthTargetAvatarCsReq" => Some(Self::CmdSetGrowthTargetAvatarCsReq),
            "CmdAddAvatarScNotify" => Some(Self::CmdAddAvatarScNotify),
            "CmdTakeOffEquipmentScRsp" => Some(Self::CmdTakeOffEquipmentScRsp),
            "CmdPMEMIDKDAFG" => Some(Self::CmdPmemidkdafg),
            "CmdSetAvatarPathScRsp" => Some(Self::CmdSetAvatarPathScRsp),
            "CmdUnlockSkillTreeCsReq" => Some(Self::CmdUnlockSkillTreeCsReq),
            "CmdAvatarSpecialSkilltreeUnlockScNotify" => {
                Some(Self::CmdAvatarSpecialSkilltreeUnlockScNotify)
            }
            "CmdAddMultiPathAvatarScNotify" => Some(Self::CmdAddMultiPathAvatarScNotify),
            "CmdGetPreAvatarActivityListCsReq" => {
                Some(Self::CmdGetPreAvatarActivityListCsReq)
            }
            "CmdMarkAvatarScRsp" => Some(Self::CmdMarkAvatarScRsp),
            "CmdUnlockAvatarPathCsReq" => Some(Self::CmdUnlockAvatarPathCsReq),
            "CmdDressRelicAvatarCsReq" => Some(Self::CmdDressRelicAvatarCsReq),
            "CmdTakePromotionRewardCsReq" => Some(Self::CmdTakePromotionRewardCsReq),
            "CmdSetMultipleAvatarPathsCsReq" => {
                Some(Self::CmdSetMultipleAvatarPathsCsReq)
            }
            "CmdUnlockAvatarSkinScNotify" => Some(Self::CmdUnlockAvatarSkinScNotify),
            "CmdTakePromotionRewardScRsp" => Some(Self::CmdTakePromotionRewardScRsp),
            "CmdTakeOffRelicScRsp" => Some(Self::CmdTakeOffRelicScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfmdkncddal {
    Nadpfmgbhdj = 0,
    Ggglncboicd = 1,
}
impl Cfmdkncddal {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nadpfmgbhdj => "CFMDKNCDDAL_NADPFMGBHDJ",
            Self::Ggglncboicd => "CFMDKNCDDAL_GGGLNCBOICD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CFMDKNCDDAL_NADPFMGBHDJ" => Some(Self::Nadpfmgbhdj),
            "CFMDKNCDDAL_GGGLNCBOICD" => Some(Self::Ggglncboicd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AddAvatarSrcState {
    AddAvatarSrcNone = 0,
    AddAvatarSrcGacha = 1,
    AddAvatarSrcRogue = 2,
    AddAvatarSrcDelivery = 3,
}
impl AddAvatarSrcState {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::AddAvatarSrcNone => "ADD_AVATAR_SRC_NONE",
            Self::AddAvatarSrcGacha => "ADD_AVATAR_SRC_GACHA",
            Self::AddAvatarSrcRogue => "ADD_AVATAR_SRC_ROGUE",
            Self::AddAvatarSrcDelivery => "ADD_AVATAR_SRC_DELIVERY",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ADD_AVATAR_SRC_NONE" => Some(Self::AddAvatarSrcNone),
            "ADD_AVATAR_SRC_GACHA" => Some(Self::AddAvatarSrcGacha),
            "ADD_AVATAR_SRC_ROGUE" => Some(Self::AddAvatarSrcRogue),
            "ADD_AVATAR_SRC_DELIVERY" => Some(Self::AddAvatarSrcDelivery),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gcallojppij {
    Nlcdgipgfdj = 0,
    Bdefgippknm = 1,
    Bpbfoijkcja = 2,
}
impl Gcallojppij {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GCALLOJPPIJ_NLCDGIPGFDJ",
            Self::Bdefgippknm => "GCALLOJPPIJ_BDEFGIPPKNM",
            Self::Bpbfoijkcja => "GCALLOJPPIJ_BPBFOIJKCJA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GCALLOJPPIJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GCALLOJPPIJ_BDEFGIPPKNM" => Some(Self::Bdefgippknm),
            "GCALLOJPPIJ_BPBFOIJKCJA" => Some(Self::Bpbfoijkcja),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GrowthTargetState {
    Mmbdgpmcjkh = 0,
    Pdhpkpocohm = 1,
    Cmbmdmbhfec = 2,
    Dalnoidgbgi = 3,
    Jeaoclooamj = 4,
    Fckjlegdjhj = 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::Mmbdgpmcjkh => "GrowthTargetState_MMBDGPMCJKH",
            Self::Pdhpkpocohm => "GrowthTargetState_PDHPKPOCOHM",
            Self::Cmbmdmbhfec => "GrowthTargetState_CMBMDMBHFEC",
            Self::Dalnoidgbgi => "GrowthTargetState_DALNOIDGBGI",
            Self::Jeaoclooamj => "GrowthTargetState_JEAOCLOOAMJ",
            Self::Fckjlegdjhj => "GrowthTargetState_FCKJLEGDJHJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GrowthTargetState_MMBDGPMCJKH" => Some(Self::Mmbdgpmcjkh),
            "GrowthTargetState_PDHPKPOCOHM" => Some(Self::Pdhpkpocohm),
            "GrowthTargetState_CMBMDMBHFEC" => Some(Self::Cmbmdmbhfec),
            "GrowthTargetState_DALNOIDGBGI" => Some(Self::Dalnoidgbgi),
            "GrowthTargetState_JEAOCLOOAMJ" => Some(Self::Jeaoclooamj),
            "GrowthTargetState_FCKJLEGDJHJ" => Some(Self::Fckjlegdjhj),
            _ => None,
        }
    }
}
/// Obf: EJCOIDCJDHM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleType {
    EjcoidcjdhmNlcdgipgfdj = 0,
    CmdQuitBattleCsReq = 193,
    CmdRebattleByClientCsNotify = 138,
    CmdBattleReplayScNotify = 139,
    CmdQuitBattleScNotify = 126,
    CmdPveBattleResultCsReq = 125,
    CmdSyncClientResVersionCsReq = 186,
    CmdPveBattleResultScRsp = 178,
    CmdGetCurBattleInfoCsReq = 188,
    CmdQuitBattleScRsp = 158,
    CmdGetCurBattleInfoScRsp = 181,
    CmdSyncClientResVersionScRsp = 147,
}
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::EjcoidcjdhmNlcdgipgfdj => "EJCOIDCJDHM_NLCDGIPGFDJ",
            Self::CmdQuitBattleCsReq => "CmdQuitBattleCsReq",
            Self::CmdRebattleByClientCsNotify => "CmdRebattleByClientCsNotify",
            Self::CmdBattleReplayScNotify => "CmdBattleReplayScNotify",
            Self::CmdQuitBattleScNotify => "CmdQuitBattleScNotify",
            Self::CmdPveBattleResultCsReq => "CmdPVEBattleResultCsReq",
            Self::CmdSyncClientResVersionCsReq => "CmdSyncClientResVersionCsReq",
            Self::CmdPveBattleResultScRsp => "CmdPVEBattleResultScRsp",
            Self::CmdGetCurBattleInfoCsReq => "CmdGetCurBattleInfoCsReq",
            Self::CmdQuitBattleScRsp => "CmdQuitBattleScRsp",
            Self::CmdGetCurBattleInfoScRsp => "CmdGetCurBattleInfoScRsp",
            Self::CmdSyncClientResVersionScRsp => "CmdSyncClientResVersionScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJCOIDCJDHM_NLCDGIPGFDJ" => Some(Self::EjcoidcjdhmNlcdgipgfdj),
            "CmdQuitBattleCsReq" => Some(Self::CmdQuitBattleCsReq),
            "CmdRebattleByClientCsNotify" => Some(Self::CmdRebattleByClientCsNotify),
            "CmdBattleReplayScNotify" => Some(Self::CmdBattleReplayScNotify),
            "CmdQuitBattleScNotify" => Some(Self::CmdQuitBattleScNotify),
            "CmdPVEBattleResultCsReq" => Some(Self::CmdPveBattleResultCsReq),
            "CmdSyncClientResVersionCsReq" => Some(Self::CmdSyncClientResVersionCsReq),
            "CmdPVEBattleResultScRsp" => Some(Self::CmdPveBattleResultScRsp),
            "CmdGetCurBattleInfoCsReq" => Some(Self::CmdGetCurBattleInfoCsReq),
            "CmdQuitBattleScRsp" => Some(Self::CmdQuitBattleScRsp),
            "CmdGetCurBattleInfoScRsp" => Some(Self::CmdGetCurBattleInfoScRsp),
            "CmdSyncClientResVersionScRsp" => Some(Self::CmdSyncClientResVersionScRsp),
            _ => None,
        }
    }
}
/// Obf: GJPPDNGGKCC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattleCollegeType {
    GjppdnggkccNlcdgipgfdj = 0,
    CmdGetBattleCollegeDataCsReq = 5725,
    CmdStartBattleCollegeScRsp = 5788,
    CmdStartBattleCollegeCsReq = 5758,
    CmdSyncBattleCollegeDataChangeScNotify = 5793,
    CmdGetBattleCollegeDataScRsp = 5778,
}
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::GjppdnggkccNlcdgipgfdj => "GJPPDNGGKCC_NLCDGIPGFDJ",
            Self::CmdGetBattleCollegeDataCsReq => "CmdGetBattleCollegeDataCsReq",
            Self::CmdStartBattleCollegeScRsp => "CmdStartBattleCollegeScRsp",
            Self::CmdStartBattleCollegeCsReq => "CmdStartBattleCollegeCsReq",
            Self::CmdSyncBattleCollegeDataChangeScNotify => {
                "CmdSyncBattleCollegeDataChangeScNotify"
            }
            Self::CmdGetBattleCollegeDataScRsp => "CmdGetBattleCollegeDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJPPDNGGKCC_NLCDGIPGFDJ" => Some(Self::GjppdnggkccNlcdgipgfdj),
            "CmdGetBattleCollegeDataCsReq" => Some(Self::CmdGetBattleCollegeDataCsReq),
            "CmdStartBattleCollegeScRsp" => Some(Self::CmdStartBattleCollegeScRsp),
            "CmdStartBattleCollegeCsReq" => Some(Self::CmdStartBattleCollegeCsReq),
            "CmdSyncBattleCollegeDataChangeScNotify" => {
                Some(Self::CmdSyncBattleCollegeDataChangeScNotify)
            }
            "CmdGetBattleCollegeDataScRsp" => Some(Self::CmdGetBattleCollegeDataScRsp),
            _ => None,
        }
    }
}
/// Obf: JHHIAPCKHNP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBattlePassType {
    JhhiapckhnpNlcdgipgfdj = 0,
    CmdBuyBpLevelCsReq = 3081,
    CmdTakeBpRewardScRsp = 3088,
    CmdTakeAllRewardScRsp = 3026,
    CmdTakeAllRewardCsReq = 3047,
    CmdTakeBpRewardCsReq = 3058,
    CmdBattlePassInfoNotify = 3025,
    CmdBuyBpLevelScRsp = 3086,
}
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::JhhiapckhnpNlcdgipgfdj => "JHHIAPCKHNP_NLCDGIPGFDJ",
            Self::CmdBuyBpLevelCsReq => "CmdBuyBpLevelCsReq",
            Self::CmdTakeBpRewardScRsp => "CmdTakeBpRewardScRsp",
            Self::CmdTakeAllRewardScRsp => "CmdTakeAllRewardScRsp",
            Self::CmdTakeAllRewardCsReq => "CmdTakeAllRewardCsReq",
            Self::CmdTakeBpRewardCsReq => "CmdTakeBpRewardCsReq",
            Self::CmdBattlePassInfoNotify => "CmdBattlePassInfoNotify",
            Self::CmdBuyBpLevelScRsp => "CmdBuyBpLevelScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHHIAPCKHNP_NLCDGIPGFDJ" => Some(Self::JhhiapckhnpNlcdgipgfdj),
            "CmdBuyBpLevelCsReq" => Some(Self::CmdBuyBpLevelCsReq),
            "CmdTakeBpRewardScRsp" => Some(Self::CmdTakeBpRewardScRsp),
            "CmdTakeAllRewardScRsp" => Some(Self::CmdTakeAllRewardScRsp),
            "CmdTakeAllRewardCsReq" => Some(Self::CmdTakeAllRewardCsReq),
            "CmdTakeBpRewardCsReq" => Some(Self::CmdTakeBpRewardCsReq),
            "CmdBattlePassInfoNotify" => Some(Self::CmdBattlePassInfoNotify),
            "CmdBuyBpLevelScRsp" => Some(Self::CmdBuyBpLevelScRsp),
            _ => None,
        }
    }
}
/// Obf: FMGFKIKBHKN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpTierType {
    FmgfkikbhknNlcdgipgfdj = 0,
    FmgfkikbhknLdcgngdpgam = 1,
    FmgfkikbhknFenmglmpmff = 2,
    FmgfkikbhknAjdeopejgec = 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::FmgfkikbhknNlcdgipgfdj => "FMGFKIKBHKN_NLCDGIPGFDJ",
            Self::FmgfkikbhknLdcgngdpgam => "FMGFKIKBHKN_LDCGNGDPGAM",
            Self::FmgfkikbhknFenmglmpmff => "FMGFKIKBHKN_FENMGLMPMFF",
            Self::FmgfkikbhknAjdeopejgec => "FMGFKIKBHKN_AJDEOPEJGEC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FMGFKIKBHKN_NLCDGIPGFDJ" => Some(Self::FmgfkikbhknNlcdgipgfdj),
            "FMGFKIKBHKN_LDCGNGDPGAM" => Some(Self::FmgfkikbhknLdcgngdpgam),
            "FMGFKIKBHKN_FENMGLMPMFF" => Some(Self::FmgfkikbhknFenmglmpmff),
            "FMGFKIKBHKN_AJDEOPEJGEC" => Some(Self::FmgfkikbhknAjdeopejgec),
            _ => None,
        }
    }
}
/// Obf: FDKLOILAJHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BpRewardType {
    FdkloilajheEidkkglpfgo = 0,
    FdkloilajheGbomnkoncpl = 1,
    FdkloilajheCpgbmbbpkpg = 2,
    FdkloilajheEnknehacmfj = 3,
    FdkloilajheCkppjbakghl = 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::FdkloilajheEidkkglpfgo => "FDKLOILAJHE_EIDKKGLPFGO",
            Self::FdkloilajheGbomnkoncpl => "FDKLOILAJHE_GBOMNKONCPL",
            Self::FdkloilajheCpgbmbbpkpg => "FDKLOILAJHE_CPGBMBBPKPG",
            Self::FdkloilajheEnknehacmfj => "FDKLOILAJHE_ENKNEHACMFJ",
            Self::FdkloilajheCkppjbakghl => "FDKLOILAJHE_CKPPJBAKGHL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDKLOILAJHE_EIDKKGLPFGO" => Some(Self::FdkloilajheEidkkglpfgo),
            "FDKLOILAJHE_GBOMNKONCPL" => Some(Self::FdkloilajheGbomnkoncpl),
            "FDKLOILAJHE_CPGBMBBPKPG" => Some(Self::FdkloilajheCpgbmbbpkpg),
            "FDKLOILAJHE_ENKNEHACMFJ" => Some(Self::FdkloilajheEnknehacmfj),
            "FDKLOILAJHE_CKPPJBAKGHL" => Some(Self::FdkloilajheCkppjbakghl),
            _ => None,
        }
    }
}
/// Obf: CCOCNFLIOGK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBenefitActivityType {
    CcocnfliogkNlcdgipgfdj = 0,
    CmdGetBenefitActivityInfoCsReq = 4859,
    CmdTakeBenefitActivityRewardScRsp = 4894,
    CmdJoinBenefitActivityScRsp = 4898,
    CmdTakeBenefitActivityRewardCsReq = 4887,
    CmdGetBenefitActivityInfoScRsp = 4873,
    CmdJoinBenefitActivityCsReq = 4869,
}
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::CcocnfliogkNlcdgipgfdj => "CCOCNFLIOGK_NLCDGIPGFDJ",
            Self::CmdGetBenefitActivityInfoCsReq => "CmdGetBenefitActivityInfoCsReq",
            Self::CmdTakeBenefitActivityRewardScRsp => {
                "CmdTakeBenefitActivityRewardScRsp"
            }
            Self::CmdJoinBenefitActivityScRsp => "CmdJoinBenefitActivityScRsp",
            Self::CmdTakeBenefitActivityRewardCsReq => {
                "CmdTakeBenefitActivityRewardCsReq"
            }
            Self::CmdGetBenefitActivityInfoScRsp => "CmdGetBenefitActivityInfoScRsp",
            Self::CmdJoinBenefitActivityCsReq => "CmdJoinBenefitActivityCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CCOCNFLIOGK_NLCDGIPGFDJ" => Some(Self::CcocnfliogkNlcdgipgfdj),
            "CmdGetBenefitActivityInfoCsReq" => {
                Some(Self::CmdGetBenefitActivityInfoCsReq)
            }
            "CmdTakeBenefitActivityRewardScRsp" => {
                Some(Self::CmdTakeBenefitActivityRewardScRsp)
            }
            "CmdJoinBenefitActivityScRsp" => Some(Self::CmdJoinBenefitActivityScRsp),
            "CmdTakeBenefitActivityRewardCsReq" => {
                Some(Self::CmdTakeBenefitActivityRewardCsReq)
            }
            "CmdGetBenefitActivityInfoScRsp" => {
                Some(Self::CmdGetBenefitActivityInfoScRsp)
            }
            "CmdJoinBenefitActivityCsReq" => Some(Self::CmdJoinBenefitActivityCsReq),
            _ => None,
        }
    }
}
/// Obf: BNDFIJKMBHE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBenefitV2ActivityType {
    BndfijkmbheNlcdgipgfdj = 0,
    CmdImfbpgdpeoi = 9825,
    CmdHbocfeeeeii = 9826,
    CmdFmdgfhpoaio = 9823,
    CmdPaglmeagppc = 9821,
    CmdAnkfjaabbfk = 9824,
    CmdIlfjiideebi = 9830,
}
impl CmdBenefitV2ActivityType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BndfijkmbheNlcdgipgfdj => "BNDFIJKMBHE_NLCDGIPGFDJ",
            Self::CmdImfbpgdpeoi => "CmdIMFBPGDPEOI",
            Self::CmdHbocfeeeeii => "CmdHBOCFEEEEII",
            Self::CmdFmdgfhpoaio => "CmdFMDGFHPOAIO",
            Self::CmdPaglmeagppc => "CmdPAGLMEAGPPC",
            Self::CmdAnkfjaabbfk => "CmdANKFJAABBFK",
            Self::CmdIlfjiideebi => "CmdILFJIIDEEBI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BNDFIJKMBHE_NLCDGIPGFDJ" => Some(Self::BndfijkmbheNlcdgipgfdj),
            "CmdIMFBPGDPEOI" => Some(Self::CmdImfbpgdpeoi),
            "CmdHBOCFEEEEII" => Some(Self::CmdHbocfeeeeii),
            "CmdFMDGFHPOAIO" => Some(Self::CmdFmdgfhpoaio),
            "CmdPAGLMEAGPPC" => Some(Self::CmdPaglmeagppc),
            "CmdANKFJAABBFK" => Some(Self::CmdAnkfjaabbfk),
            "CmdILFJIIDEEBI" => Some(Self::CmdIlfjiideebi),
            _ => None,
        }
    }
}
/// Obf: AJLDFPKOBED
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdBoxingClubType {
    AjldfpkobedNlcdgipgfdj = 0,
    CmdSetBoxingClubResonanceCsReq = 4233,
    CmdBoxingClubRewardScNotify = 4226,
    CmdGiveUpBoxingClubChallengeCsReq = 4286,
    CmdChooseBoxingClubStageOptionalBuffScRsp = 4204,
    CmdChooseBoxingClubResonanceScRsp = 4240,
    CmdChooseBoxingClubResonanceCsReq = 4271,
    CmdChooseBoxingClubStageOptionalBuffCsReq = 4239,
    CmdGiveUpBoxingClubChallengeScRsp = 4247,
    CmdStartBoxingClubBattleScRsp = 4281,
    CmdStartBoxingClubBattleCsReq = 4288,
    CmdSetBoxingClubResonanceScRsp = 4238,
    CmdMatchBoxingClubOpponentCsReq = 4293,
    CmdGetBoxingClubInfoScRsp = 4278,
    CmdBoxingClubChallengeUpdateScNotify = 4213,
    CmdGetBoxingClubInfoCsReq = 4225,
    CmdMatchBoxingClubOpponentScRsp = 4258,
}
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::AjldfpkobedNlcdgipgfdj => "AJLDFPKOBED_NLCDGIPGFDJ",
            Self::CmdSetBoxingClubResonanceCsReq => "CmdSetBoxingClubResonanceCsReq",
            Self::CmdBoxingClubRewardScNotify => "CmdBoxingClubRewardScNotify",
            Self::CmdGiveUpBoxingClubChallengeCsReq => {
                "CmdGiveUpBoxingClubChallengeCsReq"
            }
            Self::CmdChooseBoxingClubStageOptionalBuffScRsp => {
                "CmdChooseBoxingClubStageOptionalBuffScRsp"
            }
            Self::CmdChooseBoxingClubResonanceScRsp => {
                "CmdChooseBoxingClubResonanceScRsp"
            }
            Self::CmdChooseBoxingClubResonanceCsReq => {
                "CmdChooseBoxingClubResonanceCsReq"
            }
            Self::CmdChooseBoxingClubStageOptionalBuffCsReq => {
                "CmdChooseBoxingClubStageOptionalBuffCsReq"
            }
            Self::CmdGiveUpBoxingClubChallengeScRsp => {
                "CmdGiveUpBoxingClubChallengeScRsp"
            }
            Self::CmdStartBoxingClubBattleScRsp => "CmdStartBoxingClubBattleScRsp",
            Self::CmdStartBoxingClubBattleCsReq => "CmdStartBoxingClubBattleCsReq",
            Self::CmdSetBoxingClubResonanceScRsp => "CmdSetBoxingClubResonanceScRsp",
            Self::CmdMatchBoxingClubOpponentCsReq => "CmdMatchBoxingClubOpponentCsReq",
            Self::CmdGetBoxingClubInfoScRsp => "CmdGetBoxingClubInfoScRsp",
            Self::CmdBoxingClubChallengeUpdateScNotify => {
                "CmdBoxingClubChallengeUpdateScNotify"
            }
            Self::CmdGetBoxingClubInfoCsReq => "CmdGetBoxingClubInfoCsReq",
            Self::CmdMatchBoxingClubOpponentScRsp => "CmdMatchBoxingClubOpponentScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AJLDFPKOBED_NLCDGIPGFDJ" => Some(Self::AjldfpkobedNlcdgipgfdj),
            "CmdSetBoxingClubResonanceCsReq" => {
                Some(Self::CmdSetBoxingClubResonanceCsReq)
            }
            "CmdBoxingClubRewardScNotify" => Some(Self::CmdBoxingClubRewardScNotify),
            "CmdGiveUpBoxingClubChallengeCsReq" => {
                Some(Self::CmdGiveUpBoxingClubChallengeCsReq)
            }
            "CmdChooseBoxingClubStageOptionalBuffScRsp" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffScRsp)
            }
            "CmdChooseBoxingClubResonanceScRsp" => {
                Some(Self::CmdChooseBoxingClubResonanceScRsp)
            }
            "CmdChooseBoxingClubResonanceCsReq" => {
                Some(Self::CmdChooseBoxingClubResonanceCsReq)
            }
            "CmdChooseBoxingClubStageOptionalBuffCsReq" => {
                Some(Self::CmdChooseBoxingClubStageOptionalBuffCsReq)
            }
            "CmdGiveUpBoxingClubChallengeScRsp" => {
                Some(Self::CmdGiveUpBoxingClubChallengeScRsp)
            }
            "CmdStartBoxingClubBattleScRsp" => Some(Self::CmdStartBoxingClubBattleScRsp),
            "CmdStartBoxingClubBattleCsReq" => Some(Self::CmdStartBoxingClubBattleCsReq),
            "CmdSetBoxingClubResonanceScRsp" => {
                Some(Self::CmdSetBoxingClubResonanceScRsp)
            }
            "CmdMatchBoxingClubOpponentCsReq" => {
                Some(Self::CmdMatchBoxingClubOpponentCsReq)
            }
            "CmdGetBoxingClubInfoScRsp" => Some(Self::CmdGetBoxingClubInfoScRsp),
            "CmdBoxingClubChallengeUpdateScNotify" => {
                Some(Self::CmdBoxingClubChallengeUpdateScNotify)
            }
            "CmdGetBoxingClubInfoCsReq" => Some(Self::CmdGetBoxingClubInfoCsReq),
            "CmdMatchBoxingClubOpponentScRsp" => {
                Some(Self::CmdMatchBoxingClubOpponentScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: MJKJNEGGKGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdCakeRaceType {
    MjkjneggkgcNlcdgipgfdj = 0,
    CmdCakeRaceLoanScRsp = 9124,
    CmdCakeRaceGetHandbookCsReq = 9131,
    CmdCakeRaceUpdatePveScRsp = 9132,
    CmdCakeRaceGetDataCsReq = 9129,
    CmdCakeRaceGetHandbookScRsp = 9130,
    CmdCakeRaceLikeFriendRankingInfoScRsp = 9122,
    CmdCakeRaceStartPveScRsp = 9142,
    CmdCakeRaceGetDataScRsp = 9145,
    CmdCakeRaceGetFriendRankingInfoListScRsp = 9121,
    CmdBcohndphbgk = 9135,
    CmdCakeRaceLikeFriendRankingInfoCsReq = 9150,
    CmdCakeRaceUpdatePveCsReq = 9141,
    CmdCakeRaceLoanCsReq = 9138,
    CmdCakeRaceCoinScoreChangeScNotify = 9123,
    CmdCakeRaceFinishFieldRewardScNotify = 9147,
    CmdCakeRaceStartPveCsReq = 9125,
    CmdCakeRaceGetFriendRankingInfoListCsReq = 9128,
    CmdCakeRaceGetDailyLikeScRsp = 9139,
    CmdCakeRaceGetDailyLikeCsReq = 9137,
    CmdPibehfddaaj = 9140,
}
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::MjkjneggkgcNlcdgipgfdj => "MJKJNEGGKGC_NLCDGIPGFDJ",
            Self::CmdCakeRaceLoanScRsp => "CmdCakeRaceLoanScRsp",
            Self::CmdCakeRaceGetHandbookCsReq => "CmdCakeRaceGetHandbookCsReq",
            Self::CmdCakeRaceUpdatePveScRsp => "CmdCakeRaceUpdatePveScRsp",
            Self::CmdCakeRaceGetDataCsReq => "CmdCakeRaceGetDataCsReq",
            Self::CmdCakeRaceGetHandbookScRsp => "CmdCakeRaceGetHandbookScRsp",
            Self::CmdCakeRaceLikeFriendRankingInfoScRsp => {
                "CmdCakeRaceLikeFriendRankingInfoScRsp"
            }
            Self::CmdCakeRaceStartPveScRsp => "CmdCakeRaceStartPveScRsp",
            Self::CmdCakeRaceGetDataScRsp => "CmdCakeRaceGetDataScRsp",
            Self::CmdCakeRaceGetFriendRankingInfoListScRsp => {
                "CmdCakeRaceGetFriendRankingInfoListScRsp"
            }
            Self::CmdBcohndphbgk => "CmdBCOHNDPHBGK",
            Self::CmdCakeRaceLikeFriendRankingInfoCsReq => {
                "CmdCakeRaceLikeFriendRankingInfoCsReq"
            }
            Self::CmdCakeRaceUpdatePveCsReq => "CmdCakeRaceUpdatePveCsReq",
            Self::CmdCakeRaceLoanCsReq => "CmdCakeRaceLoanCsReq",
            Self::CmdCakeRaceCoinScoreChangeScNotify => {
                "CmdCakeRaceCoinScoreChangeScNotify"
            }
            Self::CmdCakeRaceFinishFieldRewardScNotify => {
                "CmdCakeRaceFinishFieldRewardScNotify"
            }
            Self::CmdCakeRaceStartPveCsReq => "CmdCakeRaceStartPveCsReq",
            Self::CmdCakeRaceGetFriendRankingInfoListCsReq => {
                "CmdCakeRaceGetFriendRankingInfoListCsReq"
            }
            Self::CmdCakeRaceGetDailyLikeScRsp => "CmdCakeRaceGetDailyLikeScRsp",
            Self::CmdCakeRaceGetDailyLikeCsReq => "CmdCakeRaceGetDailyLikeCsReq",
            Self::CmdPibehfddaaj => "CmdPIBEHFDDAAJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJKJNEGGKGC_NLCDGIPGFDJ" => Some(Self::MjkjneggkgcNlcdgipgfdj),
            "CmdCakeRaceLoanScRsp" => Some(Self::CmdCakeRaceLoanScRsp),
            "CmdCakeRaceGetHandbookCsReq" => Some(Self::CmdCakeRaceGetHandbookCsReq),
            "CmdCakeRaceUpdatePveScRsp" => Some(Self::CmdCakeRaceUpdatePveScRsp),
            "CmdCakeRaceGetDataCsReq" => Some(Self::CmdCakeRaceGetDataCsReq),
            "CmdCakeRaceGetHandbookScRsp" => Some(Self::CmdCakeRaceGetHandbookScRsp),
            "CmdCakeRaceLikeFriendRankingInfoScRsp" => {
                Some(Self::CmdCakeRaceLikeFriendRankingInfoScRsp)
            }
            "CmdCakeRaceStartPveScRsp" => Some(Self::CmdCakeRaceStartPveScRsp),
            "CmdCakeRaceGetDataScRsp" => Some(Self::CmdCakeRaceGetDataScRsp),
            "CmdCakeRaceGetFriendRankingInfoListScRsp" => {
                Some(Self::CmdCakeRaceGetFriendRankingInfoListScRsp)
            }
            "CmdBCOHNDPHBGK" => Some(Self::CmdBcohndphbgk),
            "CmdCakeRaceLikeFriendRankingInfoCsReq" => {
                Some(Self::CmdCakeRaceLikeFriendRankingInfoCsReq)
            }
            "CmdCakeRaceUpdatePveCsReq" => Some(Self::CmdCakeRaceUpdatePveCsReq),
            "CmdCakeRaceLoanCsReq" => Some(Self::CmdCakeRaceLoanCsReq),
            "CmdCakeRaceCoinScoreChangeScNotify" => {
                Some(Self::CmdCakeRaceCoinScoreChangeScNotify)
            }
            "CmdCakeRaceFinishFieldRewardScNotify" => {
                Some(Self::CmdCakeRaceFinishFieldRewardScNotify)
            }
            "CmdCakeRaceStartPveCsReq" => Some(Self::CmdCakeRaceStartPveCsReq),
            "CmdCakeRaceGetFriendRankingInfoListCsReq" => {
                Some(Self::CmdCakeRaceGetFriendRankingInfoListCsReq)
            }
            "CmdCakeRaceGetDailyLikeScRsp" => Some(Self::CmdCakeRaceGetDailyLikeScRsp),
            "CmdCakeRaceGetDailyLikeCsReq" => Some(Self::CmdCakeRaceGetDailyLikeCsReq),
            "CmdPIBEHFDDAAJ" => Some(Self::CmdPibehfddaaj),
            _ => None,
        }
    }
}
/// Obf: GBMDCPMJIAB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeType {
    GbmdcpmjiabNlcdgipgfdj = 0,
    CmdGetChallengeGroupStatisticsCsReq = 1711,
    CmdGetChallengeGroupStatisticsScRsp = 1736,
    CmdGetChallengeCsReq = 1725,
    CmdTakeChallengeCumulativeRewardCsReq = 1739,
    CmdGetCurChallengeScRsp = 1771,
    CmdStartChallengeScRsp = 1758,
    CmdChallengeSettleNotify = 1786,
    CmdEnterChallengeNextPhaseScRsp = 1772,
    CmdStartChallengeCsReq = 1793,
    CmdChallengeLineupNotify = 1740,
    CmdStartPartialChallengeCsReq = 1748,
    CmdRestartChallengePhaseCsReq = 1765,
    CmdLeaveChallengeScRsp = 1781,
    CmdGetChallengeScRsp = 1778,
    CmdRestartChallengePhaseScRsp = 1730,
    CmdGetCurChallengeCsReq = 1713,
    CmdLeaveChallengeCsReq = 1788,
    CmdStartPartialChallengeScRsp = 1745,
    CmdChallengeBossPhaseSettleNotify = 1780,
    CmdTakeChallengeCumulativeRewardScRsp = 1704,
    CmdEnterChallengeNextPhaseCsReq = 1742,
}
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::GbmdcpmjiabNlcdgipgfdj => "GBMDCPMJIAB_NLCDGIPGFDJ",
            Self::CmdGetChallengeGroupStatisticsCsReq => {
                "CmdGetChallengeGroupStatisticsCsReq"
            }
            Self::CmdGetChallengeGroupStatisticsScRsp => {
                "CmdGetChallengeGroupStatisticsScRsp"
            }
            Self::CmdGetChallengeCsReq => "CmdGetChallengeCsReq",
            Self::CmdTakeChallengeCumulativeRewardCsReq => {
                "CmdTakeChallengeCumulativeRewardCsReq"
            }
            Self::CmdGetCurChallengeScRsp => "CmdGetCurChallengeScRsp",
            Self::CmdStartChallengeScRsp => "CmdStartChallengeScRsp",
            Self::CmdChallengeSettleNotify => "CmdChallengeSettleNotify",
            Self::CmdEnterChallengeNextPhaseScRsp => "CmdEnterChallengeNextPhaseScRsp",
            Self::CmdStartChallengeCsReq => "CmdStartChallengeCsReq",
            Self::CmdChallengeLineupNotify => "CmdChallengeLineupNotify",
            Self::CmdStartPartialChallengeCsReq => "CmdStartPartialChallengeCsReq",
            Self::CmdRestartChallengePhaseCsReq => "CmdRestartChallengePhaseCsReq",
            Self::CmdLeaveChallengeScRsp => "CmdLeaveChallengeScRsp",
            Self::CmdGetChallengeScRsp => "CmdGetChallengeScRsp",
            Self::CmdRestartChallengePhaseScRsp => "CmdRestartChallengePhaseScRsp",
            Self::CmdGetCurChallengeCsReq => "CmdGetCurChallengeCsReq",
            Self::CmdLeaveChallengeCsReq => "CmdLeaveChallengeCsReq",
            Self::CmdStartPartialChallengeScRsp => "CmdStartPartialChallengeScRsp",
            Self::CmdChallengeBossPhaseSettleNotify => {
                "CmdChallengeBossPhaseSettleNotify"
            }
            Self::CmdTakeChallengeCumulativeRewardScRsp => {
                "CmdTakeChallengeCumulativeRewardScRsp"
            }
            Self::CmdEnterChallengeNextPhaseCsReq => "CmdEnterChallengeNextPhaseCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GBMDCPMJIAB_NLCDGIPGFDJ" => Some(Self::GbmdcpmjiabNlcdgipgfdj),
            "CmdGetChallengeGroupStatisticsCsReq" => {
                Some(Self::CmdGetChallengeGroupStatisticsCsReq)
            }
            "CmdGetChallengeGroupStatisticsScRsp" => {
                Some(Self::CmdGetChallengeGroupStatisticsScRsp)
            }
            "CmdGetChallengeCsReq" => Some(Self::CmdGetChallengeCsReq),
            "CmdTakeChallengeCumulativeRewardCsReq" => {
                Some(Self::CmdTakeChallengeCumulativeRewardCsReq)
            }
            "CmdGetCurChallengeScRsp" => Some(Self::CmdGetCurChallengeScRsp),
            "CmdStartChallengeScRsp" => Some(Self::CmdStartChallengeScRsp),
            "CmdChallengeSettleNotify" => Some(Self::CmdChallengeSettleNotify),
            "CmdEnterChallengeNextPhaseScRsp" => {
                Some(Self::CmdEnterChallengeNextPhaseScRsp)
            }
            "CmdStartChallengeCsReq" => Some(Self::CmdStartChallengeCsReq),
            "CmdChallengeLineupNotify" => Some(Self::CmdChallengeLineupNotify),
            "CmdStartPartialChallengeCsReq" => Some(Self::CmdStartPartialChallengeCsReq),
            "CmdRestartChallengePhaseCsReq" => Some(Self::CmdRestartChallengePhaseCsReq),
            "CmdLeaveChallengeScRsp" => Some(Self::CmdLeaveChallengeScRsp),
            "CmdGetChallengeScRsp" => Some(Self::CmdGetChallengeScRsp),
            "CmdRestartChallengePhaseScRsp" => Some(Self::CmdRestartChallengePhaseScRsp),
            "CmdGetCurChallengeCsReq" => Some(Self::CmdGetCurChallengeCsReq),
            "CmdLeaveChallengeCsReq" => Some(Self::CmdLeaveChallengeCsReq),
            "CmdStartPartialChallengeScRsp" => Some(Self::CmdStartPartialChallengeScRsp),
            "CmdChallengeBossPhaseSettleNotify" => {
                Some(Self::CmdChallengeBossPhaseSettleNotify)
            }
            "CmdTakeChallengeCumulativeRewardScRsp" => {
                Some(Self::CmdTakeChallengeCumulativeRewardScRsp)
            }
            "CmdEnterChallengeNextPhaseCsReq" => {
                Some(Self::CmdEnterChallengeNextPhaseCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: ChallengeStatus
#[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: GHGFEJEHGDM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengePeakType {
    GhgfejehgdmNlcdgipgfdj = 0,
    CmdTakeChallengePeakRewardCsReq = 8910,
    CmdConfirmChallengePeakSettleScRsp = 8943,
    CmdReStartChallengePeakCsReq = 8933,
    CmdChallengePeakGroupDataUpdateScNotify = 8907,
    CmdGetCurChallengePeakCsReq = 8924,
    CmdGetChallengePeakDataCsReq = 8909,
    CmdGetChallengePeakDataScRsp = 8923,
    CmdLeaveChallengePeakScRsp = 8948,
    CmdSetChallengePeakMobLineupAvatarCsReq = 8935,
    CmdStartChallengePeakScRsp = 8944,
    CmdStartChallengePeakCsReq = 8937,
    CmdTakeChallengePeakRewardScRsp = 8921,
    CmdChallengePeakSettleScNotify = 8903,
    CmdLeaveChallengePeakCsReq = 8919,
    CmdConfirmChallengePeakSettleCsReq = 8918,
    CmdSetChallengePeakMobLineupAvatarScRsp = 8915,
    CmdReStartChallengePeakScRsp = 8906,
    CmdSetChallengePeakBossHardModeCsReq = 8917,
    CmdGetCurChallengePeakScRsp = 8920,
    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::GhgfejehgdmNlcdgipgfdj => "GHGFEJEHGDM_NLCDGIPGFDJ",
            Self::CmdTakeChallengePeakRewardCsReq => "CmdTakeChallengePeakRewardCsReq",
            Self::CmdConfirmChallengePeakSettleScRsp => {
                "CmdConfirmChallengePeakSettleScRsp"
            }
            Self::CmdReStartChallengePeakCsReq => "CmdReStartChallengePeakCsReq",
            Self::CmdChallengePeakGroupDataUpdateScNotify => {
                "CmdChallengePeakGroupDataUpdateScNotify"
            }
            Self::CmdGetCurChallengePeakCsReq => "CmdGetCurChallengePeakCsReq",
            Self::CmdGetChallengePeakDataCsReq => "CmdGetChallengePeakDataCsReq",
            Self::CmdGetChallengePeakDataScRsp => "CmdGetChallengePeakDataScRsp",
            Self::CmdLeaveChallengePeakScRsp => "CmdLeaveChallengePeakScRsp",
            Self::CmdSetChallengePeakMobLineupAvatarCsReq => {
                "CmdSetChallengePeakMobLineupAvatarCsReq"
            }
            Self::CmdStartChallengePeakScRsp => "CmdStartChallengePeakScRsp",
            Self::CmdStartChallengePeakCsReq => "CmdStartChallengePeakCsReq",
            Self::CmdTakeChallengePeakRewardScRsp => "CmdTakeChallengePeakRewardScRsp",
            Self::CmdChallengePeakSettleScNotify => "CmdChallengePeakSettleScNotify",
            Self::CmdLeaveChallengePeakCsReq => "CmdLeaveChallengePeakCsReq",
            Self::CmdConfirmChallengePeakSettleCsReq => {
                "CmdConfirmChallengePeakSettleCsReq"
            }
            Self::CmdSetChallengePeakMobLineupAvatarScRsp => {
                "CmdSetChallengePeakMobLineupAvatarScRsp"
            }
            Self::CmdReStartChallengePeakScRsp => "CmdReStartChallengePeakScRsp",
            Self::CmdSetChallengePeakBossHardModeCsReq => {
                "CmdSetChallengePeakBossHardModeCsReq"
            }
            Self::CmdGetCurChallengePeakScRsp => "CmdGetCurChallengePeakScRsp",
            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 {
            "GHGFEJEHGDM_NLCDGIPGFDJ" => Some(Self::GhgfejehgdmNlcdgipgfdj),
            "CmdTakeChallengePeakRewardCsReq" => {
                Some(Self::CmdTakeChallengePeakRewardCsReq)
            }
            "CmdConfirmChallengePeakSettleScRsp" => {
                Some(Self::CmdConfirmChallengePeakSettleScRsp)
            }
            "CmdReStartChallengePeakCsReq" => Some(Self::CmdReStartChallengePeakCsReq),
            "CmdChallengePeakGroupDataUpdateScNotify" => {
                Some(Self::CmdChallengePeakGroupDataUpdateScNotify)
            }
            "CmdGetCurChallengePeakCsReq" => Some(Self::CmdGetCurChallengePeakCsReq),
            "CmdGetChallengePeakDataCsReq" => Some(Self::CmdGetChallengePeakDataCsReq),
            "CmdGetChallengePeakDataScRsp" => Some(Self::CmdGetChallengePeakDataScRsp),
            "CmdLeaveChallengePeakScRsp" => Some(Self::CmdLeaveChallengePeakScRsp),
            "CmdSetChallengePeakMobLineupAvatarCsReq" => {
                Some(Self::CmdSetChallengePeakMobLineupAvatarCsReq)
            }
            "CmdStartChallengePeakScRsp" => Some(Self::CmdStartChallengePeakScRsp),
            "CmdStartChallengePeakCsReq" => Some(Self::CmdStartChallengePeakCsReq),
            "CmdTakeChallengePeakRewardScRsp" => {
                Some(Self::CmdTakeChallengePeakRewardScRsp)
            }
            "CmdChallengePeakSettleScNotify" => {
                Some(Self::CmdChallengePeakSettleScNotify)
            }
            "CmdLeaveChallengePeakCsReq" => Some(Self::CmdLeaveChallengePeakCsReq),
            "CmdConfirmChallengePeakSettleCsReq" => {
                Some(Self::CmdConfirmChallengePeakSettleCsReq)
            }
            "CmdSetChallengePeakMobLineupAvatarScRsp" => {
                Some(Self::CmdSetChallengePeakMobLineupAvatarScRsp)
            }
            "CmdReStartChallengePeakScRsp" => Some(Self::CmdReStartChallengePeakScRsp),
            "CmdSetChallengePeakBossHardModeCsReq" => {
                Some(Self::CmdSetChallengePeakBossHardModeCsReq)
            }
            "CmdGetCurChallengePeakScRsp" => Some(Self::CmdGetCurChallengePeakScRsp),
            "CmdSetChallengePeakBossHardModeScRsp" => {
                Some(Self::CmdSetChallengePeakBossHardModeScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: FEBNJDJAEBM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChallengeTierceType {
    FebnjdjaebmNlcdgipgfdj = 0,
    CmdConfirmStageSettleChallengeTierceScRsp = 8985,
    CmdRestartChallengeTierceScRsp = 8992,
    CmdConfirmStageSettleChallengeTierceCsReq = 8990,
    CmdStartChallengeTierceScRsp = 8974,
    CmdLeaveChallengeTierceCsReq = 8991,
    CmdGetDataChallengeTierceScRsp = 8980,
    CmdStartNextChallengeTierceScRsp = 8999,
    CmdDophndhilpa = 8973,
    CmdGetControllerChallengeTierceCsReq = 8978,
    CmdRestartChallengeTierceCsReq = 8975,
    CmdGetControllerChallengeTierceScRsp = 8971,
    CmdSetLineupChallengeTierceCsReq = 8979,
    CmdStartChallengeTierceCsReq = 8988,
    CmdGetDataChallengeTierceCsReq = 8981,
    CmdStartNextChallengeTierceCsReq = 8977,
    CmdSetLineupChallengeTierceScRsp = 8995,
    CmdLeaveChallengeTierceScRsp = 8982,
}
impl CmdChallengeTierceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FebnjdjaebmNlcdgipgfdj => "FEBNJDJAEBM_NLCDGIPGFDJ",
            Self::CmdConfirmStageSettleChallengeTierceScRsp => {
                "CmdConfirmStageSettleChallengeTierceScRsp"
            }
            Self::CmdRestartChallengeTierceScRsp => "CmdRestartChallengeTierceScRsp",
            Self::CmdConfirmStageSettleChallengeTierceCsReq => {
                "CmdConfirmStageSettleChallengeTierceCsReq"
            }
            Self::CmdStartChallengeTierceScRsp => "CmdStartChallengeTierceScRsp",
            Self::CmdLeaveChallengeTierceCsReq => "CmdLeaveChallengeTierceCsReq",
            Self::CmdGetDataChallengeTierceScRsp => "CmdGetDataChallengeTierceScRsp",
            Self::CmdStartNextChallengeTierceScRsp => "CmdStartNextChallengeTierceScRsp",
            Self::CmdDophndhilpa => "CmdDOPHNDHILPA",
            Self::CmdGetControllerChallengeTierceCsReq => {
                "CmdGetControllerChallengeTierceCsReq"
            }
            Self::CmdRestartChallengeTierceCsReq => "CmdRestartChallengeTierceCsReq",
            Self::CmdGetControllerChallengeTierceScRsp => {
                "CmdGetControllerChallengeTierceScRsp"
            }
            Self::CmdSetLineupChallengeTierceCsReq => "CmdSetLineupChallengeTierceCsReq",
            Self::CmdStartChallengeTierceCsReq => "CmdStartChallengeTierceCsReq",
            Self::CmdGetDataChallengeTierceCsReq => "CmdGetDataChallengeTierceCsReq",
            Self::CmdStartNextChallengeTierceCsReq => "CmdStartNextChallengeTierceCsReq",
            Self::CmdSetLineupChallengeTierceScRsp => "CmdSetLineupChallengeTierceScRsp",
            Self::CmdLeaveChallengeTierceScRsp => "CmdLeaveChallengeTierceScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEBNJDJAEBM_NLCDGIPGFDJ" => Some(Self::FebnjdjaebmNlcdgipgfdj),
            "CmdConfirmStageSettleChallengeTierceScRsp" => {
                Some(Self::CmdConfirmStageSettleChallengeTierceScRsp)
            }
            "CmdRestartChallengeTierceScRsp" => {
                Some(Self::CmdRestartChallengeTierceScRsp)
            }
            "CmdConfirmStageSettleChallengeTierceCsReq" => {
                Some(Self::CmdConfirmStageSettleChallengeTierceCsReq)
            }
            "CmdStartChallengeTierceScRsp" => Some(Self::CmdStartChallengeTierceScRsp),
            "CmdLeaveChallengeTierceCsReq" => Some(Self::CmdLeaveChallengeTierceCsReq),
            "CmdGetDataChallengeTierceScRsp" => {
                Some(Self::CmdGetDataChallengeTierceScRsp)
            }
            "CmdStartNextChallengeTierceScRsp" => {
                Some(Self::CmdStartNextChallengeTierceScRsp)
            }
            "CmdDOPHNDHILPA" => Some(Self::CmdDophndhilpa),
            "CmdGetControllerChallengeTierceCsReq" => {
                Some(Self::CmdGetControllerChallengeTierceCsReq)
            }
            "CmdRestartChallengeTierceCsReq" => {
                Some(Self::CmdRestartChallengeTierceCsReq)
            }
            "CmdGetControllerChallengeTierceScRsp" => {
                Some(Self::CmdGetControllerChallengeTierceScRsp)
            }
            "CmdSetLineupChallengeTierceCsReq" => {
                Some(Self::CmdSetLineupChallengeTierceCsReq)
            }
            "CmdStartChallengeTierceCsReq" => Some(Self::CmdStartChallengeTierceCsReq),
            "CmdGetDataChallengeTierceCsReq" => {
                Some(Self::CmdGetDataChallengeTierceCsReq)
            }
            "CmdStartNextChallengeTierceCsReq" => {
                Some(Self::CmdStartNextChallengeTierceCsReq)
            }
            "CmdSetLineupChallengeTierceScRsp" => {
                Some(Self::CmdSetLineupChallengeTierceScRsp)
            }
            "CmdLeaveChallengeTierceScRsp" => Some(Self::CmdLeaveChallengeTierceScRsp),
            _ => None,
        }
    }
}
/// Obf: FAKGHKIKHAP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChatType {
    FakghkikhapNlcdgipgfdj = 0,
    CmdGetPrivateChatHistoryCsReq = 3988,
    CmdGetLoginChatInfoScRsp = 3904,
    CmdGetChatFriendHistoryScRsp = 3947,
    CmdGetLoginChatInfoCsReq = 3939,
    CmdRevcMsgScNotify = 3993,
    CmdMarkChatEmojiScRsp = 3940,
    CmdSendMsgCsReq = 3925,
    CmdBatchMarkChatEmojiCsReq = 3933,
    CmdGetChatEmojiListScRsp = 3913,
    CmdGetChatEmojiListCsReq = 3926,
    CmdGetChatFriendHistoryCsReq = 3986,
    CmdGetPrivateChatHistoryScRsp = 3981,
    CmdSendMsgScRsp = 3978,
    CmdBatchMarkChatEmojiScRsp = 3938,
    CmdMarkChatEmojiCsReq = 3971,
}
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::FakghkikhapNlcdgipgfdj => "FAKGHKIKHAP_NLCDGIPGFDJ",
            Self::CmdGetPrivateChatHistoryCsReq => "CmdGetPrivateChatHistoryCsReq",
            Self::CmdGetLoginChatInfoScRsp => "CmdGetLoginChatInfoScRsp",
            Self::CmdGetChatFriendHistoryScRsp => "CmdGetChatFriendHistoryScRsp",
            Self::CmdGetLoginChatInfoCsReq => "CmdGetLoginChatInfoCsReq",
            Self::CmdRevcMsgScNotify => "CmdRevcMsgScNotify",
            Self::CmdMarkChatEmojiScRsp => "CmdMarkChatEmojiScRsp",
            Self::CmdSendMsgCsReq => "CmdSendMsgCsReq",
            Self::CmdBatchMarkChatEmojiCsReq => "CmdBatchMarkChatEmojiCsReq",
            Self::CmdGetChatEmojiListScRsp => "CmdGetChatEmojiListScRsp",
            Self::CmdGetChatEmojiListCsReq => "CmdGetChatEmojiListCsReq",
            Self::CmdGetChatFriendHistoryCsReq => "CmdGetChatFriendHistoryCsReq",
            Self::CmdGetPrivateChatHistoryScRsp => "CmdGetPrivateChatHistoryScRsp",
            Self::CmdSendMsgScRsp => "CmdSendMsgScRsp",
            Self::CmdBatchMarkChatEmojiScRsp => "CmdBatchMarkChatEmojiScRsp",
            Self::CmdMarkChatEmojiCsReq => "CmdMarkChatEmojiCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FAKGHKIKHAP_NLCDGIPGFDJ" => Some(Self::FakghkikhapNlcdgipgfdj),
            "CmdGetPrivateChatHistoryCsReq" => Some(Self::CmdGetPrivateChatHistoryCsReq),
            "CmdGetLoginChatInfoScRsp" => Some(Self::CmdGetLoginChatInfoScRsp),
            "CmdGetChatFriendHistoryScRsp" => Some(Self::CmdGetChatFriendHistoryScRsp),
            "CmdGetLoginChatInfoCsReq" => Some(Self::CmdGetLoginChatInfoCsReq),
            "CmdRevcMsgScNotify" => Some(Self::CmdRevcMsgScNotify),
            "CmdMarkChatEmojiScRsp" => Some(Self::CmdMarkChatEmojiScRsp),
            "CmdSendMsgCsReq" => Some(Self::CmdSendMsgCsReq),
            "CmdBatchMarkChatEmojiCsReq" => Some(Self::CmdBatchMarkChatEmojiCsReq),
            "CmdGetChatEmojiListScRsp" => Some(Self::CmdGetChatEmojiListScRsp),
            "CmdGetChatEmojiListCsReq" => Some(Self::CmdGetChatEmojiListCsReq),
            "CmdGetChatFriendHistoryCsReq" => Some(Self::CmdGetChatFriendHistoryCsReq),
            "CmdGetPrivateChatHistoryScRsp" => Some(Self::CmdGetPrivateChatHistoryScRsp),
            "CmdSendMsgScRsp" => Some(Self::CmdSendMsgScRsp),
            "CmdBatchMarkChatEmojiScRsp" => Some(Self::CmdBatchMarkChatEmojiScRsp),
            "CmdMarkChatEmojiCsReq" => Some(Self::CmdMarkChatEmojiCsReq),
            _ => None,
        }
    }
}
/// Obf: KANFMPNKHJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChenLingBattleType {
    KanfmpnkhjhNlcdgipgfdj = 0,
    CmdOmffcgeinlf = 9609,
    CmdGokhekchlel = 9575,
    CmdJmlojkgmbmc = 9578,
    CmdGbckaghdpeb = 9587,
    CmdKnkcnkjokpa = 9610,
    CmdChenLingQuitStageCsReq = 9589,
    CmdPichifnmbno = 9600,
    CmdPlmpglkcgbj = 9602,
    CmdChenLingSyncChangeScNotify = 9592,
    CmdFahnfmcojch = 9584,
    CmdLaecpmjaiik = 9591,
    CmdDiononbiikn = 9571,
    CmdMjemckgbipn = 9596,
    CmdNfahehelgec = 9605,
    CmdEifjnmddnpf = 9585,
    CmdChenLingQuitStageScRsp = 9618,
    CmdHkkbglineom = 9611,
    CmdIopaidkigaj = 9573,
    CmdPfelegkdcbo = 9599,
    CmdKhmghgplphf = 9572,
    CmdLkfkohlgmoj = 9615,
    CmdHpkoopbfeah = 9583,
    CmdChenLingStartStageCsReq = 9607,
    CmdMejecbognnn = 9594,
    CmdChenLingActivatedPrivilegeScRsp = 9612,
    CmdHfnmkedpfjh = 9576,
    CmdOngcoffliae = 9603,
    CmdHlcakajlkgo = 9613,
    CmdPiijeiadmfp = 9586,
    CmdKcejnbldafe = 9577,
    CmdChenLingStartStageScRsp = 9614,
    CmdJjlpgbiaadj = 9588,
    CmdGepcohmcaaj = 9590,
    CmdChenLingGetDataScRsp = 9593,
    CmdBekkpbikini = 9606,
    CmdFcnmjggdefo = 9580,
    CmdDlgcdmbgieb = 9582,
    CmdChenLingGetDataCsReq = 9579,
    CmdChenLingActivatedPrivilegeCsReq = 9617,
}
impl CmdChenLingBattleType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::KanfmpnkhjhNlcdgipgfdj => "KANFMPNKHJH_NLCDGIPGFDJ",
            Self::CmdOmffcgeinlf => "CmdOMFFCGEINLF",
            Self::CmdGokhekchlel => "CmdGOKHEKCHLEL",
            Self::CmdJmlojkgmbmc => "CmdJMLOJKGMBMC",
            Self::CmdGbckaghdpeb => "CmdGBCKAGHDPEB",
            Self::CmdKnkcnkjokpa => "CmdKNKCNKJOKPA",
            Self::CmdChenLingQuitStageCsReq => "CmdChenLingQuitStageCsReq",
            Self::CmdPichifnmbno => "CmdPICHIFNMBNO",
            Self::CmdPlmpglkcgbj => "CmdPLMPGLKCGBJ",
            Self::CmdChenLingSyncChangeScNotify => "CmdChenLingSyncChangeScNotify",
            Self::CmdFahnfmcojch => "CmdFAHNFMCOJCH",
            Self::CmdLaecpmjaiik => "CmdLAECPMJAIIK",
            Self::CmdDiononbiikn => "CmdDIONONBIIKN",
            Self::CmdMjemckgbipn => "CmdMJEMCKGBIPN",
            Self::CmdNfahehelgec => "CmdNFAHEHELGEC",
            Self::CmdEifjnmddnpf => "CmdEIFJNMDDNPF",
            Self::CmdChenLingQuitStageScRsp => "CmdChenLingQuitStageScRsp",
            Self::CmdHkkbglineom => "CmdHKKBGLINEOM",
            Self::CmdIopaidkigaj => "CmdIOPAIDKIGAJ",
            Self::CmdPfelegkdcbo => "CmdPFELEGKDCBO",
            Self::CmdKhmghgplphf => "CmdKHMGHGPLPHF",
            Self::CmdLkfkohlgmoj => "CmdLKFKOHLGMOJ",
            Self::CmdHpkoopbfeah => "CmdHPKOOPBFEAH",
            Self::CmdChenLingStartStageCsReq => "CmdChenLingStartStageCsReq",
            Self::CmdMejecbognnn => "CmdMEJECBOGNNN",
            Self::CmdChenLingActivatedPrivilegeScRsp => {
                "CmdChenLingActivatedPrivilegeScRsp"
            }
            Self::CmdHfnmkedpfjh => "CmdHFNMKEDPFJH",
            Self::CmdOngcoffliae => "CmdONGCOFFLIAE",
            Self::CmdHlcakajlkgo => "CmdHLCAKAJLKGO",
            Self::CmdPiijeiadmfp => "CmdPIIJEIADMFP",
            Self::CmdKcejnbldafe => "CmdKCEJNBLDAFE",
            Self::CmdChenLingStartStageScRsp => "CmdChenLingStartStageScRsp",
            Self::CmdJjlpgbiaadj => "CmdJJLPGBIAADJ",
            Self::CmdGepcohmcaaj => "CmdGEPCOHMCAAJ",
            Self::CmdChenLingGetDataScRsp => "CmdChenLingGetDataScRsp",
            Self::CmdBekkpbikini => "CmdBEKKPBIKINI",
            Self::CmdFcnmjggdefo => "CmdFCNMJGGDEFO",
            Self::CmdDlgcdmbgieb => "CmdDLGCDMBGIEB",
            Self::CmdChenLingGetDataCsReq => "CmdChenLingGetDataCsReq",
            Self::CmdChenLingActivatedPrivilegeCsReq => {
                "CmdChenLingActivatedPrivilegeCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KANFMPNKHJH_NLCDGIPGFDJ" => Some(Self::KanfmpnkhjhNlcdgipgfdj),
            "CmdOMFFCGEINLF" => Some(Self::CmdOmffcgeinlf),
            "CmdGOKHEKCHLEL" => Some(Self::CmdGokhekchlel),
            "CmdJMLOJKGMBMC" => Some(Self::CmdJmlojkgmbmc),
            "CmdGBCKAGHDPEB" => Some(Self::CmdGbckaghdpeb),
            "CmdKNKCNKJOKPA" => Some(Self::CmdKnkcnkjokpa),
            "CmdChenLingQuitStageCsReq" => Some(Self::CmdChenLingQuitStageCsReq),
            "CmdPICHIFNMBNO" => Some(Self::CmdPichifnmbno),
            "CmdPLMPGLKCGBJ" => Some(Self::CmdPlmpglkcgbj),
            "CmdChenLingSyncChangeScNotify" => Some(Self::CmdChenLingSyncChangeScNotify),
            "CmdFAHNFMCOJCH" => Some(Self::CmdFahnfmcojch),
            "CmdLAECPMJAIIK" => Some(Self::CmdLaecpmjaiik),
            "CmdDIONONBIIKN" => Some(Self::CmdDiononbiikn),
            "CmdMJEMCKGBIPN" => Some(Self::CmdMjemckgbipn),
            "CmdNFAHEHELGEC" => Some(Self::CmdNfahehelgec),
            "CmdEIFJNMDDNPF" => Some(Self::CmdEifjnmddnpf),
            "CmdChenLingQuitStageScRsp" => Some(Self::CmdChenLingQuitStageScRsp),
            "CmdHKKBGLINEOM" => Some(Self::CmdHkkbglineom),
            "CmdIOPAIDKIGAJ" => Some(Self::CmdIopaidkigaj),
            "CmdPFELEGKDCBO" => Some(Self::CmdPfelegkdcbo),
            "CmdKHMGHGPLPHF" => Some(Self::CmdKhmghgplphf),
            "CmdLKFKOHLGMOJ" => Some(Self::CmdLkfkohlgmoj),
            "CmdHPKOOPBFEAH" => Some(Self::CmdHpkoopbfeah),
            "CmdChenLingStartStageCsReq" => Some(Self::CmdChenLingStartStageCsReq),
            "CmdMEJECBOGNNN" => Some(Self::CmdMejecbognnn),
            "CmdChenLingActivatedPrivilegeScRsp" => {
                Some(Self::CmdChenLingActivatedPrivilegeScRsp)
            }
            "CmdHFNMKEDPFJH" => Some(Self::CmdHfnmkedpfjh),
            "CmdONGCOFFLIAE" => Some(Self::CmdOngcoffliae),
            "CmdHLCAKAJLKGO" => Some(Self::CmdHlcakajlkgo),
            "CmdPIIJEIADMFP" => Some(Self::CmdPiijeiadmfp),
            "CmdKCEJNBLDAFE" => Some(Self::CmdKcejnbldafe),
            "CmdChenLingStartStageScRsp" => Some(Self::CmdChenLingStartStageScRsp),
            "CmdJJLPGBIAADJ" => Some(Self::CmdJjlpgbiaadj),
            "CmdGEPCOHMCAAJ" => Some(Self::CmdGepcohmcaaj),
            "CmdChenLingGetDataScRsp" => Some(Self::CmdChenLingGetDataScRsp),
            "CmdBEKKPBIKINI" => Some(Self::CmdBekkpbikini),
            "CmdFCNMJGGDEFO" => Some(Self::CmdFcnmjggdefo),
            "CmdDLGCDMBGIEB" => Some(Self::CmdDlgcdmbgieb),
            "CmdChenLingGetDataCsReq" => Some(Self::CmdChenLingGetDataCsReq),
            "CmdChenLingActivatedPrivilegeCsReq" => {
                Some(Self::CmdChenLingActivatedPrivilegeCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Effgcojfeel {
    Jchbphoiacg = 0,
    Fhjjhmifejg = 1,
    Djfemkhjbno = 2,
}
impl Effgcojfeel {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jchbphoiacg => "EFFGCOJFEEL_JCHBPHOIACG",
            Self::Fhjjhmifejg => "EFFGCOJFEEL_FHJJHMIFEJG",
            Self::Djfemkhjbno => "EFFGCOJFEEL_DJFEMKHJBNO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EFFGCOJFEEL_JCHBPHOIACG" => Some(Self::Jchbphoiacg),
            "EFFGCOJFEEL_FHJJHMIFEJG" => Some(Self::Fhjjhmifejg),
            "EFFGCOJFEEL_DJFEMKHJBNO" => Some(Self::Djfemkhjbno),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bcamanfjinc {
    Nlcdgipgfdj = 0,
    Mligafabjdp = 1,
    Bllcmlbdlpc = 2,
    Mebgackeoog = 3,
    Ghpkfacfmml = 4,
    Jhjcnllmpkh = 5,
    Lofjagllhhg = 6,
    Heihbjeegpb = 7,
    Njpmblbibod = 8,
    Gifgldbdeln = 9,
    Ngecenkoplk = 10,
    Emgmfoblafn = 11,
    Lijmdjdfiic = 12,
    Jhgmhcjokna = 13,
    Kpcejlilhmo = 14,
    Aehhipfdnfj = 15,
    Khbeoaddifm = 16,
    Action = 17,
    Dacemidfhog = 18,
    Oikfflehfcn = 19,
    Kejcjjhdkjb = 20,
    Eiijclpcflm = 21,
    Nkjfkbbddeo = 22,
}
impl Bcamanfjinc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BCAMANFJINC_NLCDGIPGFDJ",
            Self::Mligafabjdp => "BCAMANFJINC_MLIGAFABJDP",
            Self::Bllcmlbdlpc => "BCAMANFJINC_BLLCMLBDLPC",
            Self::Mebgackeoog => "BCAMANFJINC_MEBGACKEOOG",
            Self::Ghpkfacfmml => "BCAMANFJINC_GHPKFACFMML",
            Self::Jhjcnllmpkh => "BCAMANFJINC_JHJCNLLMPKH",
            Self::Lofjagllhhg => "BCAMANFJINC_LOFJAGLLHHG",
            Self::Heihbjeegpb => "BCAMANFJINC_HEIHBJEEGPB",
            Self::Njpmblbibod => "BCAMANFJINC_NJPMBLBIBOD",
            Self::Gifgldbdeln => "BCAMANFJINC_GIFGLDBDELN",
            Self::Ngecenkoplk => "BCAMANFJINC_NGECENKOPLK",
            Self::Emgmfoblafn => "BCAMANFJINC_EMGMFOBLAFN",
            Self::Lijmdjdfiic => "BCAMANFJINC_LIJMDJDFIIC",
            Self::Jhgmhcjokna => "BCAMANFJINC_JHGMHCJOKNA",
            Self::Kpcejlilhmo => "BCAMANFJINC_KPCEJLILHMO",
            Self::Aehhipfdnfj => "BCAMANFJINC_AEHHIPFDNFJ",
            Self::Khbeoaddifm => "BCAMANFJINC_KHBEOADDIFM",
            Self::Action => "BCAMANFJINC_action",
            Self::Dacemidfhog => "BCAMANFJINC_DACEMIDFHOG",
            Self::Oikfflehfcn => "BCAMANFJINC_OIKFFLEHFCN",
            Self::Kejcjjhdkjb => "BCAMANFJINC_KEJCJJHDKJB",
            Self::Eiijclpcflm => "BCAMANFJINC_EIIJCLPCFLM",
            Self::Nkjfkbbddeo => "BCAMANFJINC_NKJFKBBDDEO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BCAMANFJINC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BCAMANFJINC_MLIGAFABJDP" => Some(Self::Mligafabjdp),
            "BCAMANFJINC_BLLCMLBDLPC" => Some(Self::Bllcmlbdlpc),
            "BCAMANFJINC_MEBGACKEOOG" => Some(Self::Mebgackeoog),
            "BCAMANFJINC_GHPKFACFMML" => Some(Self::Ghpkfacfmml),
            "BCAMANFJINC_JHJCNLLMPKH" => Some(Self::Jhjcnllmpkh),
            "BCAMANFJINC_LOFJAGLLHHG" => Some(Self::Lofjagllhhg),
            "BCAMANFJINC_HEIHBJEEGPB" => Some(Self::Heihbjeegpb),
            "BCAMANFJINC_NJPMBLBIBOD" => Some(Self::Njpmblbibod),
            "BCAMANFJINC_GIFGLDBDELN" => Some(Self::Gifgldbdeln),
            "BCAMANFJINC_NGECENKOPLK" => Some(Self::Ngecenkoplk),
            "BCAMANFJINC_EMGMFOBLAFN" => Some(Self::Emgmfoblafn),
            "BCAMANFJINC_LIJMDJDFIIC" => Some(Self::Lijmdjdfiic),
            "BCAMANFJINC_JHGMHCJOKNA" => Some(Self::Jhgmhcjokna),
            "BCAMANFJINC_KPCEJLILHMO" => Some(Self::Kpcejlilhmo),
            "BCAMANFJINC_AEHHIPFDNFJ" => Some(Self::Aehhipfdnfj),
            "BCAMANFJINC_KHBEOADDIFM" => Some(Self::Khbeoaddifm),
            "BCAMANFJINC_action" => Some(Self::Action),
            "BCAMANFJINC_DACEMIDFHOG" => Some(Self::Dacemidfhog),
            "BCAMANFJINC_OIKFFLEHFCN" => Some(Self::Oikfflehfcn),
            "BCAMANFJINC_KEJCJJHDKJB" => Some(Self::Kejcjjhdkjb),
            "BCAMANFJINC_EIIJCLPCFLM" => Some(Self::Eiijclpcflm),
            "BCAMANFJINC_NKJFKBBDDEO" => Some(Self::Nkjfkbbddeo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Glbaokohkcf {
    Nlcdgipgfdj = 0,
    Cojoifppcij = 2,
    Hp = 3,
    Ogggloeiomm = 4,
    Ccplgnnioco = 5,
    Dgomnkglabb = 6,
    Paieeldaadp = 7,
}
impl Glbaokohkcf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GLBAOKOHKCF_NLCDGIPGFDJ",
            Self::Cojoifppcij => "GLBAOKOHKCF_COJOIFPPCIJ",
            Self::Hp => "GLBAOKOHKCF_hp",
            Self::Ogggloeiomm => "GLBAOKOHKCF_OGGGLOEIOMM",
            Self::Ccplgnnioco => "GLBAOKOHKCF_CCPLGNNIOCO",
            Self::Dgomnkglabb => "GLBAOKOHKCF_DGOMNKGLABB",
            Self::Paieeldaadp => "GLBAOKOHKCF_PAIEELDAADP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GLBAOKOHKCF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GLBAOKOHKCF_COJOIFPPCIJ" => Some(Self::Cojoifppcij),
            "GLBAOKOHKCF_hp" => Some(Self::Hp),
            "GLBAOKOHKCF_OGGGLOEIOMM" => Some(Self::Ogggloeiomm),
            "GLBAOKOHKCF_CCPLGNNIOCO" => Some(Self::Ccplgnnioco),
            "GLBAOKOHKCF_DGOMNKGLABB" => Some(Self::Dgomnkglabb),
            "GLBAOKOHKCF_PAIEELDAADP" => Some(Self::Paieeldaadp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cneembbnnbo {
    Nlcdgipgfdj = 0,
    Ehniplneedi = 1,
    Faodkndlnpf = 2,
    Inclhhdfcel = 3,
}
impl Cneembbnnbo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "CNEEMBBNNBO_NLCDGIPGFDJ",
            Self::Ehniplneedi => "CNEEMBBNNBO_EHNIPLNEEDI",
            Self::Faodkndlnpf => "CNEEMBBNNBO_FAODKNDLNPF",
            Self::Inclhhdfcel => "CNEEMBBNNBO_INCLHHDFCEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CNEEMBBNNBO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "CNEEMBBNNBO_EHNIPLNEEDI" => Some(Self::Ehniplneedi),
            "CNEEMBBNNBO_FAODKNDLNPF" => Some(Self::Faodkndlnpf),
            "CNEEMBBNNBO_INCLHHDFCEL" => Some(Self::Inclhhdfcel),
            _ => None,
        }
    }
}
/// Obf: LCOIIEGJAOK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChenLingFesType {
    LcoiiegjaokNlcdgipgfdj = 0,
    CmdChenLingFesLevelStartCsReq = 9937,
    CmdChenLingFesLevelLeaveScRsp = 9948,
    CmdChenLingFesRaidKickedNotify = 9917,
    CmdGetChenLingFesDataCsReq = 9909,
    CmdChenLingFesLevelStartScRsp = 9944,
    CmdChenLingFesBusinessDayEndCsReq = 9924,
    CmdChenLingFesLevelResumeCsReq = 9903,
    CmdGetChenLingFesDataScRsp = 9923,
    CmdChenLingFesLevelLeaveCsReq = 9919,
    CmdChenLingFesLevelEndScRsp = 9921,
    CmdChenLingFesLevelResumeScRsp = 9907,
    CmdChenLingFesLevelEndCsReq = 9910,
    CmdChenLingFesBusinessDayEndScRsp = 9920,
}
impl CmdChenLingFesType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LcoiiegjaokNlcdgipgfdj => "LCOIIEGJAOK_NLCDGIPGFDJ",
            Self::CmdChenLingFesLevelStartCsReq => "CmdChenLingFesLevelStartCsReq",
            Self::CmdChenLingFesLevelLeaveScRsp => "CmdChenLingFesLevelLeaveScRsp",
            Self::CmdChenLingFesRaidKickedNotify => "CmdChenLingFesRaidKickedNotify",
            Self::CmdGetChenLingFesDataCsReq => "CmdGetChenLingFesDataCsReq",
            Self::CmdChenLingFesLevelStartScRsp => "CmdChenLingFesLevelStartScRsp",
            Self::CmdChenLingFesBusinessDayEndCsReq => {
                "CmdChenLingFesBusinessDayEndCsReq"
            }
            Self::CmdChenLingFesLevelResumeCsReq => "CmdChenLingFesLevelResumeCsReq",
            Self::CmdGetChenLingFesDataScRsp => "CmdGetChenLingFesDataScRsp",
            Self::CmdChenLingFesLevelLeaveCsReq => "CmdChenLingFesLevelLeaveCsReq",
            Self::CmdChenLingFesLevelEndScRsp => "CmdChenLingFesLevelEndScRsp",
            Self::CmdChenLingFesLevelResumeScRsp => "CmdChenLingFesLevelResumeScRsp",
            Self::CmdChenLingFesLevelEndCsReq => "CmdChenLingFesLevelEndCsReq",
            Self::CmdChenLingFesBusinessDayEndScRsp => {
                "CmdChenLingFesBusinessDayEndScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCOIIEGJAOK_NLCDGIPGFDJ" => Some(Self::LcoiiegjaokNlcdgipgfdj),
            "CmdChenLingFesLevelStartCsReq" => Some(Self::CmdChenLingFesLevelStartCsReq),
            "CmdChenLingFesLevelLeaveScRsp" => Some(Self::CmdChenLingFesLevelLeaveScRsp),
            "CmdChenLingFesRaidKickedNotify" => {
                Some(Self::CmdChenLingFesRaidKickedNotify)
            }
            "CmdGetChenLingFesDataCsReq" => Some(Self::CmdGetChenLingFesDataCsReq),
            "CmdChenLingFesLevelStartScRsp" => Some(Self::CmdChenLingFesLevelStartScRsp),
            "CmdChenLingFesBusinessDayEndCsReq" => {
                Some(Self::CmdChenLingFesBusinessDayEndCsReq)
            }
            "CmdChenLingFesLevelResumeCsReq" => {
                Some(Self::CmdChenLingFesLevelResumeCsReq)
            }
            "CmdGetChenLingFesDataScRsp" => Some(Self::CmdGetChenLingFesDataScRsp),
            "CmdChenLingFesLevelLeaveCsReq" => Some(Self::CmdChenLingFesLevelLeaveCsReq),
            "CmdChenLingFesLevelEndScRsp" => Some(Self::CmdChenLingFesLevelEndScRsp),
            "CmdChenLingFesLevelResumeScRsp" => {
                Some(Self::CmdChenLingFesLevelResumeScRsp)
            }
            "CmdChenLingFesLevelEndCsReq" => Some(Self::CmdChenLingFesLevelEndCsReq),
            "CmdChenLingFesBusinessDayEndScRsp" => {
                Some(Self::CmdChenLingFesBusinessDayEndScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: MGAFALOCHKA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChessRogueType {
    MgafalochkaNlcdgipgfdj = 0,
    CmdFinishChessRogueSubStoryCsReq = 5544,
    CmdChessRogueEnterCellCsReq = 5486,
    CmdGetChessRogueStoryInfoScRsp = 5548,
    CmdEnterChessRogueAeonRoomScRsp = 5577,
    CmdChessRogueNousEditDiceScRsp = 5480,
    CmdChessRogueNousDiceUpdateNotify = 5455,
    CmdChessRogueEnterNextLayerCsReq = 5529,
    CmdReviveRogueAvatarCsReq = 5543,
    CmdChessRogueUpdateReviveInfoScNotify = 5555,
    CmdChessRogueUpdateDiceInfoScNotify = 5460,
    CmdChessRogueUpdateUnlockLevelScNotify = 5496,
    CmdChessRogueUpdateAeonModifierValueScNotify = 5457,
    CmdSelectChessRogueSubStoryScRsp = 5479,
    CmdGetChessRogueStoryAeonTalkInfoScRsp = 5458,
    CmdSelectChessRogueSubStoryCsReq = 5440,
    CmdChessRogueEnterScRsp = 5593,
    CmdChessRogueCheatRollCsReq = 5466,
    CmdChessRogueUpdateMoneyInfoScNotify = 5580,
    CmdChessRogueNousEnableRogueTalentCsReq = 5446,
    CmdChessRogueGiveUpCsReq = 5441,
    CmdChessRogueEnterCsReq = 5406,
    CmdChessRogueQuestFinishNotify = 5541,
    CmdGetChessRogueStoryInfoCsReq = 5515,
    CmdGetChessRogueStoryAeonTalkInfoCsReq = 5549,
    CmdGetRogueBuffEnhanceInfoScRsp = 5454,
    CmdGetChessRogueNousStoryInfoScRsp = 5474,
    CmdChessRogueEnterCellScRsp = 5482,
    CmdChessRogueQueryCsReq = 5592,
    CmdReviveRogueAvatarScRsp = 5550,
    CmdChessRogueLeaveScRsp = 5563,
    CmdChessRogueGiveUpScRsp = 5540,
    CmdChessRogueRollDiceScRsp = 5596,
    CmdSyncChessRogueMainStoryFinishScNotify = 5469,
    CmdChessRogueUpdateLevelBaseInfoScNotify = 5437,
    CmdChessRogueRollDiceCsReq = 5501,
    CmdChessRogueStartCsReq = 5598,
    CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5478,
    CmdChessRogueSkipTeachingLevelScRsp = 5445,
    CmdChessRogueNousDiceSurfaceUnlockNotify = 5408,
    CmdChessRogueCheatRollScRsp = 5410,
    CmdChessRogueQuitCsReq = 5434,
    CmdChessRogueLeaveCsReq = 5583,
    CmdChessRogueCellUpdateNotify = 5450,
    CmdChessRogueChangeAeonDimensionNotify = 5588,
    CmdChessRogueNousGetRogueTalentInfoScRsp = 5453,
    CmdChessRogueQuitScRsp = 5491,
    CmdChessRogueReRollDiceScRsp = 5417,
    CmdSyncChessRogueNousMainStoryScNotify = 5421,
    CmdChessRogueNousEnableRogueTalentScRsp = 5586,
    CmdGetRogueBuffEnhanceInfoCsReq = 5505,
    CmdChessRogueSelectCellCsReq = 5423,
    CmdChessRogueLayerSettlement = 5537,
    CmdChessRogueNousGetRogueTalentInfoCsReq = 5513,
    CmdChessRogueConfirmRollCsReq = 5573,
    CmdGetChessRogueNousStoryInfoCsReq = 5545,
    CmdChessRogueQueryScRsp = 5524,
    CmdChessRogueReRollDiceCsReq = 5527,
    CmdEnhanceRogueBuffCsReq = 5487,
    CmdChessRogueStartScRsp = 5495,
    CmdChessRogueConfirmRollScRsp = 5525,
    CmdChessRogueUpdateActionPointScNotify = 5590,
    CmdChessRogueNousEditDiceCsReq = 5546,
    CmdPickRogueAvatarScRsp = 5494,
    CmdPickRogueAvatarCsReq = 5488,
    CmdSyncChessRogueNousValueScNotify = 5431,
    CmdChessRogueSkipTeachingLevelCsReq = 5483,
    CmdChessRogueEnterNextLayerScRsp = 5489,
    CmdSyncChessRogueNousSubStoryScNotify = 5582,
    CmdEnterChessRogueAeonRoomCsReq = 5463,
    CmdChessRogueUpdateAllowedSelectCellScNotify = 5520,
    CmdChessRogueSelectCellScRsp = 5522,
    CmdFinishChessRogueSubStoryScRsp = 5516,
    CmdEnhanceRogueBuffScRsp = 5514,
}
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::MgafalochkaNlcdgipgfdj => "MGAFALOCHKA_NLCDGIPGFDJ",
            Self::CmdFinishChessRogueSubStoryCsReq => "CmdFinishChessRogueSubStoryCsReq",
            Self::CmdChessRogueEnterCellCsReq => "CmdChessRogueEnterCellCsReq",
            Self::CmdGetChessRogueStoryInfoScRsp => "CmdGetChessRogueStoryInfoScRsp",
            Self::CmdEnterChessRogueAeonRoomScRsp => "CmdEnterChessRogueAeonRoomScRsp",
            Self::CmdChessRogueNousEditDiceScRsp => "CmdChessRogueNousEditDiceScRsp",
            Self::CmdChessRogueNousDiceUpdateNotify => {
                "CmdChessRogueNousDiceUpdateNotify"
            }
            Self::CmdChessRogueEnterNextLayerCsReq => "CmdChessRogueEnterNextLayerCsReq",
            Self::CmdReviveRogueAvatarCsReq => "CmdReviveRogueAvatarCsReq",
            Self::CmdChessRogueUpdateReviveInfoScNotify => {
                "CmdChessRogueUpdateReviveInfoScNotify"
            }
            Self::CmdChessRogueUpdateDiceInfoScNotify => {
                "CmdChessRogueUpdateDiceInfoScNotify"
            }
            Self::CmdChessRogueUpdateUnlockLevelScNotify => {
                "CmdChessRogueUpdateUnlockLevelScNotify"
            }
            Self::CmdChessRogueUpdateAeonModifierValueScNotify => {
                "CmdChessRogueUpdateAeonModifierValueScNotify"
            }
            Self::CmdSelectChessRogueSubStoryScRsp => "CmdSelectChessRogueSubStoryScRsp",
            Self::CmdGetChessRogueStoryAeonTalkInfoScRsp => {
                "CmdGetChessRogueStoryAeonTalkInfoScRsp"
            }
            Self::CmdSelectChessRogueSubStoryCsReq => "CmdSelectChessRogueSubStoryCsReq",
            Self::CmdChessRogueEnterScRsp => "CmdChessRogueEnterScRsp",
            Self::CmdChessRogueCheatRollCsReq => "CmdChessRogueCheatRollCsReq",
            Self::CmdChessRogueUpdateMoneyInfoScNotify => {
                "CmdChessRogueUpdateMoneyInfoScNotify"
            }
            Self::CmdChessRogueNousEnableRogueTalentCsReq => {
                "CmdChessRogueNousEnableRogueTalentCsReq"
            }
            Self::CmdChessRogueGiveUpCsReq => "CmdChessRogueGiveUpCsReq",
            Self::CmdChessRogueEnterCsReq => "CmdChessRogueEnterCsReq",
            Self::CmdChessRogueQuestFinishNotify => "CmdChessRogueQuestFinishNotify",
            Self::CmdGetChessRogueStoryInfoCsReq => "CmdGetChessRogueStoryInfoCsReq",
            Self::CmdGetChessRogueStoryAeonTalkInfoCsReq => {
                "CmdGetChessRogueStoryAeonTalkInfoCsReq"
            }
            Self::CmdGetRogueBuffEnhanceInfoScRsp => "CmdGetRogueBuffEnhanceInfoScRsp",
            Self::CmdGetChessRogueNousStoryInfoScRsp => {
                "CmdGetChessRogueNousStoryInfoScRsp"
            }
            Self::CmdChessRogueEnterCellScRsp => "CmdChessRogueEnterCellScRsp",
            Self::CmdChessRogueQueryCsReq => "CmdChessRogueQueryCsReq",
            Self::CmdReviveRogueAvatarScRsp => "CmdReviveRogueAvatarScRsp",
            Self::CmdChessRogueLeaveScRsp => "CmdChessRogueLeaveScRsp",
            Self::CmdChessRogueGiveUpScRsp => "CmdChessRogueGiveUpScRsp",
            Self::CmdChessRogueRollDiceScRsp => "CmdChessRogueRollDiceScRsp",
            Self::CmdSyncChessRogueMainStoryFinishScNotify => {
                "CmdSyncChessRogueMainStoryFinishScNotify"
            }
            Self::CmdChessRogueUpdateLevelBaseInfoScNotify => {
                "CmdChessRogueUpdateLevelBaseInfoScNotify"
            }
            Self::CmdChessRogueRollDiceCsReq => "CmdChessRogueRollDiceCsReq",
            Self::CmdChessRogueStartCsReq => "CmdChessRogueStartCsReq",
            Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify => {
                "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify"
            }
            Self::CmdChessRogueSkipTeachingLevelScRsp => {
                "CmdChessRogueSkipTeachingLevelScRsp"
            }
            Self::CmdChessRogueNousDiceSurfaceUnlockNotify => {
                "CmdChessRogueNousDiceSurfaceUnlockNotify"
            }
            Self::CmdChessRogueCheatRollScRsp => "CmdChessRogueCheatRollScRsp",
            Self::CmdChessRogueQuitCsReq => "CmdChessRogueQuitCsReq",
            Self::CmdChessRogueLeaveCsReq => "CmdChessRogueLeaveCsReq",
            Self::CmdChessRogueCellUpdateNotify => "CmdChessRogueCellUpdateNotify",
            Self::CmdChessRogueChangeAeonDimensionNotify => {
                "CmdChessRogueChangeAeonDimensionNotify"
            }
            Self::CmdChessRogueNousGetRogueTalentInfoScRsp => {
                "CmdChessRogueNousGetRogueTalentInfoScRsp"
            }
            Self::CmdChessRogueQuitScRsp => "CmdChessRogueQuitScRsp",
            Self::CmdChessRogueReRollDiceScRsp => "CmdChessRogueReRollDiceScRsp",
            Self::CmdSyncChessRogueNousMainStoryScNotify => {
                "CmdSyncChessRogueNousMainStoryScNotify"
            }
            Self::CmdChessRogueNousEnableRogueTalentScRsp => {
                "CmdChessRogueNousEnableRogueTalentScRsp"
            }
            Self::CmdGetRogueBuffEnhanceInfoCsReq => "CmdGetRogueBuffEnhanceInfoCsReq",
            Self::CmdChessRogueSelectCellCsReq => "CmdChessRogueSelectCellCsReq",
            Self::CmdChessRogueLayerSettlement => "CmdChessRogueLayerSettlement",
            Self::CmdChessRogueNousGetRogueTalentInfoCsReq => {
                "CmdChessRogueNousGetRogueTalentInfoCsReq"
            }
            Self::CmdChessRogueConfirmRollCsReq => "CmdChessRogueConfirmRollCsReq",
            Self::CmdGetChessRogueNousStoryInfoCsReq => {
                "CmdGetChessRogueNousStoryInfoCsReq"
            }
            Self::CmdChessRogueQueryScRsp => "CmdChessRogueQueryScRsp",
            Self::CmdChessRogueReRollDiceCsReq => "CmdChessRogueReRollDiceCsReq",
            Self::CmdEnhanceRogueBuffCsReq => "CmdEnhanceRogueBuffCsReq",
            Self::CmdChessRogueStartScRsp => "CmdChessRogueStartScRsp",
            Self::CmdChessRogueConfirmRollScRsp => "CmdChessRogueConfirmRollScRsp",
            Self::CmdChessRogueUpdateActionPointScNotify => {
                "CmdChessRogueUpdateActionPointScNotify"
            }
            Self::CmdChessRogueNousEditDiceCsReq => "CmdChessRogueNousEditDiceCsReq",
            Self::CmdPickRogueAvatarScRsp => "CmdPickRogueAvatarScRsp",
            Self::CmdPickRogueAvatarCsReq => "CmdPickRogueAvatarCsReq",
            Self::CmdSyncChessRogueNousValueScNotify => {
                "CmdSyncChessRogueNousValueScNotify"
            }
            Self::CmdChessRogueSkipTeachingLevelCsReq => {
                "CmdChessRogueSkipTeachingLevelCsReq"
            }
            Self::CmdChessRogueEnterNextLayerScRsp => "CmdChessRogueEnterNextLayerScRsp",
            Self::CmdSyncChessRogueNousSubStoryScNotify => {
                "CmdSyncChessRogueNousSubStoryScNotify"
            }
            Self::CmdEnterChessRogueAeonRoomCsReq => "CmdEnterChessRogueAeonRoomCsReq",
            Self::CmdChessRogueUpdateAllowedSelectCellScNotify => {
                "CmdChessRogueUpdateAllowedSelectCellScNotify"
            }
            Self::CmdChessRogueSelectCellScRsp => "CmdChessRogueSelectCellScRsp",
            Self::CmdFinishChessRogueSubStoryScRsp => "CmdFinishChessRogueSubStoryScRsp",
            Self::CmdEnhanceRogueBuffScRsp => "CmdEnhanceRogueBuffScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MGAFALOCHKA_NLCDGIPGFDJ" => Some(Self::MgafalochkaNlcdgipgfdj),
            "CmdFinishChessRogueSubStoryCsReq" => {
                Some(Self::CmdFinishChessRogueSubStoryCsReq)
            }
            "CmdChessRogueEnterCellCsReq" => Some(Self::CmdChessRogueEnterCellCsReq),
            "CmdGetChessRogueStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryInfoScRsp)
            }
            "CmdEnterChessRogueAeonRoomScRsp" => {
                Some(Self::CmdEnterChessRogueAeonRoomScRsp)
            }
            "CmdChessRogueNousEditDiceScRsp" => {
                Some(Self::CmdChessRogueNousEditDiceScRsp)
            }
            "CmdChessRogueNousDiceUpdateNotify" => {
                Some(Self::CmdChessRogueNousDiceUpdateNotify)
            }
            "CmdChessRogueEnterNextLayerCsReq" => {
                Some(Self::CmdChessRogueEnterNextLayerCsReq)
            }
            "CmdReviveRogueAvatarCsReq" => Some(Self::CmdReviveRogueAvatarCsReq),
            "CmdChessRogueUpdateReviveInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateReviveInfoScNotify)
            }
            "CmdChessRogueUpdateDiceInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateDiceInfoScNotify)
            }
            "CmdChessRogueUpdateUnlockLevelScNotify" => {
                Some(Self::CmdChessRogueUpdateUnlockLevelScNotify)
            }
            "CmdChessRogueUpdateAeonModifierValueScNotify" => {
                Some(Self::CmdChessRogueUpdateAeonModifierValueScNotify)
            }
            "CmdSelectChessRogueSubStoryScRsp" => {
                Some(Self::CmdSelectChessRogueSubStoryScRsp)
            }
            "CmdGetChessRogueStoryAeonTalkInfoScRsp" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoScRsp)
            }
            "CmdSelectChessRogueSubStoryCsReq" => {
                Some(Self::CmdSelectChessRogueSubStoryCsReq)
            }
            "CmdChessRogueEnterScRsp" => Some(Self::CmdChessRogueEnterScRsp),
            "CmdChessRogueCheatRollCsReq" => Some(Self::CmdChessRogueCheatRollCsReq),
            "CmdChessRogueUpdateMoneyInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateMoneyInfoScNotify)
            }
            "CmdChessRogueNousEnableRogueTalentCsReq" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentCsReq)
            }
            "CmdChessRogueGiveUpCsReq" => Some(Self::CmdChessRogueGiveUpCsReq),
            "CmdChessRogueEnterCsReq" => Some(Self::CmdChessRogueEnterCsReq),
            "CmdChessRogueQuestFinishNotify" => {
                Some(Self::CmdChessRogueQuestFinishNotify)
            }
            "CmdGetChessRogueStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryInfoCsReq)
            }
            "CmdGetChessRogueStoryAeonTalkInfoCsReq" => {
                Some(Self::CmdGetChessRogueStoryAeonTalkInfoCsReq)
            }
            "CmdGetRogueBuffEnhanceInfoScRsp" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoScRsp)
            }
            "CmdGetChessRogueNousStoryInfoScRsp" => {
                Some(Self::CmdGetChessRogueNousStoryInfoScRsp)
            }
            "CmdChessRogueEnterCellScRsp" => Some(Self::CmdChessRogueEnterCellScRsp),
            "CmdChessRogueQueryCsReq" => Some(Self::CmdChessRogueQueryCsReq),
            "CmdReviveRogueAvatarScRsp" => Some(Self::CmdReviveRogueAvatarScRsp),
            "CmdChessRogueLeaveScRsp" => Some(Self::CmdChessRogueLeaveScRsp),
            "CmdChessRogueGiveUpScRsp" => Some(Self::CmdChessRogueGiveUpScRsp),
            "CmdChessRogueRollDiceScRsp" => Some(Self::CmdChessRogueRollDiceScRsp),
            "CmdSyncChessRogueMainStoryFinishScNotify" => {
                Some(Self::CmdSyncChessRogueMainStoryFinishScNotify)
            }
            "CmdChessRogueUpdateLevelBaseInfoScNotify" => {
                Some(Self::CmdChessRogueUpdateLevelBaseInfoScNotify)
            }
            "CmdChessRogueRollDiceCsReq" => Some(Self::CmdChessRogueRollDiceCsReq),
            "CmdChessRogueStartCsReq" => Some(Self::CmdChessRogueStartCsReq),
            "CmdChessRogueUpdateDicePassiveAccumulateValueScNotify" => {
                Some(Self::CmdChessRogueUpdateDicePassiveAccumulateValueScNotify)
            }
            "CmdChessRogueSkipTeachingLevelScRsp" => {
                Some(Self::CmdChessRogueSkipTeachingLevelScRsp)
            }
            "CmdChessRogueNousDiceSurfaceUnlockNotify" => {
                Some(Self::CmdChessRogueNousDiceSurfaceUnlockNotify)
            }
            "CmdChessRogueCheatRollScRsp" => Some(Self::CmdChessRogueCheatRollScRsp),
            "CmdChessRogueQuitCsReq" => Some(Self::CmdChessRogueQuitCsReq),
            "CmdChessRogueLeaveCsReq" => Some(Self::CmdChessRogueLeaveCsReq),
            "CmdChessRogueCellUpdateNotify" => Some(Self::CmdChessRogueCellUpdateNotify),
            "CmdChessRogueChangeAeonDimensionNotify" => {
                Some(Self::CmdChessRogueChangeAeonDimensionNotify)
            }
            "CmdChessRogueNousGetRogueTalentInfoScRsp" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoScRsp)
            }
            "CmdChessRogueQuitScRsp" => Some(Self::CmdChessRogueQuitScRsp),
            "CmdChessRogueReRollDiceScRsp" => Some(Self::CmdChessRogueReRollDiceScRsp),
            "CmdSyncChessRogueNousMainStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousMainStoryScNotify)
            }
            "CmdChessRogueNousEnableRogueTalentScRsp" => {
                Some(Self::CmdChessRogueNousEnableRogueTalentScRsp)
            }
            "CmdGetRogueBuffEnhanceInfoCsReq" => {
                Some(Self::CmdGetRogueBuffEnhanceInfoCsReq)
            }
            "CmdChessRogueSelectCellCsReq" => Some(Self::CmdChessRogueSelectCellCsReq),
            "CmdChessRogueLayerSettlement" => Some(Self::CmdChessRogueLayerSettlement),
            "CmdChessRogueNousGetRogueTalentInfoCsReq" => {
                Some(Self::CmdChessRogueNousGetRogueTalentInfoCsReq)
            }
            "CmdChessRogueConfirmRollCsReq" => Some(Self::CmdChessRogueConfirmRollCsReq),
            "CmdGetChessRogueNousStoryInfoCsReq" => {
                Some(Self::CmdGetChessRogueNousStoryInfoCsReq)
            }
            "CmdChessRogueQueryScRsp" => Some(Self::CmdChessRogueQueryScRsp),
            "CmdChessRogueReRollDiceCsReq" => Some(Self::CmdChessRogueReRollDiceCsReq),
            "CmdEnhanceRogueBuffCsReq" => Some(Self::CmdEnhanceRogueBuffCsReq),
            "CmdChessRogueStartScRsp" => Some(Self::CmdChessRogueStartScRsp),
            "CmdChessRogueConfirmRollScRsp" => Some(Self::CmdChessRogueConfirmRollScRsp),
            "CmdChessRogueUpdateActionPointScNotify" => {
                Some(Self::CmdChessRogueUpdateActionPointScNotify)
            }
            "CmdChessRogueNousEditDiceCsReq" => {
                Some(Self::CmdChessRogueNousEditDiceCsReq)
            }
            "CmdPickRogueAvatarScRsp" => Some(Self::CmdPickRogueAvatarScRsp),
            "CmdPickRogueAvatarCsReq" => Some(Self::CmdPickRogueAvatarCsReq),
            "CmdSyncChessRogueNousValueScNotify" => {
                Some(Self::CmdSyncChessRogueNousValueScNotify)
            }
            "CmdChessRogueSkipTeachingLevelCsReq" => {
                Some(Self::CmdChessRogueSkipTeachingLevelCsReq)
            }
            "CmdChessRogueEnterNextLayerScRsp" => {
                Some(Self::CmdChessRogueEnterNextLayerScRsp)
            }
            "CmdSyncChessRogueNousSubStoryScNotify" => {
                Some(Self::CmdSyncChessRogueNousSubStoryScNotify)
            }
            "CmdEnterChessRogueAeonRoomCsReq" => {
                Some(Self::CmdEnterChessRogueAeonRoomCsReq)
            }
            "CmdChessRogueUpdateAllowedSelectCellScNotify" => {
                Some(Self::CmdChessRogueUpdateAllowedSelectCellScNotify)
            }
            "CmdChessRogueSelectCellScRsp" => Some(Self::CmdChessRogueSelectCellScRsp),
            "CmdFinishChessRogueSubStoryScRsp" => {
                Some(Self::CmdFinishChessRogueSubStoryScRsp)
            }
            "CmdEnhanceRogueBuffScRsp" => Some(Self::CmdEnhanceRogueBuffScRsp),
            _ => None,
        }
    }
}
/// Obf: EEOMEIAMNMB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueDiceStatus {
    EeomeiamnmbBbbfnmbdfde = 0,
    EeomeiamnmbBgdfcdgfaml = 1,
    EeomeiamnmbImfhifikknk = 2,
    EeomeiamnmbDmmcimlijoa = 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::EeomeiamnmbBbbfnmbdfde => "EEOMEIAMNMB_BBBFNMBDFDE",
            Self::EeomeiamnmbBgdfcdgfaml => "EEOMEIAMNMB_BGDFCDGFAML",
            Self::EeomeiamnmbImfhifikknk => "EEOMEIAMNMB_IMFHIFIKKNK",
            Self::EeomeiamnmbDmmcimlijoa => "EEOMEIAMNMB_DMMCIMLIJOA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EEOMEIAMNMB_BBBFNMBDFDE" => Some(Self::EeomeiamnmbBbbfnmbdfde),
            "EEOMEIAMNMB_BGDFCDGFAML" => Some(Self::EeomeiamnmbBgdfcdgfaml),
            "EEOMEIAMNMB_IMFHIFIKKNK" => Some(Self::EeomeiamnmbImfhifikknk),
            "EEOMEIAMNMB_DMMCIMLIJOA" => Some(Self::EeomeiamnmbDmmcimlijoa),
            _ => None,
        }
    }
}
/// Obf: HJCOLMNPKBK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueDiceType {
    HjcolmnpkbkIhhjbgppacd = 0,
    HjcolmnpkbkBkccognppgh = 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::HjcolmnpkbkIhhjbgppacd => "HJCOLMNPKBK_IHHJBGPPACD",
            Self::HjcolmnpkbkBkccognppgh => "HJCOLMNPKBK_BKCCOGNPPGH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HJCOLMNPKBK_IHHJBGPPACD" => Some(Self::HjcolmnpkbkIhhjbgppacd),
            "HJCOLMNPKBK_BKCCOGNPPGH" => Some(Self::HjcolmnpkbkBkccognppgh),
            _ => None,
        }
    }
}
/// Obf: GOBKHHAEIAF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueBoardCellStatus {
    GobkhhaeiafBpocohfiaoh = 0,
    GobkhhaeiafEapfjhjhifk = 1,
    GobkhhaeiafLooaknhdbll = 2,
    GobkhhaeiafCihfgjdchia = 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::GobkhhaeiafBpocohfiaoh => "GOBKHHAEIAF_BPOCOHFIAOH",
            Self::GobkhhaeiafEapfjhjhifk => "GOBKHHAEIAF_EAPFJHJHIFK",
            Self::GobkhhaeiafLooaknhdbll => "GOBKHHAEIAF_LOOAKNHDBLL",
            Self::GobkhhaeiafCihfgjdchia => "GOBKHHAEIAF_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GOBKHHAEIAF_BPOCOHFIAOH" => Some(Self::GobkhhaeiafBpocohfiaoh),
            "GOBKHHAEIAF_EAPFJHJHIFK" => Some(Self::GobkhhaeiafEapfjhjhifk),
            "GOBKHHAEIAF_LOOAKNHDBLL" => Some(Self::GobkhhaeiafLooaknhdbll),
            "GOBKHHAEIAF_CIHFGJDCHIA" => Some(Self::GobkhhaeiafCihfgjdchia),
            _ => None,
        }
    }
}
/// Obf: PHAHPIPPMDF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueCellSpecialType {
    PhahpippmdfNlcdgipgfdj = 0,
    PhahpippmdfAbgekpjhhia = 1,
    PhahpippmdfEhdfemmfhdg = 2,
    PhahpippmdfKcaifkmkhfj = 3,
    PhahpippmdfCmfnkdkkggi = 4,
    PhahpippmdfMopjkheinal = 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::PhahpippmdfNlcdgipgfdj => "PHAHPIPPMDF_NLCDGIPGFDJ",
            Self::PhahpippmdfAbgekpjhhia => "PHAHPIPPMDF_ABGEKPJHHIA",
            Self::PhahpippmdfEhdfemmfhdg => "PHAHPIPPMDF_EHDFEMMFHDG",
            Self::PhahpippmdfKcaifkmkhfj => "PHAHPIPPMDF_KCAIFKMKHFJ",
            Self::PhahpippmdfCmfnkdkkggi => "PHAHPIPPMDF_CMFNKDKKGGI",
            Self::PhahpippmdfMopjkheinal => "PHAHPIPPMDF_MOPJKHEINAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PHAHPIPPMDF_NLCDGIPGFDJ" => Some(Self::PhahpippmdfNlcdgipgfdj),
            "PHAHPIPPMDF_ABGEKPJHHIA" => Some(Self::PhahpippmdfAbgekpjhhia),
            "PHAHPIPPMDF_EHDFEMMFHDG" => Some(Self::PhahpippmdfEhdfemmfhdg),
            "PHAHPIPPMDF_KCAIFKMKHFJ" => Some(Self::PhahpippmdfKcaifkmkhfj),
            "PHAHPIPPMDF_CMFNKDKKGGI" => Some(Self::PhahpippmdfCmfnkdkkggi),
            "PHAHPIPPMDF_MOPJKHEINAL" => Some(Self::PhahpippmdfMopjkheinal),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gdhldnfloof {
    Adhghgefmlg = 0,
    Bhoggjnmhpk = 1,
    Hdmdbomjddi = 2,
    Igdhfmcjmil = 3,
    Emjflbcfono = 4,
    Ehmmifpllhm = 5,
}
impl Gdhldnfloof {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Adhghgefmlg => "GDHLDNFLOOF_ADHGHGEFMLG",
            Self::Bhoggjnmhpk => "GDHLDNFLOOF_BHOGGJNMHPK",
            Self::Hdmdbomjddi => "GDHLDNFLOOF_HDMDBOMJDDI",
            Self::Igdhfmcjmil => "GDHLDNFLOOF_IGDHFMCJMIL",
            Self::Emjflbcfono => "GDHLDNFLOOF_EMJFLBCFONO",
            Self::Ehmmifpllhm => "GDHLDNFLOOF_EHMMIFPLLHM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GDHLDNFLOOF_ADHGHGEFMLG" => Some(Self::Adhghgefmlg),
            "GDHLDNFLOOF_BHOGGJNMHPK" => Some(Self::Bhoggjnmhpk),
            "GDHLDNFLOOF_HDMDBOMJDDI" => Some(Self::Hdmdbomjddi),
            "GDHLDNFLOOF_IGDHFMCJMIL" => Some(Self::Igdhfmcjmil),
            "GDHLDNFLOOF_EMJFLBCFONO" => Some(Self::Emjflbcfono),
            "GDHLDNFLOOF_EHMMIFPLLHM" => Some(Self::Ehmmifpllhm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dpbcjgcpmle {
    Pmjgfdcjkml = 0,
    Bpgdelomekh = 1,
    Dnomgjbogad = 2,
    Peiimihpemg = 3,
    Killhjlifjd = 4,
    Mfdbgoabekj = 5,
}
impl Dpbcjgcpmle {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pmjgfdcjkml => "DPBCJGCPMLE_PMJGFDCJKML",
            Self::Bpgdelomekh => "DPBCJGCPMLE_BPGDELOMEKH",
            Self::Dnomgjbogad => "DPBCJGCPMLE_DNOMGJBOGAD",
            Self::Peiimihpemg => "DPBCJGCPMLE_PEIIMIHPEMG",
            Self::Killhjlifjd => "DPBCJGCPMLE_KILLHJLIFJD",
            Self::Mfdbgoabekj => "DPBCJGCPMLE_MFDBGOABEKJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DPBCJGCPMLE_PMJGFDCJKML" => Some(Self::Pmjgfdcjkml),
            "DPBCJGCPMLE_BPGDELOMEKH" => Some(Self::Bpgdelomekh),
            "DPBCJGCPMLE_DNOMGJBOGAD" => Some(Self::Dnomgjbogad),
            "DPBCJGCPMLE_PEIIMIHPEMG" => Some(Self::Peiimihpemg),
            "DPBCJGCPMLE_KILLHJLIFJD" => Some(Self::Killhjlifjd),
            "DPBCJGCPMLE_MFDBGOABEKJ" => Some(Self::Mfdbgoabekj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lljfjdiocil {
    Fpbcfhlfmon = 0,
    Cgkmmnjamgk = 1,
    Cfpmnlggcbk = 2,
    Ijlealgboea = 3,
    Adjcfjgjpfn = 4,
    Ohpbckpkhig = 5,
    Hnhmnmjkckf = 6,
    Mkjmlgjekna = 7,
    Nkkoimfpkhf = 8,
    Dnfbbmangnh = 9,
    Capgkokomoe = 10,
}
impl Lljfjdiocil {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fpbcfhlfmon => "LLJFJDIOCIL_FPBCFHLFMON",
            Self::Cgkmmnjamgk => "LLJFJDIOCIL_CGKMMNJAMGK",
            Self::Cfpmnlggcbk => "LLJFJDIOCIL_CFPMNLGGCBK",
            Self::Ijlealgboea => "LLJFJDIOCIL_IJLEALGBOEA",
            Self::Adjcfjgjpfn => "LLJFJDIOCIL_ADJCFJGJPFN",
            Self::Ohpbckpkhig => "LLJFJDIOCIL_OHPBCKPKHIG",
            Self::Hnhmnmjkckf => "LLJFJDIOCIL_HNHMNMJKCKF",
            Self::Mkjmlgjekna => "LLJFJDIOCIL_MKJMLGJEKNA",
            Self::Nkkoimfpkhf => "LLJFJDIOCIL_NKKOIMFPKHF",
            Self::Dnfbbmangnh => "LLJFJDIOCIL_DNFBBMANGNH",
            Self::Capgkokomoe => "LLJFJDIOCIL_CAPGKOKOMOE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LLJFJDIOCIL_FPBCFHLFMON" => Some(Self::Fpbcfhlfmon),
            "LLJFJDIOCIL_CGKMMNJAMGK" => Some(Self::Cgkmmnjamgk),
            "LLJFJDIOCIL_CFPMNLGGCBK" => Some(Self::Cfpmnlggcbk),
            "LLJFJDIOCIL_IJLEALGBOEA" => Some(Self::Ijlealgboea),
            "LLJFJDIOCIL_ADJCFJGJPFN" => Some(Self::Adjcfjgjpfn),
            "LLJFJDIOCIL_OHPBCKPKHIG" => Some(Self::Ohpbckpkhig),
            "LLJFJDIOCIL_HNHMNMJKCKF" => Some(Self::Hnhmnmjkckf),
            "LLJFJDIOCIL_MKJMLGJEKNA" => Some(Self::Mkjmlgjekna),
            "LLJFJDIOCIL_NKKOIMFPKHF" => Some(Self::Nkkoimfpkhf),
            "LLJFJDIOCIL_DNFBBMANGNH" => Some(Self::Dnfbbmangnh),
            "LLJFJDIOCIL_CAPGKOKOMOE" => Some(Self::Capgkokomoe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iefhbopdapl {
    Nlcdgipgfdj = 0,
    Midkknagofa = 1,
    Nclbfaallfj = 2,
    Epcdlhffbli = 3,
    Lfodhgbcchf = 4,
    Khgikbfdlfb = 5,
    Akjbecphijk = 6,
    Ejoehknhgdm = 7,
    Acmklfompfc = 8,
    Mofniojhbbl = 9,
    Fmpggenbhid = 10,
    Emalbalanlh = 11,
}
impl Iefhbopdapl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "IEFHBOPDAPL_NLCDGIPGFDJ",
            Self::Midkknagofa => "IEFHBOPDAPL_MIDKKNAGOFA",
            Self::Nclbfaallfj => "IEFHBOPDAPL_NCLBFAALLFJ",
            Self::Epcdlhffbli => "IEFHBOPDAPL_EPCDLHFFBLI",
            Self::Lfodhgbcchf => "IEFHBOPDAPL_LFODHGBCCHF",
            Self::Khgikbfdlfb => "IEFHBOPDAPL_KHGIKBFDLFB",
            Self::Akjbecphijk => "IEFHBOPDAPL_AKJBECPHIJK",
            Self::Ejoehknhgdm => "IEFHBOPDAPL_EJOEHKNHGDM",
            Self::Acmklfompfc => "IEFHBOPDAPL_ACMKLFOMPFC",
            Self::Mofniojhbbl => "IEFHBOPDAPL_MOFNIOJHBBL",
            Self::Fmpggenbhid => "IEFHBOPDAPL_FMPGGENBHID",
            Self::Emalbalanlh => "IEFHBOPDAPL_EMALBALANLH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IEFHBOPDAPL_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "IEFHBOPDAPL_MIDKKNAGOFA" => Some(Self::Midkknagofa),
            "IEFHBOPDAPL_NCLBFAALLFJ" => Some(Self::Nclbfaallfj),
            "IEFHBOPDAPL_EPCDLHFFBLI" => Some(Self::Epcdlhffbli),
            "IEFHBOPDAPL_LFODHGBCCHF" => Some(Self::Lfodhgbcchf),
            "IEFHBOPDAPL_KHGIKBFDLFB" => Some(Self::Khgikbfdlfb),
            "IEFHBOPDAPL_AKJBECPHIJK" => Some(Self::Akjbecphijk),
            "IEFHBOPDAPL_EJOEHKNHGDM" => Some(Self::Ejoehknhgdm),
            "IEFHBOPDAPL_ACMKLFOMPFC" => Some(Self::Acmklfompfc),
            "IEFHBOPDAPL_MOFNIOJHBBL" => Some(Self::Mofniojhbbl),
            "IEFHBOPDAPL_FMPGGENBHID" => Some(Self::Fmpggenbhid),
            "IEFHBOPDAPL_EMALBALANLH" => Some(Self::Emalbalanlh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iojjcdaplaj {
    Olbijijconk = 0,
    Hcfmgbefbgd = 1,
}
impl Iojjcdaplaj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Olbijijconk => "IOJJCDAPLAJ_OLBIJIJCONK",
            Self::Hcfmgbefbgd => "IOJJCDAPLAJ_HCFMGBEFBGD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IOJJCDAPLAJ_OLBIJIJCONK" => Some(Self::Olbijijconk),
            "IOJJCDAPLAJ_HCFMGBEFBGD" => Some(Self::Hcfmgbefbgd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Aimcamjabna {
    Nlcdgipgfdj = 0,
    Iliioljmkme = 1,
}
impl Aimcamjabna {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "AIMCAMJABNA_NLCDGIPGFDJ",
            Self::Iliioljmkme => "AIMCAMJABNA_ILIIOLJMKME",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AIMCAMJABNA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "AIMCAMJABNA_ILIIOLJMKME" => Some(Self::Iliioljmkme),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ohneldkijph {
    Nlcdgipgfdj = 0,
    Omjajhfcbjm = 1,
    Inniefkckbk = 2,
    Bcjjmpkjkdl = 3,
    Bjooaegmcld = 4,
    BattleRogueMagicInfo = 5,
    Pgmngfminbk = 6,
    Plfmkdocplp = 7,
    Ahhgkpckakm = 8,
}
impl Ohneldkijph {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OHNELDKIJPH_NLCDGIPGFDJ",
            Self::Omjajhfcbjm => "OHNELDKIJPH_OMJAJHFCBJM",
            Self::Inniefkckbk => "OHNELDKIJPH_INNIEFKCKBK",
            Self::Bcjjmpkjkdl => "OHNELDKIJPH_BCJJMPKJKDL",
            Self::Bjooaegmcld => "OHNELDKIJPH_BJOOAEGMCLD",
            Self::BattleRogueMagicInfo => "OHNELDKIJPH_battle_rogue_magic_info",
            Self::Pgmngfminbk => "OHNELDKIJPH_PGMNGFMINBK",
            Self::Plfmkdocplp => "OHNELDKIJPH_PLFMKDOCPLP",
            Self::Ahhgkpckakm => "OHNELDKIJPH_AHHGKPCKAKM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OHNELDKIJPH_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OHNELDKIJPH_OMJAJHFCBJM" => Some(Self::Omjajhfcbjm),
            "OHNELDKIJPH_INNIEFKCKBK" => Some(Self::Inniefkckbk),
            "OHNELDKIJPH_BCJJMPKJKDL" => Some(Self::Bcjjmpkjkdl),
            "OHNELDKIJPH_BJOOAEGMCLD" => Some(Self::Bjooaegmcld),
            "OHNELDKIJPH_battle_rogue_magic_info" => Some(Self::BattleRogueMagicInfo),
            "OHNELDKIJPH_PGMNGFMINBK" => Some(Self::Pgmngfminbk),
            "OHNELDKIJPH_PLFMKDOCPLP" => Some(Self::Plfmkdocplp),
            "OHNELDKIJPH_AHHGKPCKAKM" => Some(Self::Ahhgkpckakm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jcmaekicabc {
    Ndlkmgdejgh = 0,
    Nbhobnagenf = 1,
    Ecphchoncbi = 2,
    Oejiapfkbop = 3,
}
impl Jcmaekicabc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ndlkmgdejgh => "JCMAEKICABC_NDLKMGDEJGH",
            Self::Nbhobnagenf => "JCMAEKICABC_NBHOBNAGENF",
            Self::Ecphchoncbi => "JCMAEKICABC_ECPHCHONCBI",
            Self::Oejiapfkbop => "JCMAEKICABC_OEJIAPFKBOP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JCMAEKICABC_NDLKMGDEJGH" => Some(Self::Ndlkmgdejgh),
            "JCMAEKICABC_NBHOBNAGENF" => Some(Self::Nbhobnagenf),
            "JCMAEKICABC_ECPHCHONCBI" => Some(Self::Ecphchoncbi),
            "JCMAEKICABC_OEJIAPFKBOP" => Some(Self::Oejiapfkbop),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Filmjjmebja {
    Nlcdgipgfdj = 0,
    Bfadfaelklj = 1,
    Cihfgjdchia = 2,
    Gmclfnkahim = 3,
}
impl Filmjjmebja {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FILMJJMEBJA_NLCDGIPGFDJ",
            Self::Bfadfaelklj => "FILMJJMEBJA_BFADFAELKLJ",
            Self::Cihfgjdchia => "FILMJJMEBJA_CIHFGJDCHIA",
            Self::Gmclfnkahim => "FILMJJMEBJA_GMCLFNKAHIM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FILMJJMEBJA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FILMJJMEBJA_BFADFAELKLJ" => Some(Self::Bfadfaelklj),
            "FILMJJMEBJA_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            "FILMJJMEBJA_GMCLFNKAHIM" => Some(Self::Gmclfnkahim),
            _ => None,
        }
    }
}
/// Obf: PKCGJHNMLPK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChessRogueNousDicePhase {
    PkcgjhnmlpkNlcdgipgfdj = 0,
    PkcgjhnmlpkHjbhkcjeeee = 1,
    PkcgjhnmlpkGaialiopepc = 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::PkcgjhnmlpkNlcdgipgfdj => "PKCGJHNMLPK_NLCDGIPGFDJ",
            Self::PkcgjhnmlpkHjbhkcjeeee => "PKCGJHNMLPK_HJBHKCJEEEE",
            Self::PkcgjhnmlpkGaialiopepc => "PKCGJHNMLPK_GAIALIOPEPC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PKCGJHNMLPK_NLCDGIPGFDJ" => Some(Self::PkcgjhnmlpkNlcdgipgfdj),
            "PKCGJHNMLPK_HJBHKCJEEEE" => Some(Self::PkcgjhnmlpkHjbhkcjeeee),
            "PKCGJHNMLPK_GAIALIOPEPC" => Some(Self::PkcgjhnmlpkGaialiopepc),
            _ => None,
        }
    }
}
/// Obf: CEDABACHBDP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraType {
    CedabachbdpNlcdgipgfdj = 0,
    CmdChimeraGetDataCsReq = 8178,
    CmdChimeraDoFinalRoundCsReq = 8180,
    CmdChimeraFinishRound = 8177,
    CmdChimeraFinishEndlessRoundScRsp = 8175,
    CedabachbdpGbmfpfhnlba = 8163,
    CmdChimeraQuitEndlessCsReq = 8161,
    CmdChimeraGetDataScRsp = 8168,
    CmdJhichkbdmic = 8167,
    CmdLbmlolgehim = 8174,
    CmdChimeraDoFinalRoundScRsp = 8170,
    CmdMfffeokdoae = 8172,
    CmdChimeraStartEndlessCsReq = 8165,
    CmdChimeraQuitEndlessScRsp = 8169,
    CedabachbdpBkaljdiimog = 8162,
    CmdChimeraStartEndlessScRsp = 8164,
    CmdChimeraFinishEndlessRoundCsReq = 8171,
}
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::CedabachbdpNlcdgipgfdj => "CEDABACHBDP_NLCDGIPGFDJ",
            Self::CmdChimeraGetDataCsReq => "CmdChimeraGetDataCsReq",
            Self::CmdChimeraDoFinalRoundCsReq => "CmdChimeraDoFinalRoundCsReq",
            Self::CmdChimeraFinishRound => "CmdChimeraFinishRound",
            Self::CmdChimeraFinishEndlessRoundScRsp => {
                "CmdChimeraFinishEndlessRoundScRsp"
            }
            Self::CedabachbdpGbmfpfhnlba => "CEDABACHBDP_GBMFPFHNLBA",
            Self::CmdChimeraQuitEndlessCsReq => "CmdChimeraQuitEndlessCsReq",
            Self::CmdChimeraGetDataScRsp => "CmdChimeraGetDataScRsp",
            Self::CmdJhichkbdmic => "CmdJHICHKBDMIC",
            Self::CmdLbmlolgehim => "CmdLBMLOLGEHIM",
            Self::CmdChimeraDoFinalRoundScRsp => "CmdChimeraDoFinalRoundScRsp",
            Self::CmdMfffeokdoae => "CmdMFFFEOKDOAE",
            Self::CmdChimeraStartEndlessCsReq => "CmdChimeraStartEndlessCsReq",
            Self::CmdChimeraQuitEndlessScRsp => "CmdChimeraQuitEndlessScRsp",
            Self::CedabachbdpBkaljdiimog => "CEDABACHBDP_BKALJDIIMOG",
            Self::CmdChimeraStartEndlessScRsp => "CmdChimeraStartEndlessScRsp",
            Self::CmdChimeraFinishEndlessRoundCsReq => {
                "CmdChimeraFinishEndlessRoundCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CEDABACHBDP_NLCDGIPGFDJ" => Some(Self::CedabachbdpNlcdgipgfdj),
            "CmdChimeraGetDataCsReq" => Some(Self::CmdChimeraGetDataCsReq),
            "CmdChimeraDoFinalRoundCsReq" => Some(Self::CmdChimeraDoFinalRoundCsReq),
            "CmdChimeraFinishRound" => Some(Self::CmdChimeraFinishRound),
            "CmdChimeraFinishEndlessRoundScRsp" => {
                Some(Self::CmdChimeraFinishEndlessRoundScRsp)
            }
            "CEDABACHBDP_GBMFPFHNLBA" => Some(Self::CedabachbdpGbmfpfhnlba),
            "CmdChimeraQuitEndlessCsReq" => Some(Self::CmdChimeraQuitEndlessCsReq),
            "CmdChimeraGetDataScRsp" => Some(Self::CmdChimeraGetDataScRsp),
            "CmdJHICHKBDMIC" => Some(Self::CmdJhichkbdmic),
            "CmdLBMLOLGEHIM" => Some(Self::CmdLbmlolgehim),
            "CmdChimeraDoFinalRoundScRsp" => Some(Self::CmdChimeraDoFinalRoundScRsp),
            "CmdMFFFEOKDOAE" => Some(Self::CmdMfffeokdoae),
            "CmdChimeraStartEndlessCsReq" => Some(Self::CmdChimeraStartEndlessCsReq),
            "CmdChimeraQuitEndlessScRsp" => Some(Self::CmdChimeraQuitEndlessScRsp),
            "CEDABACHBDP_BKALJDIIMOG" => Some(Self::CedabachbdpBkaljdiimog),
            "CmdChimeraStartEndlessScRsp" => Some(Self::CmdChimeraStartEndlessScRsp),
            "CmdChimeraFinishEndlessRoundCsReq" => {
                Some(Self::CmdChimeraFinishEndlessRoundCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hdiokenofnj {
    Eegfmmcgcnh = 0,
    Goblpkacbae = 1,
    Ahejbanccek = 2,
    Kbbpmfkgfcp = 3,
}
impl Hdiokenofnj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Eegfmmcgcnh => "HDIOKENOFNJ_EEGFMMCGCNH",
            Self::Goblpkacbae => "HDIOKENOFNJ_GOBLPKACBAE",
            Self::Ahejbanccek => "HDIOKENOFNJ_AHEJBANCCEK",
            Self::Kbbpmfkgfcp => "HDIOKENOFNJ_KBBPMFKGFCP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HDIOKENOFNJ_EEGFMMCGCNH" => Some(Self::Eegfmmcgcnh),
            "HDIOKENOFNJ_GOBLPKACBAE" => Some(Self::Goblpkacbae),
            "HDIOKENOFNJ_AHEJBANCCEK" => Some(Self::Ahejbanccek),
            "HDIOKENOFNJ_KBBPMFKGFCP" => Some(Self::Kbbpmfkgfcp),
            _ => None,
        }
    }
}
/// Obf: POCJMDKMABI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChimeraRoundWorkEndReason {
    PocjmdkmabiKmokdkclmld = 0,
    PocjmdkmabiBkgpakhjnkm = 1,
    PocjmdkmabiLjemjmclgdh = 2,
    PocjmdkmabiKlekcfhlogo = 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::PocjmdkmabiKmokdkclmld => "POCJMDKMABI_KMOKDKCLMLD",
            Self::PocjmdkmabiBkgpakhjnkm => "POCJMDKMABI_BKGPAKHJNKM",
            Self::PocjmdkmabiLjemjmclgdh => "POCJMDKMABI_LJEMJMCLGDH",
            Self::PocjmdkmabiKlekcfhlogo => "POCJMDKMABI_KLEKCFHLOGO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "POCJMDKMABI_KMOKDKCLMLD" => Some(Self::PocjmdkmabiKmokdkclmld),
            "POCJMDKMABI_BKGPAKHJNKM" => Some(Self::PocjmdkmabiBkgpakhjnkm),
            "POCJMDKMABI_LJEMJMCLGDH" => Some(Self::PocjmdkmabiLjemjmclgdh),
            "POCJMDKMABI_KLEKCFHLOGO" => Some(Self::PocjmdkmabiKlekcfhlogo),
            _ => None,
        }
    }
}
/// Obf: BJCCFBOGEOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChimeraDuelType {
    BjccfbogeoeNlcdgipgfdj = 0,
    CmdChimeraDuelShopBuyItemCsReq = 9212,
    CmdChimeraDuelStartGameScRsp = 9217,
    CmdChimeraDuelFinishMasterChallengeScRsp = 9222,
    CmdChimeraDuelShopLockCsReq = 9245,
    CmdChimeraDuelGetFriendListScRsp = 9215,
    CmdChimeraDuelSetFriendDefendLineupScRsp = 9246,
    CmdChimeraDuelSaveFriendPvpLineupScRsp = 9232,
    CmdChimeraDuelSellChimeraScRsp = 9255,
    CmdChimeraDuelEndRoundShopStageCsReq = 9220,
    CmdChimeraDuelEndGameScRsp = 9239,
    CmdChimeraDuelSetFriendDefendLineupCsReq = 9242,
    CmdChimeraDuelSyncChangeScNotify = 9228,
    CmdChimeraDuelShopRefreshScRsp = 9218,
    CmdChimeraDuelShopBuyChimeraCsReq = 9243,
    CmdChimeraDuelEndRoundBattleStageCsReq = 9234,
    CmdChimeraDuelEndRoundShopStageScRsp = 9231,
    CmdChimeraDuelUnlockMasterScRsp = 9258,
    CmdChimeraDuelUnlockMasterCsReq = 9229,
    CmdChimeraDuelGetDataScRsp = 9233,
    CmdChimeraDuelEndGameCsReq = 9227,
    CmdChimeraDuelShopLockScRsp = 9225,
    CmdChimeraDuelGetFriendListCsReq = 9240,
    CmdChimeraDuelShopBuyItemScRsp = 9224,
    CmdChimeraDuelSaveFriendPvpLineupCsReq = 9252,
    CmdChimeraDuelSelectGameCsReq = 9249,
    CmdChimeraDuelSellChimeraCsReq = 9236,
    CmdChimeraDuelEndRoundBattleStageScRsp = 9230,
    CmdChimeraDuelSelectGameScRsp = 9257,
    CmdChimeraDuelShopRefreshCsReq = 9223,
    CmdChimeraDuelShopBuyChimeraScRsp = 9216,
    CmdChimeraDuelChangeLineupCsReq = 9253,
    CmdChimeraDuelStartGameCsReq = 9213,
    CmdChimeraDuelGetDataCsReq = 9219,
    CmdChimeraDuelFinishMasterChallengeCsReq = 9251,
    CmdChimeraDuelChangeLineupScRsp = 9250,
}
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::BjccfbogeoeNlcdgipgfdj => "BJCCFBOGEOE_NLCDGIPGFDJ",
            Self::CmdChimeraDuelShopBuyItemCsReq => "CmdChimeraDuelShopBuyItemCsReq",
            Self::CmdChimeraDuelStartGameScRsp => "CmdChimeraDuelStartGameScRsp",
            Self::CmdChimeraDuelFinishMasterChallengeScRsp => {
                "CmdChimeraDuelFinishMasterChallengeScRsp"
            }
            Self::CmdChimeraDuelShopLockCsReq => "CmdChimeraDuelShopLockCsReq",
            Self::CmdChimeraDuelGetFriendListScRsp => "CmdChimeraDuelGetFriendListScRsp",
            Self::CmdChimeraDuelSetFriendDefendLineupScRsp => {
                "CmdChimeraDuelSetFriendDefendLineupScRsp"
            }
            Self::CmdChimeraDuelSaveFriendPvpLineupScRsp => {
                "CmdChimeraDuelSaveFriendPvpLineupScRsp"
            }
            Self::CmdChimeraDuelSellChimeraScRsp => "CmdChimeraDuelSellChimeraScRsp",
            Self::CmdChimeraDuelEndRoundShopStageCsReq => {
                "CmdChimeraDuelEndRoundShopStageCsReq"
            }
            Self::CmdChimeraDuelEndGameScRsp => "CmdChimeraDuelEndGameScRsp",
            Self::CmdChimeraDuelSetFriendDefendLineupCsReq => {
                "CmdChimeraDuelSetFriendDefendLineupCsReq"
            }
            Self::CmdChimeraDuelSyncChangeScNotify => "CmdChimeraDuelSyncChangeScNotify",
            Self::CmdChimeraDuelShopRefreshScRsp => "CmdChimeraDuelShopRefreshScRsp",
            Self::CmdChimeraDuelShopBuyChimeraCsReq => {
                "CmdChimeraDuelShopBuyChimeraCsReq"
            }
            Self::CmdChimeraDuelEndRoundBattleStageCsReq => {
                "CmdChimeraDuelEndRoundBattleStageCsReq"
            }
            Self::CmdChimeraDuelEndRoundShopStageScRsp => {
                "CmdChimeraDuelEndRoundShopStageScRsp"
            }
            Self::CmdChimeraDuelUnlockMasterScRsp => "CmdChimeraDuelUnlockMasterScRsp",
            Self::CmdChimeraDuelUnlockMasterCsReq => "CmdChimeraDuelUnlockMasterCsReq",
            Self::CmdChimeraDuelGetDataScRsp => "CmdChimeraDuelGetDataScRsp",
            Self::CmdChimeraDuelEndGameCsReq => "CmdChimeraDuelEndGameCsReq",
            Self::CmdChimeraDuelShopLockScRsp => "CmdChimeraDuelShopLockScRsp",
            Self::CmdChimeraDuelGetFriendListCsReq => "CmdChimeraDuelGetFriendListCsReq",
            Self::CmdChimeraDuelShopBuyItemScRsp => "CmdChimeraDuelShopBuyItemScRsp",
            Self::CmdChimeraDuelSaveFriendPvpLineupCsReq => {
                "CmdChimeraDuelSaveFriendPvpLineupCsReq"
            }
            Self::CmdChimeraDuelSelectGameCsReq => "CmdChimeraDuelSelectGameCsReq",
            Self::CmdChimeraDuelSellChimeraCsReq => "CmdChimeraDuelSellChimeraCsReq",
            Self::CmdChimeraDuelEndRoundBattleStageScRsp => {
                "CmdChimeraDuelEndRoundBattleStageScRsp"
            }
            Self::CmdChimeraDuelSelectGameScRsp => "CmdChimeraDuelSelectGameScRsp",
            Self::CmdChimeraDuelShopRefreshCsReq => "CmdChimeraDuelShopRefreshCsReq",
            Self::CmdChimeraDuelShopBuyChimeraScRsp => {
                "CmdChimeraDuelShopBuyChimeraScRsp"
            }
            Self::CmdChimeraDuelChangeLineupCsReq => "CmdChimeraDuelChangeLineupCsReq",
            Self::CmdChimeraDuelStartGameCsReq => "CmdChimeraDuelStartGameCsReq",
            Self::CmdChimeraDuelGetDataCsReq => "CmdChimeraDuelGetDataCsReq",
            Self::CmdChimeraDuelFinishMasterChallengeCsReq => {
                "CmdChimeraDuelFinishMasterChallengeCsReq"
            }
            Self::CmdChimeraDuelChangeLineupScRsp => "CmdChimeraDuelChangeLineupScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BJCCFBOGEOE_NLCDGIPGFDJ" => Some(Self::BjccfbogeoeNlcdgipgfdj),
            "CmdChimeraDuelShopBuyItemCsReq" => {
                Some(Self::CmdChimeraDuelShopBuyItemCsReq)
            }
            "CmdChimeraDuelStartGameScRsp" => Some(Self::CmdChimeraDuelStartGameScRsp),
            "CmdChimeraDuelFinishMasterChallengeScRsp" => {
                Some(Self::CmdChimeraDuelFinishMasterChallengeScRsp)
            }
            "CmdChimeraDuelShopLockCsReq" => Some(Self::CmdChimeraDuelShopLockCsReq),
            "CmdChimeraDuelGetFriendListScRsp" => {
                Some(Self::CmdChimeraDuelGetFriendListScRsp)
            }
            "CmdChimeraDuelSetFriendDefendLineupScRsp" => {
                Some(Self::CmdChimeraDuelSetFriendDefendLineupScRsp)
            }
            "CmdChimeraDuelSaveFriendPvpLineupScRsp" => {
                Some(Self::CmdChimeraDuelSaveFriendPvpLineupScRsp)
            }
            "CmdChimeraDuelSellChimeraScRsp" => {
                Some(Self::CmdChimeraDuelSellChimeraScRsp)
            }
            "CmdChimeraDuelEndRoundShopStageCsReq" => {
                Some(Self::CmdChimeraDuelEndRoundShopStageCsReq)
            }
            "CmdChimeraDuelEndGameScRsp" => Some(Self::CmdChimeraDuelEndGameScRsp),
            "CmdChimeraDuelSetFriendDefendLineupCsReq" => {
                Some(Self::CmdChimeraDuelSetFriendDefendLineupCsReq)
            }
            "CmdChimeraDuelSyncChangeScNotify" => {
                Some(Self::CmdChimeraDuelSyncChangeScNotify)
            }
            "CmdChimeraDuelShopRefreshScRsp" => {
                Some(Self::CmdChimeraDuelShopRefreshScRsp)
            }
            "CmdChimeraDuelShopBuyChimeraCsReq" => {
                Some(Self::CmdChimeraDuelShopBuyChimeraCsReq)
            }
            "CmdChimeraDuelEndRoundBattleStageCsReq" => {
                Some(Self::CmdChimeraDuelEndRoundBattleStageCsReq)
            }
            "CmdChimeraDuelEndRoundShopStageScRsp" => {
                Some(Self::CmdChimeraDuelEndRoundShopStageScRsp)
            }
            "CmdChimeraDuelUnlockMasterScRsp" => {
                Some(Self::CmdChimeraDuelUnlockMasterScRsp)
            }
            "CmdChimeraDuelUnlockMasterCsReq" => {
                Some(Self::CmdChimeraDuelUnlockMasterCsReq)
            }
            "CmdChimeraDuelGetDataScRsp" => Some(Self::CmdChimeraDuelGetDataScRsp),
            "CmdChimeraDuelEndGameCsReq" => Some(Self::CmdChimeraDuelEndGameCsReq),
            "CmdChimeraDuelShopLockScRsp" => Some(Self::CmdChimeraDuelShopLockScRsp),
            "CmdChimeraDuelGetFriendListCsReq" => {
                Some(Self::CmdChimeraDuelGetFriendListCsReq)
            }
            "CmdChimeraDuelShopBuyItemScRsp" => {
                Some(Self::CmdChimeraDuelShopBuyItemScRsp)
            }
            "CmdChimeraDuelSaveFriendPvpLineupCsReq" => {
                Some(Self::CmdChimeraDuelSaveFriendPvpLineupCsReq)
            }
            "CmdChimeraDuelSelectGameCsReq" => Some(Self::CmdChimeraDuelSelectGameCsReq),
            "CmdChimeraDuelSellChimeraCsReq" => {
                Some(Self::CmdChimeraDuelSellChimeraCsReq)
            }
            "CmdChimeraDuelEndRoundBattleStageScRsp" => {
                Some(Self::CmdChimeraDuelEndRoundBattleStageScRsp)
            }
            "CmdChimeraDuelSelectGameScRsp" => Some(Self::CmdChimeraDuelSelectGameScRsp),
            "CmdChimeraDuelShopRefreshCsReq" => {
                Some(Self::CmdChimeraDuelShopRefreshCsReq)
            }
            "CmdChimeraDuelShopBuyChimeraScRsp" => {
                Some(Self::CmdChimeraDuelShopBuyChimeraScRsp)
            }
            "CmdChimeraDuelChangeLineupCsReq" => {
                Some(Self::CmdChimeraDuelChangeLineupCsReq)
            }
            "CmdChimeraDuelStartGameCsReq" => Some(Self::CmdChimeraDuelStartGameCsReq),
            "CmdChimeraDuelGetDataCsReq" => Some(Self::CmdChimeraDuelGetDataCsReq),
            "CmdChimeraDuelFinishMasterChallengeCsReq" => {
                Some(Self::CmdChimeraDuelFinishMasterChallengeCsReq)
            }
            "CmdChimeraDuelChangeLineupScRsp" => {
                Some(Self::CmdChimeraDuelChangeLineupScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pdhffpojnjg {
    Nlcdgipgfdj = 0,
    Gikncjmjlfe = 1,
    Pagpnoklnom = 2,
    Lpiinkcpjpo = 3,
    Dimifcjphme = 4,
    Ajgoejhkoke = 5,
}
impl Pdhffpojnjg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PDHFFPOJNJG_NLCDGIPGFDJ",
            Self::Gikncjmjlfe => "PDHFFPOJNJG_GIKNCJMJLFE",
            Self::Pagpnoklnom => "PDHFFPOJNJG_PAGPNOKLNOM",
            Self::Lpiinkcpjpo => "PDHFFPOJNJG_LPIINKCPJPO",
            Self::Dimifcjphme => "PDHFFPOJNJG_DIMIFCJPHME",
            Self::Ajgoejhkoke => "PDHFFPOJNJG_AJGOEJHKOKE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PDHFFPOJNJG_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PDHFFPOJNJG_GIKNCJMJLFE" => Some(Self::Gikncjmjlfe),
            "PDHFFPOJNJG_PAGPNOKLNOM" => Some(Self::Pagpnoklnom),
            "PDHFFPOJNJG_LPIINKCPJPO" => Some(Self::Lpiinkcpjpo),
            "PDHFFPOJNJG_DIMIFCJPHME" => Some(Self::Dimifcjphme),
            "PDHFFPOJNJG_AJGOEJHKOKE" => Some(Self::Ajgoejhkoke),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Diikfknehhg {
    Nlcdgipgfdj = 0,
    Ehniplneedi = 1,
    Faodkndlnpf = 2,
    Eeoomibemnh = 3,
}
impl Diikfknehhg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "DIIKFKNEHHG_NLCDGIPGFDJ",
            Self::Ehniplneedi => "DIIKFKNEHHG_EHNIPLNEEDI",
            Self::Faodkndlnpf => "DIIKFKNEHHG_FAODKNDLNPF",
            Self::Eeoomibemnh => "DIIKFKNEHHG_EEOOMIBEMNH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIIKFKNEHHG_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "DIIKFKNEHHG_EHNIPLNEEDI" => Some(Self::Ehniplneedi),
            "DIIKFKNEHHG_FAODKNDLNPF" => Some(Self::Faodkndlnpf),
            "DIIKFKNEHHG_EEOOMIBEMNH" => Some(Self::Eeoomibemnh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kpepghlknfg {
    Lcnjhoklmpn = 0,
    Jjbepklolcp = 1,
    Dogmhoaojfd = 2,
}
impl Kpepghlknfg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lcnjhoklmpn => "KPEPGHLKNFG_LCNJHOKLMPN",
            Self::Jjbepklolcp => "KPEPGHLKNFG_JJBEPKLOLCP",
            Self::Dogmhoaojfd => "KPEPGHLKNFG_DOGMHOAOJFD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KPEPGHLKNFG_LCNJHOKLMPN" => Some(Self::Lcnjhoklmpn),
            "KPEPGHLKNFG_JJBEPKLOLCP" => Some(Self::Jjbepklolcp),
            "KPEPGHLKNFG_DOGMHOAOJFD" => Some(Self::Dogmhoaojfd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdejgkkacma {
    Nlcdgipgfdj = 0,
    Hp = 1,
    Cojoifppcij = 2,
}
impl Bdejgkkacma {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BDEJGKKACMA_NLCDGIPGFDJ",
            Self::Hp => "BDEJGKKACMA_hp",
            Self::Cojoifppcij => "BDEJGKKACMA_COJOIFPPCIJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BDEJGKKACMA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BDEJGKKACMA_hp" => Some(Self::Hp),
            "BDEJGKKACMA_COJOIFPPCIJ" => Some(Self::Cojoifppcij),
            _ => None,
        }
    }
}
/// Obf: FCMJJICDBBF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdChooseDeliveryType {
    FcmjjicdbbfNlcdgipgfdj = 0,
    CmdChooseDeliveryGetDataScRsp = 9488,
    CmdChooseDeliveryScRsp = 9492,
    CmdChooseDeliveryCsReq = 9483,
    CmdChooseDeliveryGetDataCsReq = 9498,
}
impl CmdChooseDeliveryType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::FcmjjicdbbfNlcdgipgfdj => "FCMJJICDBBF_NLCDGIPGFDJ",
            Self::CmdChooseDeliveryGetDataScRsp => "CmdChooseDeliveryGetDataScRsp",
            Self::CmdChooseDeliveryScRsp => "CmdChooseDeliveryScRsp",
            Self::CmdChooseDeliveryCsReq => "CmdChooseDeliveryCsReq",
            Self::CmdChooseDeliveryGetDataCsReq => "CmdChooseDeliveryGetDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FCMJJICDBBF_NLCDGIPGFDJ" => Some(Self::FcmjjicdbbfNlcdgipgfdj),
            "CmdChooseDeliveryGetDataScRsp" => Some(Self::CmdChooseDeliveryGetDataScRsp),
            "CmdChooseDeliveryScRsp" => Some(Self::CmdChooseDeliveryScRsp),
            "CmdChooseDeliveryCsReq" => Some(Self::CmdChooseDeliveryCsReq),
            "CmdChooseDeliveryGetDataCsReq" => Some(Self::CmdChooseDeliveryGetDataCsReq),
            _ => None,
        }
    }
}
/// Obf: BHKGAKDOALP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClientCustomOpType {
    BhkgakdoalpGgkmfafoinp = 0,
    CmdHmmhdekahea = 9840,
}
impl CmdClientCustomOpType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BhkgakdoalpGgkmfafoinp => "BHKGAKDOALP_GGKMFAFOINP",
            Self::CmdHmmhdekahea => "CmdHMMHDEKAHEA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BHKGAKDOALP_GGKMFAFOINP" => Some(Self::BhkgakdoalpGgkmfafoinp),
            "CmdHMMHDEKAHEA" => Some(Self::CmdHmmhdekahea),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Agfomhjenfp {
    Nlcdgipgfdj = 0,
    Ihpjddciidb = 1,
}
impl Agfomhjenfp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "AGFOMHJENFP_NLCDGIPGFDJ",
            Self::Ihpjddciidb => "AGFOMHJENFP_IHPJDDCIIDB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AGFOMHJENFP_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "AGFOMHJENFP_IHPJDDCIIDB" => Some(Self::Ihpjddciidb),
            _ => None,
        }
    }
}
/// Obf: GFGOAJBEDFI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdClockParkType {
    GfgoajbedfiNlcdgipgfdj = 0,
    CmdClockParkHandleWaitOperationScRsp = 7220,
    CmdClockParkStartScriptCsReq = 7203,
    CmdClockParkHandleWaitOperationCsReq = 7224,
    CmdClockParkGetOngoingScriptInfoScRsp = 7221,
    CmdClockParkGetInfoCsReq = 7209,
    CmdClockParkGetInfoScRsp = 7223,
    CmdClockParkStartScriptScRsp = 7207,
    CmdIfegahjadhg = 7229,
    CmdOmpemghmdpm = 7202,
    CmdClockParkGetOngoingScriptInfoCsReq = 7210,
    CmdOnnhchdgbab = 7215,
    CmdClockParkUnlockTalentCsReq = 7219,
    CmdClockParkFinishScriptScNotify = 7213,
    CmdGediccggdgi = 7217,
    CmdPghbopeobha = 7235,
    CmdClockParkUnlockTalentScRsp = 7248,
}
impl CmdClockParkType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::GfgoajbedfiNlcdgipgfdj => "GFGOAJBEDFI_NLCDGIPGFDJ",
            Self::CmdClockParkHandleWaitOperationScRsp => {
                "CmdClockParkHandleWaitOperationScRsp"
            }
            Self::CmdClockParkStartScriptCsReq => "CmdClockParkStartScriptCsReq",
            Self::CmdClockParkHandleWaitOperationCsReq => {
                "CmdClockParkHandleWaitOperationCsReq"
            }
            Self::CmdClockParkGetOngoingScriptInfoScRsp => {
                "CmdClockParkGetOngoingScriptInfoScRsp"
            }
            Self::CmdClockParkGetInfoCsReq => "CmdClockParkGetInfoCsReq",
            Self::CmdClockParkGetInfoScRsp => "CmdClockParkGetInfoScRsp",
            Self::CmdClockParkStartScriptScRsp => "CmdClockParkStartScriptScRsp",
            Self::CmdIfegahjadhg => "CmdIFEGAHJADHG",
            Self::CmdOmpemghmdpm => "CmdOMPEMGHMDPM",
            Self::CmdClockParkGetOngoingScriptInfoCsReq => {
                "CmdClockParkGetOngoingScriptInfoCsReq"
            }
            Self::CmdOnnhchdgbab => "CmdONNHCHDGBAB",
            Self::CmdClockParkUnlockTalentCsReq => "CmdClockParkUnlockTalentCsReq",
            Self::CmdClockParkFinishScriptScNotify => "CmdClockParkFinishScriptScNotify",
            Self::CmdGediccggdgi => "CmdGEDICCGGDGI",
            Self::CmdPghbopeobha => "CmdPGHBOPEOBHA",
            Self::CmdClockParkUnlockTalentScRsp => "CmdClockParkUnlockTalentScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GFGOAJBEDFI_NLCDGIPGFDJ" => Some(Self::GfgoajbedfiNlcdgipgfdj),
            "CmdClockParkHandleWaitOperationScRsp" => {
                Some(Self::CmdClockParkHandleWaitOperationScRsp)
            }
            "CmdClockParkStartScriptCsReq" => Some(Self::CmdClockParkStartScriptCsReq),
            "CmdClockParkHandleWaitOperationCsReq" => {
                Some(Self::CmdClockParkHandleWaitOperationCsReq)
            }
            "CmdClockParkGetOngoingScriptInfoScRsp" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoScRsp)
            }
            "CmdClockParkGetInfoCsReq" => Some(Self::CmdClockParkGetInfoCsReq),
            "CmdClockParkGetInfoScRsp" => Some(Self::CmdClockParkGetInfoScRsp),
            "CmdClockParkStartScriptScRsp" => Some(Self::CmdClockParkStartScriptScRsp),
            "CmdIFEGAHJADHG" => Some(Self::CmdIfegahjadhg),
            "CmdOMPEMGHMDPM" => Some(Self::CmdOmpemghmdpm),
            "CmdClockParkGetOngoingScriptInfoCsReq" => {
                Some(Self::CmdClockParkGetOngoingScriptInfoCsReq)
            }
            "CmdONNHCHDGBAB" => Some(Self::CmdOnnhchdgbab),
            "CmdClockParkUnlockTalentCsReq" => Some(Self::CmdClockParkUnlockTalentCsReq),
            "CmdClockParkFinishScriptScNotify" => {
                Some(Self::CmdClockParkFinishScriptScNotify)
            }
            "CmdGEDICCGGDGI" => Some(Self::CmdGediccggdgi),
            "CmdPGHBOPEOBHA" => Some(Self::CmdPghbopeobha),
            "CmdClockParkUnlockTalentScRsp" => Some(Self::CmdClockParkUnlockTalentScRsp),
            _ => None,
        }
    }
}
/// Obf: ACKNOAAIMPC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ClockParkPlayStatus {
    AcknoaaimpcNfalpedfkcl = 0,
    AcknoaaimpcKhbhlgjpgpg = 1,
    AcknoaaimpcMobbepfdcem = 2,
    AcknoaaimpcMnkedgjlhle = 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::AcknoaaimpcNfalpedfkcl => "ACKNOAAIMPC_NFALPEDFKCL",
            Self::AcknoaaimpcKhbhlgjpgpg => "ACKNOAAIMPC_KHBHLGJPGPG",
            Self::AcknoaaimpcMobbepfdcem => "ACKNOAAIMPC_MOBBEPFDCEM",
            Self::AcknoaaimpcMnkedgjlhle => "ACKNOAAIMPC_MNKEDGJLHLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACKNOAAIMPC_NFALPEDFKCL" => Some(Self::AcknoaaimpcNfalpedfkcl),
            "ACKNOAAIMPC_KHBHLGJPGPG" => Some(Self::AcknoaaimpcKhbhlgjpgpg),
            "ACKNOAAIMPC_MOBBEPFDCEM" => Some(Self::AcknoaaimpcMobbepfdcem),
            "ACKNOAAIMPC_MNKEDGJLHLE" => Some(Self::AcknoaaimpcMnkedgjlhle),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionStatus {
    MissionNone = 0,
    MissionDoing = 1,
    MissionFinish = 2,
    MissionPrepared = 3,
}
impl MissionStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            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,
        }
    }
}
#[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,
        }
    }
}
#[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,
        }
    }
}
#[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,
        }
    }
}
#[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: ContentPackageStatus
#[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: PKKCLCNFPLE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdContentPackageType {
    PkkclcnfpleNlcdgipgfdj = 0,
    CmdContentPackageTransferScNotify = 7548,
    CmdContentPackageSyncDataScNotify = 7537,
    PkkclcnfpleDodajinhega = 7509,
    CmdContentPackageGetDataScRsp = 7523,
}
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::PkkclcnfpleNlcdgipgfdj => "PKKCLCNFPLE_NLCDGIPGFDJ",
            Self::CmdContentPackageTransferScNotify => {
                "CmdContentPackageTransferScNotify"
            }
            Self::CmdContentPackageSyncDataScNotify => {
                "CmdContentPackageSyncDataScNotify"
            }
            Self::PkkclcnfpleDodajinhega => "PKKCLCNFPLE_DODAJINHEGA",
            Self::CmdContentPackageGetDataScRsp => "CmdContentPackageGetDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PKKCLCNFPLE_NLCDGIPGFDJ" => Some(Self::PkkclcnfpleNlcdgipgfdj),
            "CmdContentPackageTransferScNotify" => {
                Some(Self::CmdContentPackageTransferScNotify)
            }
            "CmdContentPackageSyncDataScNotify" => {
                Some(Self::CmdContentPackageSyncDataScNotify)
            }
            "PKKCLCNFPLE_DODAJINHEGA" => Some(Self::PkkclcnfpleDodajinhega),
            "CmdContentPackageGetDataScRsp" => Some(Self::CmdContentPackageGetDataScRsp),
            _ => None,
        }
    }
}
/// Obf: HIAIBKDFAAM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDailyActiveType {
    HiaibkdfaamNlcdgipgfdj = 0,
    CmdDailyActiveInfoNotify = 3388,
    CmdTakeAllApRewardCsReq = 3381,
    CmdTakeApRewardScRsp = 3378,
    CmdGetDailyActiveInfoScRsp = 3358,
    CmdTakeApRewardCsReq = 3325,
    CmdTakeAllApRewardScRsp = 3386,
    CmdGetDailyActiveInfoCsReq = 3393,
}
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::HiaibkdfaamNlcdgipgfdj => "HIAIBKDFAAM_NLCDGIPGFDJ",
            Self::CmdDailyActiveInfoNotify => "CmdDailyActiveInfoNotify",
            Self::CmdTakeAllApRewardCsReq => "CmdTakeAllApRewardCsReq",
            Self::CmdTakeApRewardScRsp => "CmdTakeApRewardScRsp",
            Self::CmdGetDailyActiveInfoScRsp => "CmdGetDailyActiveInfoScRsp",
            Self::CmdTakeApRewardCsReq => "CmdTakeApRewardCsReq",
            Self::CmdTakeAllApRewardScRsp => "CmdTakeAllApRewardScRsp",
            Self::CmdGetDailyActiveInfoCsReq => "CmdGetDailyActiveInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HIAIBKDFAAM_NLCDGIPGFDJ" => Some(Self::HiaibkdfaamNlcdgipgfdj),
            "CmdDailyActiveInfoNotify" => Some(Self::CmdDailyActiveInfoNotify),
            "CmdTakeAllApRewardCsReq" => Some(Self::CmdTakeAllApRewardCsReq),
            "CmdTakeApRewardScRsp" => Some(Self::CmdTakeApRewardScRsp),
            "CmdGetDailyActiveInfoScRsp" => Some(Self::CmdGetDailyActiveInfoScRsp),
            "CmdTakeApRewardCsReq" => Some(Self::CmdTakeApRewardCsReq),
            "CmdTakeAllApRewardScRsp" => Some(Self::CmdTakeAllApRewardScRsp),
            "CmdGetDailyActiveInfoCsReq" => Some(Self::CmdGetDailyActiveInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: PMDFMAIHPGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDiceCombatType {
    PmdfmaihpglNlcdgipgfdj = 0,
    CmdUpgradeAvatarRsp = 9293,
    CmdBuyShopGoodCsReq = 9284,
    CmdGetShopDataCsReq = 9281,
    CmdBlbhacnkkfc = 9279,
    CmdGetShopDataScRsp = 9265,
    CmdGetSystemDataRsp = 9270,
    CmdDiceCombatMainPageRollDiceCsReq = 9274,
    CmdGetSystemDataCsReq = 9296,
    CmdUpgradeAvatarCsReq = 9267,
    CmdAddItemRsp = 9297,
    CmdFinishPveStageCsReq = 9273,
    CmdDiceCombatMainPageRollDiceScRsp = 9295,
    CmdBuyShopGoodScRsp = 9272,
    CmdFinishPveStageScRsp = 9269,
    CmdV2FinishPveStageScRsp = 9298,
    CmdDdknimhhnpa = 9276,
    CmdV2FinishPveStageCsReq = 9278,
    CmdModifyAvatarDiceRsp = 9290,
    CmdModifyAvatarDiceCsReq = 9283,
}
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::PmdfmaihpglNlcdgipgfdj => "PMDFMAIHPGL_NLCDGIPGFDJ",
            Self::CmdUpgradeAvatarRsp => "CmdUpgradeAvatarRsp",
            Self::CmdBuyShopGoodCsReq => "CmdBuyShopGoodCsReq",
            Self::CmdGetShopDataCsReq => "CmdGetShopDataCsReq",
            Self::CmdBlbhacnkkfc => "CmdBLBHACNKKFC",
            Self::CmdGetShopDataScRsp => "CmdGetShopDataScRsp",
            Self::CmdGetSystemDataRsp => "CmdGetSystemDataRsp",
            Self::CmdDiceCombatMainPageRollDiceCsReq => {
                "CmdDiceCombatMainPageRollDiceCsReq"
            }
            Self::CmdGetSystemDataCsReq => "CmdGetSystemDataCsReq",
            Self::CmdUpgradeAvatarCsReq => "CmdUpgradeAvatarCsReq",
            Self::CmdAddItemRsp => "CmdAddItemRsp",
            Self::CmdFinishPveStageCsReq => "CmdFinishPveStageCsReq",
            Self::CmdDiceCombatMainPageRollDiceScRsp => {
                "CmdDiceCombatMainPageRollDiceScRsp"
            }
            Self::CmdBuyShopGoodScRsp => "CmdBuyShopGoodScRsp",
            Self::CmdFinishPveStageScRsp => "CmdFinishPveStageScRsp",
            Self::CmdV2FinishPveStageScRsp => "CmdV2FinishPveStageScRsp",
            Self::CmdDdknimhhnpa => "CmdDDKNIMHHNPA",
            Self::CmdV2FinishPveStageCsReq => "CmdV2FinishPveStageCsReq",
            Self::CmdModifyAvatarDiceRsp => "CmdModifyAvatarDiceRsp",
            Self::CmdModifyAvatarDiceCsReq => "CmdModifyAvatarDiceCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PMDFMAIHPGL_NLCDGIPGFDJ" => Some(Self::PmdfmaihpglNlcdgipgfdj),
            "CmdUpgradeAvatarRsp" => Some(Self::CmdUpgradeAvatarRsp),
            "CmdBuyShopGoodCsReq" => Some(Self::CmdBuyShopGoodCsReq),
            "CmdGetShopDataCsReq" => Some(Self::CmdGetShopDataCsReq),
            "CmdBLBHACNKKFC" => Some(Self::CmdBlbhacnkkfc),
            "CmdGetShopDataScRsp" => Some(Self::CmdGetShopDataScRsp),
            "CmdGetSystemDataRsp" => Some(Self::CmdGetSystemDataRsp),
            "CmdDiceCombatMainPageRollDiceCsReq" => {
                Some(Self::CmdDiceCombatMainPageRollDiceCsReq)
            }
            "CmdGetSystemDataCsReq" => Some(Self::CmdGetSystemDataCsReq),
            "CmdUpgradeAvatarCsReq" => Some(Self::CmdUpgradeAvatarCsReq),
            "CmdAddItemRsp" => Some(Self::CmdAddItemRsp),
            "CmdFinishPveStageCsReq" => Some(Self::CmdFinishPveStageCsReq),
            "CmdDiceCombatMainPageRollDiceScRsp" => {
                Some(Self::CmdDiceCombatMainPageRollDiceScRsp)
            }
            "CmdBuyShopGoodScRsp" => Some(Self::CmdBuyShopGoodScRsp),
            "CmdFinishPveStageScRsp" => Some(Self::CmdFinishPveStageScRsp),
            "CmdV2FinishPveStageScRsp" => Some(Self::CmdV2FinishPveStageScRsp),
            "CmdDDKNIMHHNPA" => Some(Self::CmdDdknimhhnpa),
            "CmdV2FinishPveStageCsReq" => Some(Self::CmdV2FinishPveStageCsReq),
            "CmdModifyAvatarDiceRsp" => Some(Self::CmdModifyAvatarDiceRsp),
            "CmdModifyAvatarDiceCsReq" => Some(Self::CmdModifyAvatarDiceCsReq),
            _ => None,
        }
    }
}
/// Obf: JNAFGAGPCIK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdDrinkMakerType {
    JnafgagpcikNlcdgipgfdj = 0,
    CmdDrinkMakerChallengeCsReq = 6995,
    CmdDrinkMakerCheersGetDataScRsp = 6990,
    CmdMakeMissionDrinkScRsp = 6984,
    CmdGetDrinkMakerDataScRsp = 6988,
    CmdDrinkMakerCheersGetDataCsReq = 7000,
    CmdGetDrinkMakerDataCsReq = 6998,
    CmdMakeDrinkCsReq = 6983,
    CmdDrinkMakerCheersEnterNextGroupCsReq = 6986,
    CmdEndDrinkMakerSequenceScRsp = 6997,
    CmdMakeMissionDrinkCsReq = 6985,
    CmdDrinkMakerCheersMakeDrinkScRsp = 6994,
    CmdDrinkMakerUpdateTipsNotify = 6989,
    CmdDrinkMakerCheersEnterNextGroupScRsp = 6999,
    CmdEndDrinkMakerSequenceCsReq = 6982,
    CmdDrinkMakerChallengeScRsp = 6981,
    CmdMakeDrinkScRsp = 6992,
    CmdDrinkMakerCheersMakeDrinkCsReq = 6987,
    CmdGetDrinkMakerDayEndScNotify = 6991,
}
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::JnafgagpcikNlcdgipgfdj => "JNAFGAGPCIK_NLCDGIPGFDJ",
            Self::CmdDrinkMakerChallengeCsReq => "CmdDrinkMakerChallengeCsReq",
            Self::CmdDrinkMakerCheersGetDataScRsp => "CmdDrinkMakerCheersGetDataScRsp",
            Self::CmdMakeMissionDrinkScRsp => "CmdMakeMissionDrinkScRsp",
            Self::CmdGetDrinkMakerDataScRsp => "CmdGetDrinkMakerDataScRsp",
            Self::CmdDrinkMakerCheersGetDataCsReq => "CmdDrinkMakerCheersGetDataCsReq",
            Self::CmdGetDrinkMakerDataCsReq => "CmdGetDrinkMakerDataCsReq",
            Self::CmdMakeDrinkCsReq => "CmdMakeDrinkCsReq",
            Self::CmdDrinkMakerCheersEnterNextGroupCsReq => {
                "CmdDrinkMakerCheersEnterNextGroupCsReq"
            }
            Self::CmdEndDrinkMakerSequenceScRsp => "CmdEndDrinkMakerSequenceScRsp",
            Self::CmdMakeMissionDrinkCsReq => "CmdMakeMissionDrinkCsReq",
            Self::CmdDrinkMakerCheersMakeDrinkScRsp => {
                "CmdDrinkMakerCheersMakeDrinkScRsp"
            }
            Self::CmdDrinkMakerUpdateTipsNotify => "CmdDrinkMakerUpdateTipsNotify",
            Self::CmdDrinkMakerCheersEnterNextGroupScRsp => {
                "CmdDrinkMakerCheersEnterNextGroupScRsp"
            }
            Self::CmdEndDrinkMakerSequenceCsReq => "CmdEndDrinkMakerSequenceCsReq",
            Self::CmdDrinkMakerChallengeScRsp => "CmdDrinkMakerChallengeScRsp",
            Self::CmdMakeDrinkScRsp => "CmdMakeDrinkScRsp",
            Self::CmdDrinkMakerCheersMakeDrinkCsReq => {
                "CmdDrinkMakerCheersMakeDrinkCsReq"
            }
            Self::CmdGetDrinkMakerDayEndScNotify => "CmdGetDrinkMakerDayEndScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNAFGAGPCIK_NLCDGIPGFDJ" => Some(Self::JnafgagpcikNlcdgipgfdj),
            "CmdDrinkMakerChallengeCsReq" => Some(Self::CmdDrinkMakerChallengeCsReq),
            "CmdDrinkMakerCheersGetDataScRsp" => {
                Some(Self::CmdDrinkMakerCheersGetDataScRsp)
            }
            "CmdMakeMissionDrinkScRsp" => Some(Self::CmdMakeMissionDrinkScRsp),
            "CmdGetDrinkMakerDataScRsp" => Some(Self::CmdGetDrinkMakerDataScRsp),
            "CmdDrinkMakerCheersGetDataCsReq" => {
                Some(Self::CmdDrinkMakerCheersGetDataCsReq)
            }
            "CmdGetDrinkMakerDataCsReq" => Some(Self::CmdGetDrinkMakerDataCsReq),
            "CmdMakeDrinkCsReq" => Some(Self::CmdMakeDrinkCsReq),
            "CmdDrinkMakerCheersEnterNextGroupCsReq" => {
                Some(Self::CmdDrinkMakerCheersEnterNextGroupCsReq)
            }
            "CmdEndDrinkMakerSequenceScRsp" => Some(Self::CmdEndDrinkMakerSequenceScRsp),
            "CmdMakeMissionDrinkCsReq" => Some(Self::CmdMakeMissionDrinkCsReq),
            "CmdDrinkMakerCheersMakeDrinkScRsp" => {
                Some(Self::CmdDrinkMakerCheersMakeDrinkScRsp)
            }
            "CmdDrinkMakerUpdateTipsNotify" => Some(Self::CmdDrinkMakerUpdateTipsNotify),
            "CmdDrinkMakerCheersEnterNextGroupScRsp" => {
                Some(Self::CmdDrinkMakerCheersEnterNextGroupScRsp)
            }
            "CmdEndDrinkMakerSequenceCsReq" => Some(Self::CmdEndDrinkMakerSequenceCsReq),
            "CmdDrinkMakerChallengeScRsp" => Some(Self::CmdDrinkMakerChallengeScRsp),
            "CmdMakeDrinkScRsp" => Some(Self::CmdMakeDrinkScRsp),
            "CmdDrinkMakerCheersMakeDrinkCsReq" => {
                Some(Self::CmdDrinkMakerCheersMakeDrinkCsReq)
            }
            "CmdGetDrinkMakerDayEndScNotify" => {
                Some(Self::CmdGetDrinkMakerDayEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: GFOCDHFMBBC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdElationActivityType {
    GfocdhfmbbcNlcdgipgfdj = 0,
    CmdElationActivityBattleEndScNotify = 9104,
    CmdEnterElationActivityStageCsReq = 9103,
    CmdEnterElationActivityStageScRsp = 9105,
    CmdGetElationActivityDataCsReq = 9110,
    CmdGetElationActivityDataScRsp = 9101,
}
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::GfocdhfmbbcNlcdgipgfdj => "GFOCDHFMBBC_NLCDGIPGFDJ",
            Self::CmdElationActivityBattleEndScNotify => {
                "CmdElationActivityBattleEndScNotify"
            }
            Self::CmdEnterElationActivityStageCsReq => {
                "CmdEnterElationActivityStageCsReq"
            }
            Self::CmdEnterElationActivityStageScRsp => {
                "CmdEnterElationActivityStageScRsp"
            }
            Self::CmdGetElationActivityDataCsReq => "CmdGetElationActivityDataCsReq",
            Self::CmdGetElationActivityDataScRsp => "CmdGetElationActivityDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GFOCDHFMBBC_NLCDGIPGFDJ" => Some(Self::GfocdhfmbbcNlcdgipgfdj),
            "CmdElationActivityBattleEndScNotify" => {
                Some(Self::CmdElationActivityBattleEndScNotify)
            }
            "CmdEnterElationActivityStageCsReq" => {
                Some(Self::CmdEnterElationActivityStageCsReq)
            }
            "CmdEnterElationActivityStageScRsp" => {
                Some(Self::CmdEnterElationActivityStageScRsp)
            }
            "CmdGetElationActivityDataCsReq" => {
                Some(Self::CmdGetElationActivityDataCsReq)
            }
            "CmdGetElationActivityDataScRsp" => {
                Some(Self::CmdGetElationActivityDataScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: AEHOCHBKGOL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdElfRestaurantType {
    AehochbkgolNlcdgipgfdj = 0,
    CmdAleedhcdial = 2587,
    CmdElfRestaurantFinishTradeOrderScRsp = 2589,
    CmdElfRestaurantRecycleSeedCsReq = 2567,
    AehochbkgolLcfdihfagha = 2583,
    CmdElfRestaurantHarvestCropCsReq = 2574,
    CmdGetElfRestaurantDataCsReq = 2559,
    CmdGoojijdpkip = 2593,
    AehochbkgolHpkgglplhmd = 2556,
    CmdMfijfceakha = 2586,
    CmdPnoenkfakek = 2557,
    CmdHcbcpfnmmmi = 2585,
    AehochbkgolOgcdaoelhcb = 2568,
    CmdElfRestaurantTakeVillagerRewardScRsp = 2592,
    CmdJfmkfjjcdkn = 2594,
    CmdKfliegjgobo = 2572,
    CmdGetElfRestaurantDataScRsp = 2573,
    CmdGhnlnaaaolg = 2565,
    CmdElfRestaurantFinishTradeOrderCsReq = 2595,
    CmdIjbbckpnpaf = 2558,
    CmdElfRestaurantDataChangeNotify = 2598,
    CmdElfRestaurantBuyShopItemCsReq = 2590,
    CmdFceehnojaan = 2564,
    CmdHcgnkjhkjmm = 2563,
    CmdElfRestaurantPlantSeedScRsp = 2571,
    CmdEeagaclndfn = 2553,
    CmdElfRestaurantRecycleSeedScRsp = 2579,
    CmdElfRestaurantTakeVillagerRewardCsReq = 2597,
    CmdNjmhbeaaooc = 2580,
    CmdElfRestaurantHarvestCropScRsp = 2570,
    CmdElfRestaurantBuyShopItemScRsp = 2576,
    CmdOckgmngkiee = 2552,
    CmdEndidpakmgf = 2582,
    CmdElfRestaurantPlantSeedCsReq = 2560,
}
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::AehochbkgolNlcdgipgfdj => "AEHOCHBKGOL_NLCDGIPGFDJ",
            Self::CmdAleedhcdial => "CmdALEEDHCDIAL",
            Self::CmdElfRestaurantFinishTradeOrderScRsp => {
                "CmdElfRestaurantFinishTradeOrderScRsp"
            }
            Self::CmdElfRestaurantRecycleSeedCsReq => "CmdElfRestaurantRecycleSeedCsReq",
            Self::AehochbkgolLcfdihfagha => "AEHOCHBKGOL_LCFDIHFAGHA",
            Self::CmdElfRestaurantHarvestCropCsReq => "CmdElfRestaurantHarvestCropCsReq",
            Self::CmdGetElfRestaurantDataCsReq => "CmdGetElfRestaurantDataCsReq",
            Self::CmdGoojijdpkip => "CmdGOOJIJDPKIP",
            Self::AehochbkgolHpkgglplhmd => "AEHOCHBKGOL_HPKGGLPLHMD",
            Self::CmdMfijfceakha => "CmdMFIJFCEAKHA",
            Self::CmdPnoenkfakek => "CmdPNOENKFAKEK",
            Self::CmdHcbcpfnmmmi => "CmdHCBCPFNMMMI",
            Self::AehochbkgolOgcdaoelhcb => "AEHOCHBKGOL_OGCDAOELHCB",
            Self::CmdElfRestaurantTakeVillagerRewardScRsp => {
                "CmdElfRestaurantTakeVillagerRewardScRsp"
            }
            Self::CmdJfmkfjjcdkn => "CmdJFMKFJJCDKN",
            Self::CmdKfliegjgobo => "CmdKFLIEGJGOBO",
            Self::CmdGetElfRestaurantDataScRsp => "CmdGetElfRestaurantDataScRsp",
            Self::CmdGhnlnaaaolg => "CmdGHNLNAAAOLG",
            Self::CmdElfRestaurantFinishTradeOrderCsReq => {
                "CmdElfRestaurantFinishTradeOrderCsReq"
            }
            Self::CmdIjbbckpnpaf => "CmdIJBBCKPNPAF",
            Self::CmdElfRestaurantDataChangeNotify => "CmdElfRestaurantDataChangeNotify",
            Self::CmdElfRestaurantBuyShopItemCsReq => "CmdElfRestaurantBuyShopItemCsReq",
            Self::CmdFceehnojaan => "CmdFCEEHNOJAAN",
            Self::CmdHcgnkjhkjmm => "CmdHCGNKJHKJMM",
            Self::CmdElfRestaurantPlantSeedScRsp => "CmdElfRestaurantPlantSeedScRsp",
            Self::CmdEeagaclndfn => "CmdEEAGACLNDFN",
            Self::CmdElfRestaurantRecycleSeedScRsp => "CmdElfRestaurantRecycleSeedScRsp",
            Self::CmdElfRestaurantTakeVillagerRewardCsReq => {
                "CmdElfRestaurantTakeVillagerRewardCsReq"
            }
            Self::CmdNjmhbeaaooc => "CmdNJMHBEAAOOC",
            Self::CmdElfRestaurantHarvestCropScRsp => "CmdElfRestaurantHarvestCropScRsp",
            Self::CmdElfRestaurantBuyShopItemScRsp => "CmdElfRestaurantBuyShopItemScRsp",
            Self::CmdOckgmngkiee => "CmdOCKGMNGKIEE",
            Self::CmdEndidpakmgf => "CmdENDIDPAKMGF",
            Self::CmdElfRestaurantPlantSeedCsReq => "CmdElfRestaurantPlantSeedCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AEHOCHBKGOL_NLCDGIPGFDJ" => Some(Self::AehochbkgolNlcdgipgfdj),
            "CmdALEEDHCDIAL" => Some(Self::CmdAleedhcdial),
            "CmdElfRestaurantFinishTradeOrderScRsp" => {
                Some(Self::CmdElfRestaurantFinishTradeOrderScRsp)
            }
            "CmdElfRestaurantRecycleSeedCsReq" => {
                Some(Self::CmdElfRestaurantRecycleSeedCsReq)
            }
            "AEHOCHBKGOL_LCFDIHFAGHA" => Some(Self::AehochbkgolLcfdihfagha),
            "CmdElfRestaurantHarvestCropCsReq" => {
                Some(Self::CmdElfRestaurantHarvestCropCsReq)
            }
            "CmdGetElfRestaurantDataCsReq" => Some(Self::CmdGetElfRestaurantDataCsReq),
            "CmdGOOJIJDPKIP" => Some(Self::CmdGoojijdpkip),
            "AEHOCHBKGOL_HPKGGLPLHMD" => Some(Self::AehochbkgolHpkgglplhmd),
            "CmdMFIJFCEAKHA" => Some(Self::CmdMfijfceakha),
            "CmdPNOENKFAKEK" => Some(Self::CmdPnoenkfakek),
            "CmdHCBCPFNMMMI" => Some(Self::CmdHcbcpfnmmmi),
            "AEHOCHBKGOL_OGCDAOELHCB" => Some(Self::AehochbkgolOgcdaoelhcb),
            "CmdElfRestaurantTakeVillagerRewardScRsp" => {
                Some(Self::CmdElfRestaurantTakeVillagerRewardScRsp)
            }
            "CmdJFMKFJJCDKN" => Some(Self::CmdJfmkfjjcdkn),
            "CmdKFLIEGJGOBO" => Some(Self::CmdKfliegjgobo),
            "CmdGetElfRestaurantDataScRsp" => Some(Self::CmdGetElfRestaurantDataScRsp),
            "CmdGHNLNAAAOLG" => Some(Self::CmdGhnlnaaaolg),
            "CmdElfRestaurantFinishTradeOrderCsReq" => {
                Some(Self::CmdElfRestaurantFinishTradeOrderCsReq)
            }
            "CmdIJBBCKPNPAF" => Some(Self::CmdIjbbckpnpaf),
            "CmdElfRestaurantDataChangeNotify" => {
                Some(Self::CmdElfRestaurantDataChangeNotify)
            }
            "CmdElfRestaurantBuyShopItemCsReq" => {
                Some(Self::CmdElfRestaurantBuyShopItemCsReq)
            }
            "CmdFCEEHNOJAAN" => Some(Self::CmdFceehnojaan),
            "CmdHCGNKJHKJMM" => Some(Self::CmdHcgnkjhkjmm),
            "CmdElfRestaurantPlantSeedScRsp" => {
                Some(Self::CmdElfRestaurantPlantSeedScRsp)
            }
            "CmdEEAGACLNDFN" => Some(Self::CmdEeagaclndfn),
            "CmdElfRestaurantRecycleSeedScRsp" => {
                Some(Self::CmdElfRestaurantRecycleSeedScRsp)
            }
            "CmdElfRestaurantTakeVillagerRewardCsReq" => {
                Some(Self::CmdElfRestaurantTakeVillagerRewardCsReq)
            }
            "CmdNJMHBEAAOOC" => Some(Self::CmdNjmhbeaaooc),
            "CmdElfRestaurantHarvestCropScRsp" => {
                Some(Self::CmdElfRestaurantHarvestCropScRsp)
            }
            "CmdElfRestaurantBuyShopItemScRsp" => {
                Some(Self::CmdElfRestaurantBuyShopItemScRsp)
            }
            "CmdOCKGMNGKIEE" => Some(Self::CmdOckgmngkiee),
            "CmdENDIDPAKMGF" => Some(Self::CmdEndidpakmgf),
            "CmdElfRestaurantPlantSeedCsReq" => {
                Some(Self::CmdElfRestaurantPlantSeedCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: LDEBFOMPOGN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEraFlipperType {
    LdebfompognNlcdgipgfdj = 0,
    CmdChangeEraFlipperDataCsReq = 6562,
    CmdResetEraFlipperDataScRsp = 6559,
    CmdGetEraFlipperDataScRsp = 6571,
    CmdChangeEraFlipperDataScRsp = 6557,
    CmdResetEraFlipperDataCsReq = 6555,
    CmdDmiceocogad = 6565,
    CmdEnterEraFlipperDataScRsp = 6568,
    CmdEnterEraFlipperDataCsReq = 6569,
    CmdGetEraFlipperDataCsReq = 6558,
}
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::LdebfompognNlcdgipgfdj => "LDEBFOMPOGN_NLCDGIPGFDJ",
            Self::CmdChangeEraFlipperDataCsReq => "CmdChangeEraFlipperDataCsReq",
            Self::CmdResetEraFlipperDataScRsp => "CmdResetEraFlipperDataScRsp",
            Self::CmdGetEraFlipperDataScRsp => "CmdGetEraFlipperDataScRsp",
            Self::CmdChangeEraFlipperDataScRsp => "CmdChangeEraFlipperDataScRsp",
            Self::CmdResetEraFlipperDataCsReq => "CmdResetEraFlipperDataCsReq",
            Self::CmdDmiceocogad => "CmdDMICEOCOGAD",
            Self::CmdEnterEraFlipperDataScRsp => "CmdEnterEraFlipperDataScRsp",
            Self::CmdEnterEraFlipperDataCsReq => "CmdEnterEraFlipperDataCsReq",
            Self::CmdGetEraFlipperDataCsReq => "CmdGetEraFlipperDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDEBFOMPOGN_NLCDGIPGFDJ" => Some(Self::LdebfompognNlcdgipgfdj),
            "CmdChangeEraFlipperDataCsReq" => Some(Self::CmdChangeEraFlipperDataCsReq),
            "CmdResetEraFlipperDataScRsp" => Some(Self::CmdResetEraFlipperDataScRsp),
            "CmdGetEraFlipperDataScRsp" => Some(Self::CmdGetEraFlipperDataScRsp),
            "CmdChangeEraFlipperDataScRsp" => Some(Self::CmdChangeEraFlipperDataScRsp),
            "CmdResetEraFlipperDataCsReq" => Some(Self::CmdResetEraFlipperDataCsReq),
            "CmdDMICEOCOGAD" => Some(Self::CmdDmiceocogad),
            "CmdEnterEraFlipperDataScRsp" => Some(Self::CmdEnterEraFlipperDataScRsp),
            "CmdEnterEraFlipperDataCsReq" => Some(Self::CmdEnterEraFlipperDataCsReq),
            "CmdGetEraFlipperDataCsReq" => Some(Self::CmdGetEraFlipperDataCsReq),
            _ => None,
        }
    }
}
/// Obf: HNJJAFEFDLN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdEvolveBuildType {
    HnjjafefdlnMmnfgnkhnll = 0,
    CmdEvolveBuildStartLevelScRsp = 7144,
    CmdGetEvolveBuildShopAbilityResetScRsp = 7118,
    CmdGetEvolveBuildShopAbilityDownCsReq = 7114,
    CmdEvolveBuildSkipTeachLevelCsReq = 7126,
    CmdGetEvolveBuildReRandomStageCsReq = 7120,
    CmdGetEvolveBuildCoinNotify = 7143,
    CmdGetEvolveBuildQueryInfoScRsp = 7123,
    CmdGetEvolveBuildGiveupCsReq = 7103,
    CmdGetEvolveBuildGiveupScRsp = 7107,
    CmdGetEvolveBuildShopAbilityUpCsReq = 7106,
    CmdGetEvolveBuildShopAbilityUpScRsp = 7102,
    CmdGetEvolveBuildShopAbilityDownScRsp = 7135,
    CmdEvolveBuildSkipTeachLevelScRsp = 7145,
    CmdEvolveBuildStartStageCsReq = 7119,
    CmdGetEvolveBuildFinishScNotify = 7124,
    CmdEvolveBuildStartStageScRsp = 7148,
    CmdGetEvolveBuildQueryInfoCsReq = 7109,
    CmdEvolveBuildStartLevelCsReq = 7137,
    CmdGetEvolveBuildReRandomStageScRsp = 7117,
    CmdGetEvolveBuildShopAbilityResetCsReq = 7108,
}
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::HnjjafefdlnMmnfgnkhnll => "HNJJAFEFDLN_MMNFGNKHNLL",
            Self::CmdEvolveBuildStartLevelScRsp => "CmdEvolveBuildStartLevelScRsp",
            Self::CmdGetEvolveBuildShopAbilityResetScRsp => {
                "CmdGetEvolveBuildShopAbilityResetScRsp"
            }
            Self::CmdGetEvolveBuildShopAbilityDownCsReq => {
                "CmdGetEvolveBuildShopAbilityDownCsReq"
            }
            Self::CmdEvolveBuildSkipTeachLevelCsReq => {
                "CmdEvolveBuildSkipTeachLevelCsReq"
            }
            Self::CmdGetEvolveBuildReRandomStageCsReq => {
                "CmdGetEvolveBuildReRandomStageCsReq"
            }
            Self::CmdGetEvolveBuildCoinNotify => "CmdGetEvolveBuildCoinNotify",
            Self::CmdGetEvolveBuildQueryInfoScRsp => "CmdGetEvolveBuildQueryInfoScRsp",
            Self::CmdGetEvolveBuildGiveupCsReq => "CmdGetEvolveBuildGiveupCsReq",
            Self::CmdGetEvolveBuildGiveupScRsp => "CmdGetEvolveBuildGiveupScRsp",
            Self::CmdGetEvolveBuildShopAbilityUpCsReq => {
                "CmdGetEvolveBuildShopAbilityUpCsReq"
            }
            Self::CmdGetEvolveBuildShopAbilityUpScRsp => {
                "CmdGetEvolveBuildShopAbilityUpScRsp"
            }
            Self::CmdGetEvolveBuildShopAbilityDownScRsp => {
                "CmdGetEvolveBuildShopAbilityDownScRsp"
            }
            Self::CmdEvolveBuildSkipTeachLevelScRsp => {
                "CmdEvolveBuildSkipTeachLevelScRsp"
            }
            Self::CmdEvolveBuildStartStageCsReq => "CmdEvolveBuildStartStageCsReq",
            Self::CmdGetEvolveBuildFinishScNotify => "CmdGetEvolveBuildFinishScNotify",
            Self::CmdEvolveBuildStartStageScRsp => "CmdEvolveBuildStartStageScRsp",
            Self::CmdGetEvolveBuildQueryInfoCsReq => "CmdGetEvolveBuildQueryInfoCsReq",
            Self::CmdEvolveBuildStartLevelCsReq => "CmdEvolveBuildStartLevelCsReq",
            Self::CmdGetEvolveBuildReRandomStageScRsp => {
                "CmdGetEvolveBuildReRandomStageScRsp"
            }
            Self::CmdGetEvolveBuildShopAbilityResetCsReq => {
                "CmdGetEvolveBuildShopAbilityResetCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HNJJAFEFDLN_MMNFGNKHNLL" => Some(Self::HnjjafefdlnMmnfgnkhnll),
            "CmdEvolveBuildStartLevelScRsp" => Some(Self::CmdEvolveBuildStartLevelScRsp),
            "CmdGetEvolveBuildShopAbilityResetScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityResetScRsp)
            }
            "CmdGetEvolveBuildShopAbilityDownCsReq" => {
                Some(Self::CmdGetEvolveBuildShopAbilityDownCsReq)
            }
            "CmdEvolveBuildSkipTeachLevelCsReq" => {
                Some(Self::CmdEvolveBuildSkipTeachLevelCsReq)
            }
            "CmdGetEvolveBuildReRandomStageCsReq" => {
                Some(Self::CmdGetEvolveBuildReRandomStageCsReq)
            }
            "CmdGetEvolveBuildCoinNotify" => Some(Self::CmdGetEvolveBuildCoinNotify),
            "CmdGetEvolveBuildQueryInfoScRsp" => {
                Some(Self::CmdGetEvolveBuildQueryInfoScRsp)
            }
            "CmdGetEvolveBuildGiveupCsReq" => Some(Self::CmdGetEvolveBuildGiveupCsReq),
            "CmdGetEvolveBuildGiveupScRsp" => Some(Self::CmdGetEvolveBuildGiveupScRsp),
            "CmdGetEvolveBuildShopAbilityUpCsReq" => {
                Some(Self::CmdGetEvolveBuildShopAbilityUpCsReq)
            }
            "CmdGetEvolveBuildShopAbilityUpScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityUpScRsp)
            }
            "CmdGetEvolveBuildShopAbilityDownScRsp" => {
                Some(Self::CmdGetEvolveBuildShopAbilityDownScRsp)
            }
            "CmdEvolveBuildSkipTeachLevelScRsp" => {
                Some(Self::CmdEvolveBuildSkipTeachLevelScRsp)
            }
            "CmdEvolveBuildStartStageCsReq" => Some(Self::CmdEvolveBuildStartStageCsReq),
            "CmdGetEvolveBuildFinishScNotify" => {
                Some(Self::CmdGetEvolveBuildFinishScNotify)
            }
            "CmdEvolveBuildStartStageScRsp" => Some(Self::CmdEvolveBuildStartStageScRsp),
            "CmdGetEvolveBuildQueryInfoCsReq" => {
                Some(Self::CmdGetEvolveBuildQueryInfoCsReq)
            }
            "CmdEvolveBuildStartLevelCsReq" => Some(Self::CmdEvolveBuildStartLevelCsReq),
            "CmdGetEvolveBuildReRandomStageScRsp" => {
                Some(Self::CmdGetEvolveBuildReRandomStageScRsp)
            }
            "CmdGetEvolveBuildShopAbilityResetCsReq" => {
                Some(Self::CmdGetEvolveBuildShopAbilityResetCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gciohogcbcf {
    Dlhfailacpe = 0,
    Mbhimlhpagd = 1,
    Pebjklddmha = 2,
    Jjmfiepcjgh = 3,
    Flpklfenpbg = 4,
}
impl Gciohogcbcf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dlhfailacpe => "GCIOHOGCBCF_DLHFAILACPE",
            Self::Mbhimlhpagd => "GCIOHOGCBCF_MBHIMLHPAGD",
            Self::Pebjklddmha => "GCIOHOGCBCF_PEBJKLDDMHA",
            Self::Jjmfiepcjgh => "GCIOHOGCBCF_JJMFIEPCJGH",
            Self::Flpklfenpbg => "GCIOHOGCBCF_FLPKLFENPBG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GCIOHOGCBCF_DLHFAILACPE" => Some(Self::Dlhfailacpe),
            "GCIOHOGCBCF_MBHIMLHPAGD" => Some(Self::Mbhimlhpagd),
            "GCIOHOGCBCF_PEBJKLDDMHA" => Some(Self::Pebjklddmha),
            "GCIOHOGCBCF_JJMFIEPCJGH" => Some(Self::Jjmfiepcjgh),
            "GCIOHOGCBCF_FLPKLFENPBG" => Some(Self::Flpklfenpbg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iapiiejhlmp {
    Bfncmbckdhk = 0,
    Gndjpihjcff = 1,
    Bnhflkdchoj = 2,
    Inhgfenmdfn = 3,
    Hpdbifbghbd = 4,
}
impl Iapiiejhlmp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Bfncmbckdhk => "IAPIIEJHLMP_BFNCMBCKDHK",
            Self::Gndjpihjcff => "IAPIIEJHLMP_GNDJPIHJCFF",
            Self::Bnhflkdchoj => "IAPIIEJHLMP_BNHFLKDCHOJ",
            Self::Inhgfenmdfn => "IAPIIEJHLMP_INHGFENMDFN",
            Self::Hpdbifbghbd => "IAPIIEJHLMP_HPDBIFBGHBD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IAPIIEJHLMP_BFNCMBCKDHK" => Some(Self::Bfncmbckdhk),
            "IAPIIEJHLMP_GNDJPIHJCFF" => Some(Self::Gndjpihjcff),
            "IAPIIEJHLMP_BNHFLKDCHOJ" => Some(Self::Bnhflkdchoj),
            "IAPIIEJHLMP_INHGFENMDFN" => Some(Self::Inhgfenmdfn),
            "IAPIIEJHLMP_HPDBIFBGHBD" => Some(Self::Hpdbifbghbd),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Edjkfobbdjf {
    Pcihngdcfal = 0,
    Cnlojefohii = 1,
    Iabfopfpill = 2,
}
impl Edjkfobbdjf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pcihngdcfal => "EDJKFOBBDJF_PCIHNGDCFAL",
            Self::Cnlojefohii => "EDJKFOBBDJF_CNLOJEFOHII",
            Self::Iabfopfpill => "EDJKFOBBDJF_IABFOPFPILL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDJKFOBBDJF_PCIHNGDCFAL" => Some(Self::Pcihngdcfal),
            "EDJKFOBBDJF_CNLOJEFOHII" => Some(Self::Cnlojefohii),
            "EDJKFOBBDJF_IABFOPFPILL" => Some(Self::Iabfopfpill),
            _ => None,
        }
    }
}
/// Obf: OKPCOBCMOFF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdExpeditionType {
    OkpcobcmoffNlcdgipgfdj = 0,
    CmdTakeMultipleExpeditionRewardCsReq = 2514,
    CmdGetExpeditionDataCsReq = 2509,
    CmdTakeMultipleExpeditionRewardScRsp = 2535,
    CmdHkcilggeefm = 2510,
    CmdGetExpeditionDataScRsp = 2523,
    CmdAcceptMultipleExpeditionCsReq = 2506,
    CmdAcceptMultipleExpeditionScRsp = 2502,
}
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::OkpcobcmoffNlcdgipgfdj => "OKPCOBCMOFF_NLCDGIPGFDJ",
            Self::CmdTakeMultipleExpeditionRewardCsReq => {
                "CmdTakeMultipleExpeditionRewardCsReq"
            }
            Self::CmdGetExpeditionDataCsReq => "CmdGetExpeditionDataCsReq",
            Self::CmdTakeMultipleExpeditionRewardScRsp => {
                "CmdTakeMultipleExpeditionRewardScRsp"
            }
            Self::CmdHkcilggeefm => "CmdHKCILGGEEFM",
            Self::CmdGetExpeditionDataScRsp => "CmdGetExpeditionDataScRsp",
            Self::CmdAcceptMultipleExpeditionCsReq => "CmdAcceptMultipleExpeditionCsReq",
            Self::CmdAcceptMultipleExpeditionScRsp => "CmdAcceptMultipleExpeditionScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OKPCOBCMOFF_NLCDGIPGFDJ" => Some(Self::OkpcobcmoffNlcdgipgfdj),
            "CmdTakeMultipleExpeditionRewardCsReq" => {
                Some(Self::CmdTakeMultipleExpeditionRewardCsReq)
            }
            "CmdGetExpeditionDataCsReq" => Some(Self::CmdGetExpeditionDataCsReq),
            "CmdTakeMultipleExpeditionRewardScRsp" => {
                Some(Self::CmdTakeMultipleExpeditionRewardScRsp)
            }
            "CmdHKCILGGEEFM" => Some(Self::CmdHkcilggeefm),
            "CmdGetExpeditionDataScRsp" => Some(Self::CmdGetExpeditionDataScRsp),
            "CmdAcceptMultipleExpeditionCsReq" => {
                Some(Self::CmdAcceptMultipleExpeditionCsReq)
            }
            "CmdAcceptMultipleExpeditionScRsp" => {
                Some(Self::CmdAcceptMultipleExpeditionScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: GJALOMOKFKK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFantasticStoryActivityType {
    GjalomokfkkNlcdgipgfdj = 0,
    CmdGetFantasticStoryActivityDataScRsp = 4978,
    CmdEnterFantasticStoryActivityStageScRsp = 4988,
    CmdEpmjekohnme = 4993,
    CmdEnterFantasticStoryActivityStageCsReq = 4958,
    CmdFantasticStoryActivityBattleEndScNotify = 4981,
    CmdGetFantasticStoryActivityDataCsReq = 4925,
}
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::GjalomokfkkNlcdgipgfdj => "GJALOMOKFKK_NLCDGIPGFDJ",
            Self::CmdGetFantasticStoryActivityDataScRsp => {
                "CmdGetFantasticStoryActivityDataScRsp"
            }
            Self::CmdEnterFantasticStoryActivityStageScRsp => {
                "CmdEnterFantasticStoryActivityStageScRsp"
            }
            Self::CmdEpmjekohnme => "CmdEPMJEKOHNME",
            Self::CmdEnterFantasticStoryActivityStageCsReq => {
                "CmdEnterFantasticStoryActivityStageCsReq"
            }
            Self::CmdFantasticStoryActivityBattleEndScNotify => {
                "CmdFantasticStoryActivityBattleEndScNotify"
            }
            Self::CmdGetFantasticStoryActivityDataCsReq => {
                "CmdGetFantasticStoryActivityDataCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJALOMOKFKK_NLCDGIPGFDJ" => Some(Self::GjalomokfkkNlcdgipgfdj),
            "CmdGetFantasticStoryActivityDataScRsp" => {
                Some(Self::CmdGetFantasticStoryActivityDataScRsp)
            }
            "CmdEnterFantasticStoryActivityStageScRsp" => {
                Some(Self::CmdEnterFantasticStoryActivityStageScRsp)
            }
            "CmdEPMJEKOHNME" => Some(Self::CmdEpmjekohnme),
            "CmdEnterFantasticStoryActivityStageCsReq" => {
                Some(Self::CmdEnterFantasticStoryActivityStageCsReq)
            }
            "CmdFantasticStoryActivityBattleEndScNotify" => {
                Some(Self::CmdFantasticStoryActivityBattleEndScNotify)
            }
            "CmdGetFantasticStoryActivityDataCsReq" => {
                Some(Self::CmdGetFantasticStoryActivityDataCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: DFNJFJBGLLP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFateType {
    DfnjfjbgllpNlcdgipgfdj = 0,
    CmdFateHandlePendingActionScRsp = 5965,
    CmdJolgfgcfmal = 5993,
    CmdFateBattleStartScRsp = 5998,
    CmdFateShopLeaveCsReq = 5952,
    CmdFateSyncPendingActionScNotify = 5958,
    CmdFateStartCsReq = 5987,
    CmdFateTakeExpRewardCsReq = 5976,
    CmdFateBattleStartCsReq = 5969,
    CmdFateShopBuyGoodsScRsp = 5971,
    CmdFateShopLockGoodsScRsp = 5956,
    CmdFateShopLeaveScRsp = 5964,
    CmdFateChangeLineupScRsp = 5957,
    CmdFateSyncActionResultScNotify = 5963,
    CmdFateShopRefreshGoodsCsReq = 5967,
    CmdFateShopBuyGoodsCsReq = 5960,
    CmdFateChangeLineupCsReq = 5953,
    CmdFateTakeExpRewardScRsp = 5995,
    CmdFateShopSellBuffCsReq = 5974,
    CmdFateStartScRsp = 5994,
    CmdFateSettleScNotify = 5990,
    CmdFgemjlfihhl = 5968,
    CmdFateShopRefreshGoodsScRsp = 5979,
    CmdFateQueryScRsp = 5973,
    CmdFateShopSellBuffScRsp = 5970,
    CmdFateShopLockGoodsCsReq = 5983,
    CmdFateQueryCsReq = 5959,
    CmdFateHandlePendingActionCsReq = 5985,
}
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::DfnjfjbgllpNlcdgipgfdj => "DFNJFJBGLLP_NLCDGIPGFDJ",
            Self::CmdFateHandlePendingActionScRsp => "CmdFateHandlePendingActionScRsp",
            Self::CmdJolgfgcfmal => "CmdJOLGFGCFMAL",
            Self::CmdFateBattleStartScRsp => "CmdFateBattleStartScRsp",
            Self::CmdFateShopLeaveCsReq => "CmdFateShopLeaveCsReq",
            Self::CmdFateSyncPendingActionScNotify => "CmdFateSyncPendingActionScNotify",
            Self::CmdFateStartCsReq => "CmdFateStartCsReq",
            Self::CmdFateTakeExpRewardCsReq => "CmdFateTakeExpRewardCsReq",
            Self::CmdFateBattleStartCsReq => "CmdFateBattleStartCsReq",
            Self::CmdFateShopBuyGoodsScRsp => "CmdFateShopBuyGoodsScRsp",
            Self::CmdFateShopLockGoodsScRsp => "CmdFateShopLockGoodsScRsp",
            Self::CmdFateShopLeaveScRsp => "CmdFateShopLeaveScRsp",
            Self::CmdFateChangeLineupScRsp => "CmdFateChangeLineupScRsp",
            Self::CmdFateSyncActionResultScNotify => "CmdFateSyncActionResultScNotify",
            Self::CmdFateShopRefreshGoodsCsReq => "CmdFateShopRefreshGoodsCsReq",
            Self::CmdFateShopBuyGoodsCsReq => "CmdFateShopBuyGoodsCsReq",
            Self::CmdFateChangeLineupCsReq => "CmdFateChangeLineupCsReq",
            Self::CmdFateTakeExpRewardScRsp => "CmdFateTakeExpRewardScRsp",
            Self::CmdFateShopSellBuffCsReq => "CmdFateShopSellBuffCsReq",
            Self::CmdFateStartScRsp => "CmdFateStartScRsp",
            Self::CmdFateSettleScNotify => "CmdFateSettleScNotify",
            Self::CmdFgemjlfihhl => "CmdFGEMJLFIHHL",
            Self::CmdFateShopRefreshGoodsScRsp => "CmdFateShopRefreshGoodsScRsp",
            Self::CmdFateQueryScRsp => "CmdFateQueryScRsp",
            Self::CmdFateShopSellBuffScRsp => "CmdFateShopSellBuffScRsp",
            Self::CmdFateShopLockGoodsCsReq => "CmdFateShopLockGoodsCsReq",
            Self::CmdFateQueryCsReq => "CmdFateQueryCsReq",
            Self::CmdFateHandlePendingActionCsReq => "CmdFateHandlePendingActionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DFNJFJBGLLP_NLCDGIPGFDJ" => Some(Self::DfnjfjbgllpNlcdgipgfdj),
            "CmdFateHandlePendingActionScRsp" => {
                Some(Self::CmdFateHandlePendingActionScRsp)
            }
            "CmdJOLGFGCFMAL" => Some(Self::CmdJolgfgcfmal),
            "CmdFateBattleStartScRsp" => Some(Self::CmdFateBattleStartScRsp),
            "CmdFateShopLeaveCsReq" => Some(Self::CmdFateShopLeaveCsReq),
            "CmdFateSyncPendingActionScNotify" => {
                Some(Self::CmdFateSyncPendingActionScNotify)
            }
            "CmdFateStartCsReq" => Some(Self::CmdFateStartCsReq),
            "CmdFateTakeExpRewardCsReq" => Some(Self::CmdFateTakeExpRewardCsReq),
            "CmdFateBattleStartCsReq" => Some(Self::CmdFateBattleStartCsReq),
            "CmdFateShopBuyGoodsScRsp" => Some(Self::CmdFateShopBuyGoodsScRsp),
            "CmdFateShopLockGoodsScRsp" => Some(Self::CmdFateShopLockGoodsScRsp),
            "CmdFateShopLeaveScRsp" => Some(Self::CmdFateShopLeaveScRsp),
            "CmdFateChangeLineupScRsp" => Some(Self::CmdFateChangeLineupScRsp),
            "CmdFateSyncActionResultScNotify" => {
                Some(Self::CmdFateSyncActionResultScNotify)
            }
            "CmdFateShopRefreshGoodsCsReq" => Some(Self::CmdFateShopRefreshGoodsCsReq),
            "CmdFateShopBuyGoodsCsReq" => Some(Self::CmdFateShopBuyGoodsCsReq),
            "CmdFateChangeLineupCsReq" => Some(Self::CmdFateChangeLineupCsReq),
            "CmdFateTakeExpRewardScRsp" => Some(Self::CmdFateTakeExpRewardScRsp),
            "CmdFateShopSellBuffCsReq" => Some(Self::CmdFateShopSellBuffCsReq),
            "CmdFateStartScRsp" => Some(Self::CmdFateStartScRsp),
            "CmdFateSettleScNotify" => Some(Self::CmdFateSettleScNotify),
            "CmdFGEMJLFIHHL" => Some(Self::CmdFgemjlfihhl),
            "CmdFateShopRefreshGoodsScRsp" => Some(Self::CmdFateShopRefreshGoodsScRsp),
            "CmdFateQueryScRsp" => Some(Self::CmdFateQueryScRsp),
            "CmdFateShopSellBuffScRsp" => Some(Self::CmdFateShopSellBuffScRsp),
            "CmdFateShopLockGoodsCsReq" => Some(Self::CmdFateShopLockGoodsCsReq),
            "CmdFateQueryCsReq" => Some(Self::CmdFateQueryCsReq),
            "CmdFateHandlePendingActionCsReq" => {
                Some(Self::CmdFateHandlePendingActionCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Emfdlpnogoh {
    Nlcdgipgfdj = 0,
    Ngphflbnhkb = 1,
    Kbaenngpmph = 2,
    Gkhjmgphdbk = 3,
    Chgjlddjjah = 4,
    Fbkmdmlbnii = 5,
    Madbilbkoao = 6,
}
impl Emfdlpnogoh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "EMFDLPNOGOH_NLCDGIPGFDJ",
            Self::Ngphflbnhkb => "EMFDLPNOGOH_NGPHFLBNHKB",
            Self::Kbaenngpmph => "EMFDLPNOGOH_KBAENNGPMPH",
            Self::Gkhjmgphdbk => "EMFDLPNOGOH_GKHJMGPHDBK",
            Self::Chgjlddjjah => "EMFDLPNOGOH_CHGJLDDJJAH",
            Self::Fbkmdmlbnii => "EMFDLPNOGOH_FBKMDMLBNII",
            Self::Madbilbkoao => "EMFDLPNOGOH_MADBILBKOAO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EMFDLPNOGOH_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "EMFDLPNOGOH_NGPHFLBNHKB" => Some(Self::Ngphflbnhkb),
            "EMFDLPNOGOH_KBAENNGPMPH" => Some(Self::Kbaenngpmph),
            "EMFDLPNOGOH_GKHJMGPHDBK" => Some(Self::Gkhjmgphdbk),
            "EMFDLPNOGOH_CHGJLDDJJAH" => Some(Self::Chgjlddjjah),
            "EMFDLPNOGOH_FBKMDMLBNII" => Some(Self::Fbkmdmlbnii),
            "EMFDLPNOGOH_MADBILBKOAO" => Some(Self::Madbilbkoao),
            _ => None,
        }
    }
}
/// Obf: KNGLNMKNGJD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FateMasterStatusType {
    KnglnmkngjdNlcdgipgfdj = 0,
    KnglnmkngjdLcnjhoklmpn = 1,
    KnglnmkngjdJjbepklolcp = 2,
    KnglnmkngjdPebnpkocadn = 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::KnglnmkngjdNlcdgipgfdj => "KNGLNMKNGJD_NLCDGIPGFDJ",
            Self::KnglnmkngjdLcnjhoklmpn => "KNGLNMKNGJD_LCNJHOKLMPN",
            Self::KnglnmkngjdJjbepklolcp => "KNGLNMKNGJD_JJBEPKLOLCP",
            Self::KnglnmkngjdPebnpkocadn => "KNGLNMKNGJD_PEBNPKOCADN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KNGLNMKNGJD_NLCDGIPGFDJ" => Some(Self::KnglnmkngjdNlcdgipgfdj),
            "KNGLNMKNGJD_LCNJHOKLMPN" => Some(Self::KnglnmkngjdLcnjhoklmpn),
            "KNGLNMKNGJD_JJBEPKLOLCP" => Some(Self::KnglnmkngjdJjbepklolcp),
            "KNGLNMKNGJD_PEBNPKOCADN" => Some(Self::KnglnmkngjdPebnpkocadn),
            _ => None,
        }
    }
}
/// Obf: NAEGJBPBAGK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFateRinType {
    NaegjbpbagkNlcdgipgfdj = 0,
    CmdFateRinStartChallengeFightCsReq = 9865,
    CmdFateRinStartStoryFightScRsp = 9874,
    CmdFateRinStartHouguMapFightScRsp = 9881,
    CmdFateRinStartHouguMapFightCsReq = 9895,
    CmdEilmegelllj = 9867,
    CmdFateRinStartStoryFightCsReq = 9897,
    CmdKdmoonkplpi = 9898,
    CmdDnnncipmpkh = 9873,
    CmdNcboendmdic = 9870,
    CmdGoelkobocdi = 9872,
    CmdAikichnepke = 9893,
    CmdGhclliagdep = 9878,
    CmdPmehlelafji = 9883,
    CmdKnljdbnopkd = 9890,
    CmdDieodgppedc = 9896,
    CmdFateRinStartChallengeFightScRsp = 9884,
    CmdPpgfkfiaahl = 9876,
    CmdFnhbhpdjacf = 9879,
    CmdOcoekdndegj = 9869,
}
impl CmdFateRinType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NaegjbpbagkNlcdgipgfdj => "NAEGJBPBAGK_NLCDGIPGFDJ",
            Self::CmdFateRinStartChallengeFightCsReq => {
                "CmdFateRinStartChallengeFightCsReq"
            }
            Self::CmdFateRinStartStoryFightScRsp => "CmdFateRinStartStoryFightScRsp",
            Self::CmdFateRinStartHouguMapFightScRsp => {
                "CmdFateRinStartHouguMapFightScRsp"
            }
            Self::CmdFateRinStartHouguMapFightCsReq => {
                "CmdFateRinStartHouguMapFightCsReq"
            }
            Self::CmdEilmegelllj => "CmdEILMEGELLLJ",
            Self::CmdFateRinStartStoryFightCsReq => "CmdFateRinStartStoryFightCsReq",
            Self::CmdKdmoonkplpi => "CmdKDMOONKPLPI",
            Self::CmdDnnncipmpkh => "CmdDNNNCIPMPKH",
            Self::CmdNcboendmdic => "CmdNCBOENDMDIC",
            Self::CmdGoelkobocdi => "CmdGOELKOBOCDI",
            Self::CmdAikichnepke => "CmdAIKICHNEPKE",
            Self::CmdGhclliagdep => "CmdGHCLLIAGDEP",
            Self::CmdPmehlelafji => "CmdPMEHLELAFJI",
            Self::CmdKnljdbnopkd => "CmdKNLJDBNOPKD",
            Self::CmdDieodgppedc => "CmdDIEODGPPEDC",
            Self::CmdFateRinStartChallengeFightScRsp => {
                "CmdFateRinStartChallengeFightScRsp"
            }
            Self::CmdPpgfkfiaahl => "CmdPPGFKFIAAHL",
            Self::CmdFnhbhpdjacf => "CmdFNHBHPDJACF",
            Self::CmdOcoekdndegj => "CmdOCOEKDNDEGJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NAEGJBPBAGK_NLCDGIPGFDJ" => Some(Self::NaegjbpbagkNlcdgipgfdj),
            "CmdFateRinStartChallengeFightCsReq" => {
                Some(Self::CmdFateRinStartChallengeFightCsReq)
            }
            "CmdFateRinStartStoryFightScRsp" => {
                Some(Self::CmdFateRinStartStoryFightScRsp)
            }
            "CmdFateRinStartHouguMapFightScRsp" => {
                Some(Self::CmdFateRinStartHouguMapFightScRsp)
            }
            "CmdFateRinStartHouguMapFightCsReq" => {
                Some(Self::CmdFateRinStartHouguMapFightCsReq)
            }
            "CmdEILMEGELLLJ" => Some(Self::CmdEilmegelllj),
            "CmdFateRinStartStoryFightCsReq" => {
                Some(Self::CmdFateRinStartStoryFightCsReq)
            }
            "CmdKDMOONKPLPI" => Some(Self::CmdKdmoonkplpi),
            "CmdDNNNCIPMPKH" => Some(Self::CmdDnnncipmpkh),
            "CmdNCBOENDMDIC" => Some(Self::CmdNcboendmdic),
            "CmdGOELKOBOCDI" => Some(Self::CmdGoelkobocdi),
            "CmdAIKICHNEPKE" => Some(Self::CmdAikichnepke),
            "CmdGHCLLIAGDEP" => Some(Self::CmdGhclliagdep),
            "CmdPMEHLELAFJI" => Some(Self::CmdPmehlelafji),
            "CmdKNLJDBNOPKD" => Some(Self::CmdKnljdbnopkd),
            "CmdDIEODGPPEDC" => Some(Self::CmdDieodgppedc),
            "CmdFateRinStartChallengeFightScRsp" => {
                Some(Self::CmdFateRinStartChallengeFightScRsp)
            }
            "CmdPPGFKFIAAHL" => Some(Self::CmdPpgfkfiaahl),
            "CmdFNHBHPDJACF" => Some(Self::CmdFnhbhpdjacf),
            "CmdOCOEKDNDEGJ" => Some(Self::CmdOcoekdndegj),
            _ => None,
        }
    }
}
/// Obf: BJJBIJMNDCA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFeverTimeActivityType {
    BjjbijmndcaNlcdgipgfdj = 0,
    CmdEnterFeverTimeActivityStageScRsp = 7151,
    CmdGetFeverTimeActivityDataCsReq = 7155,
    CmdEnterFeverTimeActivityStageCsReq = 7160,
    CmdFeverTimeActivityBattleEndScNotify = 7153,
    CmdGetFeverTimeActivityDataScRsp = 7154,
}
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::BjjbijmndcaNlcdgipgfdj => "BJJBIJMNDCA_NLCDGIPGFDJ",
            Self::CmdEnterFeverTimeActivityStageScRsp => {
                "CmdEnterFeverTimeActivityStageScRsp"
            }
            Self::CmdGetFeverTimeActivityDataCsReq => "CmdGetFeverTimeActivityDataCsReq",
            Self::CmdEnterFeverTimeActivityStageCsReq => {
                "CmdEnterFeverTimeActivityStageCsReq"
            }
            Self::CmdFeverTimeActivityBattleEndScNotify => {
                "CmdFeverTimeActivityBattleEndScNotify"
            }
            Self::CmdGetFeverTimeActivityDataScRsp => "CmdGetFeverTimeActivityDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BJJBIJMNDCA_NLCDGIPGFDJ" => Some(Self::BjjbijmndcaNlcdgipgfdj),
            "CmdEnterFeverTimeActivityStageScRsp" => {
                Some(Self::CmdEnterFeverTimeActivityStageScRsp)
            }
            "CmdGetFeverTimeActivityDataCsReq" => {
                Some(Self::CmdGetFeverTimeActivityDataCsReq)
            }
            "CmdEnterFeverTimeActivityStageCsReq" => {
                Some(Self::CmdEnterFeverTimeActivityStageCsReq)
            }
            "CmdFeverTimeActivityBattleEndScNotify" => {
                Some(Self::CmdFeverTimeActivityBattleEndScNotify)
            }
            "CmdGetFeverTimeActivityDataScRsp" => {
                Some(Self::CmdGetFeverTimeActivityDataScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: NNNPOIJENJC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FeverTimeBattleRank {
    NnnpoijenjcPicligeajfn = 0,
    NnnpoijenjcOgpnodhenkn = 1,
    NnnpoijenjcJpdbdleehgk = 2,
    NnnpoijenjcBmhmmimoaij = 3,
    NnnpoijenjcDcgapngcceh = 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::NnnpoijenjcPicligeajfn => "NNNPOIJENJC_PICLIGEAJFN",
            Self::NnnpoijenjcOgpnodhenkn => "NNNPOIJENJC_OGPNODHENKN",
            Self::NnnpoijenjcJpdbdleehgk => "NNNPOIJENJC_JPDBDLEEHGK",
            Self::NnnpoijenjcBmhmmimoaij => "NNNPOIJENJC_BMHMMIMOAIJ",
            Self::NnnpoijenjcDcgapngcceh => "NNNPOIJENJC_DCGAPNGCCEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NNNPOIJENJC_PICLIGEAJFN" => Some(Self::NnnpoijenjcPicligeajfn),
            "NNNPOIJENJC_OGPNODHENKN" => Some(Self::NnnpoijenjcOgpnodhenkn),
            "NNNPOIJENJC_JPDBDLEEHGK" => Some(Self::NnnpoijenjcJpdbdleehgk),
            "NNNPOIJENJC_BMHMMIMOAIJ" => Some(Self::NnnpoijenjcBmhmmimoaij),
            "NNNPOIJENJC_DCGAPNGCCEH" => Some(Self::NnnpoijenjcDcgapngcceh),
            _ => None,
        }
    }
}
/// Obf: DLBLIJPDMLM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightType {
    DlblijpdmlmNlcdgipgfdj = 0,
    CmdImkkkjfheio = 30081,
    CmdJeoilkkmkcn = 30078,
    CmdOeamnaajjhi = 30088,
    CmdComjkpomila = 30013,
    CmdMcklincmdkk = 30047,
    CmdKijefpfaijc = 30025,
    CmdFemjlemcefd = 30093,
    CmdIcklaninjdb = 30026,
    CmdOocnbnhoici = 30086,
}
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::DlblijpdmlmNlcdgipgfdj => "DLBLIJPDMLM_NLCDGIPGFDJ",
            Self::CmdImkkkjfheio => "CmdIMKKKJFHEIO",
            Self::CmdJeoilkkmkcn => "CmdJEOILKKMKCN",
            Self::CmdOeamnaajjhi => "CmdOEAMNAAJJHI",
            Self::CmdComjkpomila => "CmdCOMJKPOMILA",
            Self::CmdMcklincmdkk => "CmdMCKLINCMDKK",
            Self::CmdKijefpfaijc => "CmdKIJEFPFAIJC",
            Self::CmdFemjlemcefd => "CmdFEMJLEMCEFD",
            Self::CmdIcklaninjdb => "CmdICKLANINJDB",
            Self::CmdOocnbnhoici => "CmdOOCNBNHOICI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DLBLIJPDMLM_NLCDGIPGFDJ" => Some(Self::DlblijpdmlmNlcdgipgfdj),
            "CmdIMKKKJFHEIO" => Some(Self::CmdImkkkjfheio),
            "CmdJEOILKKMKCN" => Some(Self::CmdJeoilkkmkcn),
            "CmdOEAMNAAJJHI" => Some(Self::CmdOeamnaajjhi),
            "CmdCOMJKPOMILA" => Some(Self::CmdComjkpomila),
            "CmdMCKLINCMDKK" => Some(Self::CmdMcklincmdkk),
            "CmdKIJEFPFAIJC" => Some(Self::CmdKijefpfaijc),
            "CmdFEMJLEMCEFD" => Some(Self::CmdFemjlemcefd),
            "CmdICKLANINJDB" => Some(Self::CmdIcklaninjdb),
            "CmdOOCNBNHOICI" => Some(Self::CmdOocnbnhoici),
            _ => None,
        }
    }
}
/// Obf: EJNCEADPKFE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightActivityType {
    EjnceadpkfeNlcdgipgfdj = 0,
    CmdEnterFightActivityStageScRsp = 3688,
    CmdEnterFightActivityStageCsReq = 3658,
    CmdGetFightActivityDataCsReq = 3625,
    CmdTakeFightActivityRewardCsReq = 3681,
    CmdFightActivityDataChangeScNotify = 3693,
    CmdTakeFightActivityRewardScRsp = 3686,
    CmdGetFightActivityDataScRsp = 3678,
}
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::EjnceadpkfeNlcdgipgfdj => "EJNCEADPKFE_NLCDGIPGFDJ",
            Self::CmdEnterFightActivityStageScRsp => "CmdEnterFightActivityStageScRsp",
            Self::CmdEnterFightActivityStageCsReq => "CmdEnterFightActivityStageCsReq",
            Self::CmdGetFightActivityDataCsReq => "CmdGetFightActivityDataCsReq",
            Self::CmdTakeFightActivityRewardCsReq => "CmdTakeFightActivityRewardCsReq",
            Self::CmdFightActivityDataChangeScNotify => {
                "CmdFightActivityDataChangeScNotify"
            }
            Self::CmdTakeFightActivityRewardScRsp => "CmdTakeFightActivityRewardScRsp",
            Self::CmdGetFightActivityDataScRsp => "CmdGetFightActivityDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJNCEADPKFE_NLCDGIPGFDJ" => Some(Self::EjnceadpkfeNlcdgipgfdj),
            "CmdEnterFightActivityStageScRsp" => {
                Some(Self::CmdEnterFightActivityStageScRsp)
            }
            "CmdEnterFightActivityStageCsReq" => {
                Some(Self::CmdEnterFightActivityStageCsReq)
            }
            "CmdGetFightActivityDataCsReq" => Some(Self::CmdGetFightActivityDataCsReq),
            "CmdTakeFightActivityRewardCsReq" => {
                Some(Self::CmdTakeFightActivityRewardCsReq)
            }
            "CmdFightActivityDataChangeScNotify" => {
                Some(Self::CmdFightActivityDataChangeScNotify)
            }
            "CmdTakeFightActivityRewardScRsp" => {
                Some(Self::CmdTakeFightActivityRewardScRsp)
            }
            "CmdGetFightActivityDataScRsp" => Some(Self::CmdGetFightActivityDataScRsp),
            _ => None,
        }
    }
}
/// Obf: AHCMDPLMIDA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightCakeRaceType {
    AhcmdplmidaNlcdgipgfdj = 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::AhcmdplmidaNlcdgipgfdj => "AHCMDPLMIDA_NLCDGIPGFDJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AHCMDPLMIDA_NLCDGIPGFDJ" => Some(Self::AhcmdplmidaNlcdgipgfdj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bohnfjpidad {
    Nlcdgipgfdj = 0,
    Mldhbkbfnep = 1,
}
impl Bohnfjpidad {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BOHNFJPIDAD_NLCDGIPGFDJ",
            Self::Mldhbkbfnep => "BOHNFJPIDAD_MLDHBKBFNEP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BOHNFJPIDAD_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BOHNFJPIDAD_MLDHBKBFNEP" => Some(Self::Mldhbkbfnep),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Eilnmpefgom {
    Gfhlakinnhj = 0,
    Ejnnnnclnii = 1,
    Onflolaeafn = 2,
    Kgmghcgeccp = 3,
}
impl Eilnmpefgom {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gfhlakinnhj => "EILNMPEFGOM_GFHLAKINNHJ",
            Self::Ejnnnnclnii => "EILNMPEFGOM_EJNNNNCLNII",
            Self::Onflolaeafn => "EILNMPEFGOM_ONFLOLAEAFN",
            Self::Kgmghcgeccp => "EILNMPEFGOM_KGMGHCGECCP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EILNMPEFGOM_GFHLAKINNHJ" => Some(Self::Gfhlakinnhj),
            "EILNMPEFGOM_EJNNNNCLNII" => Some(Self::Ejnnnnclnii),
            "EILNMPEFGOM_ONFLOLAEAFN" => Some(Self::Onflolaeafn),
            "EILNMPEFGOM_KGMGHCGECCP" => Some(Self::Kgmghcgeccp),
            _ => None,
        }
    }
}
/// Obf: FKFINHPOMMA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightDiceCombatType {
    FkfinhpommaNlcdgipgfdj = 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::FkfinhpommaNlcdgipgfdj => "FKFINHPOMMA_NLCDGIPGFDJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FKFINHPOMMA_NLCDGIPGFDJ" => Some(Self::FkfinhpommaNlcdgipgfdj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jofkfnhdgik {
    Nlcdgipgfdj = 0,
    Mldhbkbfnep = 1,
    Pjddkpfnmjp = 2,
}
impl Jofkfnhdgik {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JOFKFNHDGIK_NLCDGIPGFDJ",
            Self::Mldhbkbfnep => "JOFKFNHDGIK_MLDHBKBFNEP",
            Self::Pjddkpfnmjp => "JOFKFNHDGIK_PJDDKPFNMJP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JOFKFNHDGIK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JOFKFNHDGIK_MLDHBKBFNEP" => Some(Self::Mldhbkbfnep),
            "JOFKFNHDGIK_PJDDKPFNMJP" => Some(Self::Pjddkpfnmjp),
            _ => None,
        }
    }
}
/// Obf: FLLKHDMHGEJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightFestType {
    FllkhdmhgejNlcdgipgfdj = 0,
    CmdGetFightFestDataScRsp = 7273,
    CmdFightFestUpdateCoinNotify = 7257,
    CmdFightFestUpdateChallengeRecordNotify = 7253,
    CmdStartFightFestScRsp = 7294,
    CmdFightFestScoreUpdateNotify = 7269,
    CmdStartFightFestCsReq = 7287,
    CmdFightFestUnlockSkillNotify = 7298,
    CmdGetFightFestDataCsReq = 7259,
}
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::FllkhdmhgejNlcdgipgfdj => "FLLKHDMHGEJ_NLCDGIPGFDJ",
            Self::CmdGetFightFestDataScRsp => "CmdGetFightFestDataScRsp",
            Self::CmdFightFestUpdateCoinNotify => "CmdFightFestUpdateCoinNotify",
            Self::CmdFightFestUpdateChallengeRecordNotify => {
                "CmdFightFestUpdateChallengeRecordNotify"
            }
            Self::CmdStartFightFestScRsp => "CmdStartFightFestScRsp",
            Self::CmdFightFestScoreUpdateNotify => "CmdFightFestScoreUpdateNotify",
            Self::CmdStartFightFestCsReq => "CmdStartFightFestCsReq",
            Self::CmdFightFestUnlockSkillNotify => "CmdFightFestUnlockSkillNotify",
            Self::CmdGetFightFestDataCsReq => "CmdGetFightFestDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FLLKHDMHGEJ_NLCDGIPGFDJ" => Some(Self::FllkhdmhgejNlcdgipgfdj),
            "CmdGetFightFestDataScRsp" => Some(Self::CmdGetFightFestDataScRsp),
            "CmdFightFestUpdateCoinNotify" => Some(Self::CmdFightFestUpdateCoinNotify),
            "CmdFightFestUpdateChallengeRecordNotify" => {
                Some(Self::CmdFightFestUpdateChallengeRecordNotify)
            }
            "CmdStartFightFestScRsp" => Some(Self::CmdStartFightFestScRsp),
            "CmdFightFestScoreUpdateNotify" => Some(Self::CmdFightFestScoreUpdateNotify),
            "CmdStartFightFestCsReq" => Some(Self::CmdStartFightFestCsReq),
            "CmdFightFestUnlockSkillNotify" => Some(Self::CmdFightFestUnlockSkillNotify),
            "CmdGetFightFestDataCsReq" => Some(Self::CmdGetFightFestDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bglimcbglaj {
    Picligeajfn = 0,
    Ogpnodhenkn = 1,
    Jpdbdleehgk = 2,
    Bmhmmimoaij = 3,
    Dcgapngcceh = 4,
}
impl Bglimcbglaj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Picligeajfn => "BGLIMCBGLAJ_PICLIGEAJFN",
            Self::Ogpnodhenkn => "BGLIMCBGLAJ_OGPNODHENKN",
            Self::Jpdbdleehgk => "BGLIMCBGLAJ_JPDBDLEEHGK",
            Self::Bmhmmimoaij => "BGLIMCBGLAJ_BMHMMIMOAIJ",
            Self::Dcgapngcceh => "BGLIMCBGLAJ_DCGAPNGCCEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BGLIMCBGLAJ_PICLIGEAJFN" => Some(Self::Picligeajfn),
            "BGLIMCBGLAJ_OGPNODHENKN" => Some(Self::Ogpnodhenkn),
            "BGLIMCBGLAJ_JPDBDLEEHGK" => Some(Self::Jpdbdleehgk),
            "BGLIMCBGLAJ_BMHMMIMOAIJ" => Some(Self::Bmhmmimoaij),
            "BGLIMCBGLAJ_DCGAPNGCCEH" => Some(Self::Dcgapngcceh),
            _ => None,
        }
    }
}
/// Obf: OGOJLBNJKCN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightFestType {
    OgojlbnjkcnNlcdgipgfdj = 0,
    OgojlbnjkcnIbaadninfcg = 1,
    OgojlbnjkcnScoreId = 2,
    OgojlbnjkcnOcdlpddmclp = 3,
    OgojlbnjkcnHngbfgallbi = 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::OgojlbnjkcnNlcdgipgfdj => "OGOJLBNJKCN_NLCDGIPGFDJ",
            Self::OgojlbnjkcnIbaadninfcg => "OGOJLBNJKCN_IBAADNINFCG",
            Self::OgojlbnjkcnScoreId => "OGOJLBNJKCN_score_id",
            Self::OgojlbnjkcnOcdlpddmclp => "OGOJLBNJKCN_OCDLPDDMCLP",
            Self::OgojlbnjkcnHngbfgallbi => "OGOJLBNJKCN_HNGBFGALLBI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OGOJLBNJKCN_NLCDGIPGFDJ" => Some(Self::OgojlbnjkcnNlcdgipgfdj),
            "OGOJLBNJKCN_IBAADNINFCG" => Some(Self::OgojlbnjkcnIbaadninfcg),
            "OGOJLBNJKCN_score_id" => Some(Self::OgojlbnjkcnScoreId),
            "OGOJLBNJKCN_OCDLPDDMCLP" => Some(Self::OgojlbnjkcnOcdlpddmclp),
            "OGOJLBNJKCN_HNGBFGALLBI" => Some(Self::OgojlbnjkcnHngbfgallbi),
            _ => None,
        }
    }
}
/// Obf: CMCLMBIODNG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMarbleType {
    CmclmbiodngNlcdgipgfdj = 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::CmclmbiodngNlcdgipgfdj => "CMCLMBIODNG_NLCDGIPGFDJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CMCLMBIODNG_NLCDGIPGFDJ" => Some(Self::CmclmbiodngNlcdgipgfdj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Klfjlaplpbf {
    Nlcdgipgfdj = 0,
    Mldhbkbfnep = 1,
    Hephjjolhpi = 2,
}
impl Klfjlaplpbf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "KLFJLAPLPBF_NLCDGIPGFDJ",
            Self::Mldhbkbfnep => "KLFJLAPLPBF_MLDHBKBFNEP",
            Self::Hephjjolhpi => "KLFJLAPLPBF_HEPHJJOLHPI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KLFJLAPLPBF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "KLFJLAPLPBF_MLDHBKBFNEP" => Some(Self::Mldhbkbfnep),
            "KLFJLAPLPBF_HEPHJJOLHPI" => Some(Self::Hephjjolhpi),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ejlgeokijkh {
    Fofdfiogidl = 0,
    Nndokebimlb = 1,
    Hegggobclfc = 2,
}
impl Ejlgeokijkh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fofdfiogidl => "EJLGEOKIJKH_FOFDFIOGIDL",
            Self::Nndokebimlb => "EJLGEOKIJKH_NNDOKEBIMLB",
            Self::Hegggobclfc => "EJLGEOKIJKH_HEGGGOBCLFC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJLGEOKIJKH_FOFDFIOGIDL" => Some(Self::Fofdfiogidl),
            "EJLGEOKIJKH_NNDOKEBIMLB" => Some(Self::Nndokebimlb),
            "EJLGEOKIJKH_HEGGGOBCLFC" => Some(Self::Hegggobclfc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hejphkgcnba {
    Mhfphnmdbpd = 0,
    Obapbcobibk = 1,
    Gojhjnmnkfg = 2,
}
impl Hejphkgcnba {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Mhfphnmdbpd => "HEJPHKGCNBA_MHFPHNMDBPD",
            Self::Obapbcobibk => "HEJPHKGCNBA_OBAPBCOBIBK",
            Self::Gojhjnmnkfg => "HEJPHKGCNBA_GOJHJNMNKFG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HEJPHKGCNBA_MHFPHNMDBPD" => Some(Self::Mhfphnmdbpd),
            "HEJPHKGCNBA_OBAPBCOBIBK" => Some(Self::Obapbcobibk),
            "HEJPHKGCNBA_GOJHJNMNKFG" => Some(Self::Gojhjnmnkfg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ckhkfieaaii {
    Fmiedhlaedm = 0,
    Hlbjlabholb = 1,
    Hblhgllhkho = 2,
    Iogookpkjdd = 3,
    Foimhfaeagi = 4,
    Dhjdidmplpb = 6,
    Ppnpjlgiagf = 7,
    Cdlmpboaikb = 8,
    Hcebgaedpjk = 9,
    Jmaedengfdg = 10,
}
impl Ckhkfieaaii {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fmiedhlaedm => "CKHKFIEAAII_FMIEDHLAEDM",
            Self::Hlbjlabholb => "CKHKFIEAAII_HLBJLABHOLB",
            Self::Hblhgllhkho => "CKHKFIEAAII_HBLHGLLHKHO",
            Self::Iogookpkjdd => "CKHKFIEAAII_IOGOOKPKJDD",
            Self::Foimhfaeagi => "CKHKFIEAAII_FOIMHFAEAGI",
            Self::Dhjdidmplpb => "CKHKFIEAAII_DHJDIDMPLPB",
            Self::Ppnpjlgiagf => "CKHKFIEAAII_PPNPJLGIAGF",
            Self::Cdlmpboaikb => "CKHKFIEAAII_CDLMPBOAIKB",
            Self::Hcebgaedpjk => "CKHKFIEAAII_HCEBGAEDPJK",
            Self::Jmaedengfdg => "CKHKFIEAAII_JMAEDENGFDG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CKHKFIEAAII_FMIEDHLAEDM" => Some(Self::Fmiedhlaedm),
            "CKHKFIEAAII_HLBJLABHOLB" => Some(Self::Hlbjlabholb),
            "CKHKFIEAAII_HBLHGLLHKHO" => Some(Self::Hblhgllhkho),
            "CKHKFIEAAII_IOGOOKPKJDD" => Some(Self::Iogookpkjdd),
            "CKHKFIEAAII_FOIMHFAEAGI" => Some(Self::Foimhfaeagi),
            "CKHKFIEAAII_DHJDIDMPLPB" => Some(Self::Dhjdidmplpb),
            "CKHKFIEAAII_PPNPJLGIAGF" => Some(Self::Ppnpjlgiagf),
            "CKHKFIEAAII_CDLMPBOAIKB" => Some(Self::Cdlmpboaikb),
            "CKHKFIEAAII_HCEBGAEDPJK" => Some(Self::Hcebgaedpjk),
            "CKHKFIEAAII_JMAEDENGFDG" => Some(Self::Jmaedengfdg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cihoeepibai {
    Dfpnldkhgmm = 0,
    Bjpopncpjkb = 1,
    Pieekeenfac = 2,
    Cenccghmebl = 3,
    Flgfimkbipb = 4,
    Oafkpndmomo = 5,
    Lfcjcdeoacg = 6,
    Mamaeimcakk = 7,
    Oonlipmoiad = 8,
    Ccappckpbcp = 9,
    Fkcinenkmoo = 10,
    Paljmgohobn = 11,
    Nbnkmebbbfh = 12,
    Pdaainoobem = 13,
    Elacjcmmaig = 14,
    Dilhejlbobi = 15,
    Fggmmahafjd = 16,
    Okancjmdehg = 17,
    Ciaknimkcbf = 18,
    Fmhhmpojnkf = 19,
    Pimbhpflakc = 20,
    Hmkchihcpmn = 21,
    Fhnefoionmb = 22,
    Alohliibcid = 23,
    Jkbigfofalo = 24,
    Hhgckkdlkce = 25,
    Ghejgfjdfge = 26,
}
impl Cihoeepibai {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dfpnldkhgmm => "CIHOEEPIBAI_DFPNLDKHGMM",
            Self::Bjpopncpjkb => "CIHOEEPIBAI_BJPOPNCPJKB",
            Self::Pieekeenfac => "CIHOEEPIBAI_PIEEKEENFAC",
            Self::Cenccghmebl => "CIHOEEPIBAI_CENCCGHMEBL",
            Self::Flgfimkbipb => "CIHOEEPIBAI_FLGFIMKBIPB",
            Self::Oafkpndmomo => "CIHOEEPIBAI_OAFKPNDMOMO",
            Self::Lfcjcdeoacg => "CIHOEEPIBAI_LFCJCDEOACG",
            Self::Mamaeimcakk => "CIHOEEPIBAI_MAMAEIMCAKK",
            Self::Oonlipmoiad => "CIHOEEPIBAI_OONLIPMOIAD",
            Self::Ccappckpbcp => "CIHOEEPIBAI_CCAPPCKPBCP",
            Self::Fkcinenkmoo => "CIHOEEPIBAI_FKCINENKMOO",
            Self::Paljmgohobn => "CIHOEEPIBAI_PALJMGOHOBN",
            Self::Nbnkmebbbfh => "CIHOEEPIBAI_NBNKMEBBBFH",
            Self::Pdaainoobem => "CIHOEEPIBAI_PDAAINOOBEM",
            Self::Elacjcmmaig => "CIHOEEPIBAI_ELACJCMMAIG",
            Self::Dilhejlbobi => "CIHOEEPIBAI_DILHEJLBOBI",
            Self::Fggmmahafjd => "CIHOEEPIBAI_FGGMMAHAFJD",
            Self::Okancjmdehg => "CIHOEEPIBAI_OKANCJMDEHG",
            Self::Ciaknimkcbf => "CIHOEEPIBAI_CIAKNIMKCBF",
            Self::Fmhhmpojnkf => "CIHOEEPIBAI_FMHHMPOJNKF",
            Self::Pimbhpflakc => "CIHOEEPIBAI_PIMBHPFLAKC",
            Self::Hmkchihcpmn => "CIHOEEPIBAI_HMKCHIHCPMN",
            Self::Fhnefoionmb => "CIHOEEPIBAI_FHNEFOIONMB",
            Self::Alohliibcid => "CIHOEEPIBAI_ALOHLIIBCID",
            Self::Jkbigfofalo => "CIHOEEPIBAI_JKBIGFOFALO",
            Self::Hhgckkdlkce => "CIHOEEPIBAI_HHGCKKDLKCE",
            Self::Ghejgfjdfge => "CIHOEEPIBAI_GHEJGFJDFGE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CIHOEEPIBAI_DFPNLDKHGMM" => Some(Self::Dfpnldkhgmm),
            "CIHOEEPIBAI_BJPOPNCPJKB" => Some(Self::Bjpopncpjkb),
            "CIHOEEPIBAI_PIEEKEENFAC" => Some(Self::Pieekeenfac),
            "CIHOEEPIBAI_CENCCGHMEBL" => Some(Self::Cenccghmebl),
            "CIHOEEPIBAI_FLGFIMKBIPB" => Some(Self::Flgfimkbipb),
            "CIHOEEPIBAI_OAFKPNDMOMO" => Some(Self::Oafkpndmomo),
            "CIHOEEPIBAI_LFCJCDEOACG" => Some(Self::Lfcjcdeoacg),
            "CIHOEEPIBAI_MAMAEIMCAKK" => Some(Self::Mamaeimcakk),
            "CIHOEEPIBAI_OONLIPMOIAD" => Some(Self::Oonlipmoiad),
            "CIHOEEPIBAI_CCAPPCKPBCP" => Some(Self::Ccappckpbcp),
            "CIHOEEPIBAI_FKCINENKMOO" => Some(Self::Fkcinenkmoo),
            "CIHOEEPIBAI_PALJMGOHOBN" => Some(Self::Paljmgohobn),
            "CIHOEEPIBAI_NBNKMEBBBFH" => Some(Self::Nbnkmebbbfh),
            "CIHOEEPIBAI_PDAAINOOBEM" => Some(Self::Pdaainoobem),
            "CIHOEEPIBAI_ELACJCMMAIG" => Some(Self::Elacjcmmaig),
            "CIHOEEPIBAI_DILHEJLBOBI" => Some(Self::Dilhejlbobi),
            "CIHOEEPIBAI_FGGMMAHAFJD" => Some(Self::Fggmmahafjd),
            "CIHOEEPIBAI_OKANCJMDEHG" => Some(Self::Okancjmdehg),
            "CIHOEEPIBAI_CIAKNIMKCBF" => Some(Self::Ciaknimkcbf),
            "CIHOEEPIBAI_FMHHMPOJNKF" => Some(Self::Fmhhmpojnkf),
            "CIHOEEPIBAI_PIMBHPFLAKC" => Some(Self::Pimbhpflakc),
            "CIHOEEPIBAI_HMKCHIHCPMN" => Some(Self::Hmkchihcpmn),
            "CIHOEEPIBAI_FHNEFOIONMB" => Some(Self::Fhnefoionmb),
            "CIHOEEPIBAI_ALOHLIIBCID" => Some(Self::Alohliibcid),
            "CIHOEEPIBAI_JKBIGFOFALO" => Some(Self::Jkbigfofalo),
            "CIHOEEPIBAI_HHGCKKDLKCE" => Some(Self::Hhgckkdlkce),
            "CIHOEEPIBAI_GHEJGFJDFGE" => Some(Self::Ghejgfjdfge),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gpeefaoibnb {
    Gjgofbpceeh = 0,
    Ijfleohooaj = 1,
    Lohcfnpcifg = 2,
    Pdiineanomf = 3,
    Gmigkcmglal = 4,
}
impl Gpeefaoibnb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gjgofbpceeh => "GPEEFAOIBNB_GJGOFBPCEEH",
            Self::Ijfleohooaj => "GPEEFAOIBNB_IJFLEOHOOAJ",
            Self::Lohcfnpcifg => "GPEEFAOIBNB_LOHCFNPCIFG",
            Self::Pdiineanomf => "GPEEFAOIBNB_PDIINEANOMF",
            Self::Gmigkcmglal => "GPEEFAOIBNB_GMIGKCMGLAL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GPEEFAOIBNB_GJGOFBPCEEH" => Some(Self::Gjgofbpceeh),
            "GPEEFAOIBNB_IJFLEOHOOAJ" => Some(Self::Ijfleohooaj),
            "GPEEFAOIBNB_LOHCFNPCIFG" => Some(Self::Lohcfnpcifg),
            "GPEEFAOIBNB_PDIINEANOMF" => Some(Self::Pdiineanomf),
            "GPEEFAOIBNB_GMIGKCMGLAL" => Some(Self::Gmigkcmglal),
            _ => None,
        }
    }
}
/// Obf: LMGECGDAPEN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FightMarbleHpChangeType {
    LmgecgdapenNlpoghciegn = 0,
    LmgecgdapenBnohjnmeobi = 1,
    LmgecgdapenAlglgigkdoo = 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::LmgecgdapenNlpoghciegn => "LMGECGDAPEN_NLPOGHCIEGN",
            Self::LmgecgdapenBnohjnmeobi => "LMGECGDAPEN_BNOHJNMEOBI",
            Self::LmgecgdapenAlglgigkdoo => "LMGECGDAPEN_ALGLGIGKDOO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LMGECGDAPEN_NLPOGHCIEGN" => Some(Self::LmgecgdapenNlpoghciegn),
            "LMGECGDAPEN_BNOHJNMEOBI" => Some(Self::LmgecgdapenBnohjnmeobi),
            "LMGECGDAPEN_ALGLGIGKDOO" => Some(Self::LmgecgdapenAlglgigkdoo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dnlhkfilmlb {
    Jhicpcllelb = 0,
    Gockjaonopc = 1,
    Pofpaajafpc = 2,
    Oengnifbpge = 3,
    Idglnhchpeb = 4,
    Chkmmmfcoih = 5,
    Cifdiedpbhb = 6,
    Ihciiaecgpo = 7,
    Fddcfiialgg = 8,
    Kdlbgpkgmgj = 9,
    Gfgchclapob = 10,
    Embppemigad = 11,
    Ppnlkfjagnc = 12,
    Incfipcbflh = 13,
    Hfehcchfodi = 14,
    Mhmihlmafjl = 15,
}
impl Dnlhkfilmlb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Jhicpcllelb => "DNLHKFILMLB_JHICPCLLELB",
            Self::Gockjaonopc => "DNLHKFILMLB_GOCKJAONOPC",
            Self::Pofpaajafpc => "DNLHKFILMLB_POFPAAJAFPC",
            Self::Oengnifbpge => "DNLHKFILMLB_OENGNIFBPGE",
            Self::Idglnhchpeb => "DNLHKFILMLB_IDGLNHCHPEB",
            Self::Chkmmmfcoih => "DNLHKFILMLB_CHKMMMFCOIH",
            Self::Cifdiedpbhb => "DNLHKFILMLB_CIFDIEDPBHB",
            Self::Ihciiaecgpo => "DNLHKFILMLB_IHCIIAECGPO",
            Self::Fddcfiialgg => "DNLHKFILMLB_FDDCFIIALGG",
            Self::Kdlbgpkgmgj => "DNLHKFILMLB_KDLBGPKGMGJ",
            Self::Gfgchclapob => "DNLHKFILMLB_GFGCHCLAPOB",
            Self::Embppemigad => "DNLHKFILMLB_EMBPPEMIGAD",
            Self::Ppnlkfjagnc => "DNLHKFILMLB_PPNLKFJAGNC",
            Self::Incfipcbflh => "DNLHKFILMLB_INCFIPCBFLH",
            Self::Hfehcchfodi => "DNLHKFILMLB_HFEHCCHFODI",
            Self::Mhmihlmafjl => "DNLHKFILMLB_MHMIHLMAFJL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DNLHKFILMLB_JHICPCLLELB" => Some(Self::Jhicpcllelb),
            "DNLHKFILMLB_GOCKJAONOPC" => Some(Self::Gockjaonopc),
            "DNLHKFILMLB_POFPAAJAFPC" => Some(Self::Pofpaajafpc),
            "DNLHKFILMLB_OENGNIFBPGE" => Some(Self::Oengnifbpge),
            "DNLHKFILMLB_IDGLNHCHPEB" => Some(Self::Idglnhchpeb),
            "DNLHKFILMLB_CHKMMMFCOIH" => Some(Self::Chkmmmfcoih),
            "DNLHKFILMLB_CIFDIEDPBHB" => Some(Self::Cifdiedpbhb),
            "DNLHKFILMLB_IHCIIAECGPO" => Some(Self::Ihciiaecgpo),
            "DNLHKFILMLB_FDDCFIIALGG" => Some(Self::Fddcfiialgg),
            "DNLHKFILMLB_KDLBGPKGMGJ" => Some(Self::Kdlbgpkgmgj),
            "DNLHKFILMLB_GFGCHCLAPOB" => Some(Self::Gfgchclapob),
            "DNLHKFILMLB_EMBPPEMIGAD" => Some(Self::Embppemigad),
            "DNLHKFILMLB_PPNLKFJAGNC" => Some(Self::Ppnlkfjagnc),
            "DNLHKFILMLB_INCFIPCBFLH" => Some(Self::Incfipcbflh),
            "DNLHKFILMLB_HFEHCCHFODI" => Some(Self::Hfehcchfodi),
            "DNLHKFILMLB_MHMIHLMAFJL" => Some(Self::Mhmihlmafjl),
            _ => None,
        }
    }
}
/// Obf: OAJIKEKPHOD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightMatch3Type {
    OajikekphodNhgdfldljlj = 0,
    CmdIeogedfaelp = 30158,
    OajikekphodAemoiilioif = 30133,
    OajikekphodCfidmginpbi = 30181,
    CmdMhlmfdbfcec = 30113,
    CmdEagcpepioio = 30140,
    CmdLgeofjjkfnf = 30148,
    OajikekphodLaehkicdgpj = 30165,
    CmdOjlhciddfdf = 30145,
    OajikekphodHbhiodopenh = 30125,
    CmdGbmpobjdaff = 30180,
    OajikekphodJameplpkjbb = 30139,
    OajikekphodEdhojdaagjl = 30126,
    CmdOpaoiblfjom = 30169,
    CmdGbfdmfjkoop = 30147,
    CmdAjohoigmcnn = 30138,
    CmdBmbcnfkfabk = 30178,
    CmdPkbjoghcfoa = 30172,
    CmdKinfingmick = 30171,
    CmdLlfikhhpjeb = 30104,
    CmdLnglljknkhg = 30186,
    OajikekphodMohonnnikgf = 30142,
    CmdGodeellflen = 30188,
    CmdDpddoadgcmg = 30184,
    OajikekphodGbplkhlhfdb = 30111,
    CmdCbdjajakcff = 30130,
    CmdBcmgfcdnaie = 30136,
    CmdNmomcmjofgg = 30193,
}
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::OajikekphodNhgdfldljlj => "OAJIKEKPHOD_NHGDFLDLJLJ",
            Self::CmdIeogedfaelp => "CmdIEOGEDFAELP",
            Self::OajikekphodAemoiilioif => "OAJIKEKPHOD_AEMOIILIOIF",
            Self::OajikekphodCfidmginpbi => "OAJIKEKPHOD_CFIDMGINPBI",
            Self::CmdMhlmfdbfcec => "CmdMHLMFDBFCEC",
            Self::CmdEagcpepioio => "CmdEAGCPEPIOIO",
            Self::CmdLgeofjjkfnf => "CmdLGEOFJJKFNF",
            Self::OajikekphodLaehkicdgpj => "OAJIKEKPHOD_LAEHKICDGPJ",
            Self::CmdOjlhciddfdf => "CmdOJLHCIDDFDF",
            Self::OajikekphodHbhiodopenh => "OAJIKEKPHOD_HBHIODOPENH",
            Self::CmdGbmpobjdaff => "CmdGBMPOBJDAFF",
            Self::OajikekphodJameplpkjbb => "OAJIKEKPHOD_JAMEPLPKJBB",
            Self::OajikekphodEdhojdaagjl => "OAJIKEKPHOD_EDHOJDAAGJL",
            Self::CmdOpaoiblfjom => "CmdOPAOIBLFJOM",
            Self::CmdGbfdmfjkoop => "CmdGBFDMFJKOOP",
            Self::CmdAjohoigmcnn => "CmdAJOHOIGMCNN",
            Self::CmdBmbcnfkfabk => "CmdBMBCNFKFABK",
            Self::CmdPkbjoghcfoa => "CmdPKBJOGHCFOA",
            Self::CmdKinfingmick => "CmdKINFINGMICK",
            Self::CmdLlfikhhpjeb => "CmdLLFIKHHPJEB",
            Self::CmdLnglljknkhg => "CmdLNGLLJKNKHG",
            Self::OajikekphodMohonnnikgf => "OAJIKEKPHOD_MOHONNNIKGF",
            Self::CmdGodeellflen => "CmdGODEELLFLEN",
            Self::CmdDpddoadgcmg => "CmdDPDDOADGCMG",
            Self::OajikekphodGbplkhlhfdb => "OAJIKEKPHOD_GBPLKHLHFDB",
            Self::CmdCbdjajakcff => "CmdCBDJAJAKCFF",
            Self::CmdBcmgfcdnaie => "CmdBCMGFCDNAIE",
            Self::CmdNmomcmjofgg => "CmdNMOMCMJOFGG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OAJIKEKPHOD_NHGDFLDLJLJ" => Some(Self::OajikekphodNhgdfldljlj),
            "CmdIEOGEDFAELP" => Some(Self::CmdIeogedfaelp),
            "OAJIKEKPHOD_AEMOIILIOIF" => Some(Self::OajikekphodAemoiilioif),
            "OAJIKEKPHOD_CFIDMGINPBI" => Some(Self::OajikekphodCfidmginpbi),
            "CmdMHLMFDBFCEC" => Some(Self::CmdMhlmfdbfcec),
            "CmdEAGCPEPIOIO" => Some(Self::CmdEagcpepioio),
            "CmdLGEOFJJKFNF" => Some(Self::CmdLgeofjjkfnf),
            "OAJIKEKPHOD_LAEHKICDGPJ" => Some(Self::OajikekphodLaehkicdgpj),
            "CmdOJLHCIDDFDF" => Some(Self::CmdOjlhciddfdf),
            "OAJIKEKPHOD_HBHIODOPENH" => Some(Self::OajikekphodHbhiodopenh),
            "CmdGBMPOBJDAFF" => Some(Self::CmdGbmpobjdaff),
            "OAJIKEKPHOD_JAMEPLPKJBB" => Some(Self::OajikekphodJameplpkjbb),
            "OAJIKEKPHOD_EDHOJDAAGJL" => Some(Self::OajikekphodEdhojdaagjl),
            "CmdOPAOIBLFJOM" => Some(Self::CmdOpaoiblfjom),
            "CmdGBFDMFJKOOP" => Some(Self::CmdGbfdmfjkoop),
            "CmdAJOHOIGMCNN" => Some(Self::CmdAjohoigmcnn),
            "CmdBMBCNFKFABK" => Some(Self::CmdBmbcnfkfabk),
            "CmdPKBJOGHCFOA" => Some(Self::CmdPkbjoghcfoa),
            "CmdKINFINGMICK" => Some(Self::CmdKinfingmick),
            "CmdLLFIKHHPJEB" => Some(Self::CmdLlfikhhpjeb),
            "CmdLNGLLJKNKHG" => Some(Self::CmdLnglljknkhg),
            "OAJIKEKPHOD_MOHONNNIKGF" => Some(Self::OajikekphodMohonnnikgf),
            "CmdGODEELLFLEN" => Some(Self::CmdGodeellflen),
            "CmdDPDDOADGCMG" => Some(Self::CmdDpddoadgcmg),
            "OAJIKEKPHOD_GBPLKHLHFDB" => Some(Self::OajikekphodGbplkhlhfdb),
            "CmdCBDJAJAKCFF" => Some(Self::CmdCbdjajakcff),
            "CmdBCMGFCDNAIE" => Some(Self::CmdBcmgfcdnaie),
            "CmdNMOMCMJOFGG" => Some(Self::CmdNmomcmjofgg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pfphjfegdaa {
    Hgffcffbgdb = 0,
    Foflfmbmoma = 1,
    Dhhgmkaoaln = 2,
    Cgkceonnagm = 3,
    Mjlcfpeknpa = 4,
    Naihajoleid = 5,
}
impl Pfphjfegdaa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hgffcffbgdb => "PFPHJFEGDAA_HGFFCFFBGDB",
            Self::Foflfmbmoma => "PFPHJFEGDAA_FOFLFMBMOMA",
            Self::Dhhgmkaoaln => "PFPHJFEGDAA_DHHGMKAOALN",
            Self::Cgkceonnagm => "PFPHJFEGDAA_CGKCEONNAGM",
            Self::Mjlcfpeknpa => "PFPHJFEGDAA_MJLCFPEKNPA",
            Self::Naihajoleid => "PFPHJFEGDAA_NAIHAJOLEID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PFPHJFEGDAA_HGFFCFFBGDB" => Some(Self::Hgffcffbgdb),
            "PFPHJFEGDAA_FOFLFMBMOMA" => Some(Self::Foflfmbmoma),
            "PFPHJFEGDAA_DHHGMKAOALN" => Some(Self::Dhhgmkaoaln),
            "PFPHJFEGDAA_CGKCEONNAGM" => Some(Self::Cgkceonnagm),
            "PFPHJFEGDAA_MJLCFPEKNPA" => Some(Self::Mjlcfpeknpa),
            "PFPHJFEGDAA_NAIHAJOLEID" => Some(Self::Naihajoleid),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nhhjaonhddg {
    Lcnjhoklmpn = 0,
    Ofgbfhhifam = 1,
    Jjbepklolcp = 2,
    Opcknbhnboa = 3,
}
impl Nhhjaonhddg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lcnjhoklmpn => "NHHJAONHDDG_LCNJHOKLMPN",
            Self::Ofgbfhhifam => "NHHJAONHDDG_OFGBFHHIFAM",
            Self::Jjbepklolcp => "NHHJAONHDDG_JJBEPKLOLCP",
            Self::Opcknbhnboa => "NHHJAONHDDG_OPCKNBHNBOA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NHHJAONHDDG_LCNJHOKLMPN" => Some(Self::Lcnjhoklmpn),
            "NHHJAONHDDG_OFGBFHHIFAM" => Some(Self::Ofgbfhhifam),
            "NHHJAONHDDG_JJBEPKLOLCP" => Some(Self::Jjbepklolcp),
            "NHHJAONHDDG_OPCKNBHNBOA" => Some(Self::Opcknbhnboa),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ablccphiomi {
    Kfikmpopbfd = 0,
    Mcojhekmhil = 1,
    Gjgnjhpofol = 2,
    Jonelaafdea = 3,
    Dmbkgpbnbpo = 4,
    Ngboplgbcnk = 5,
}
impl Ablccphiomi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kfikmpopbfd => "ABLCCPHIOMI_KFIKMPOPBFD",
            Self::Mcojhekmhil => "ABLCCPHIOMI_MCOJHEKMHIL",
            Self::Gjgnjhpofol => "ABLCCPHIOMI_GJGNJHPOFOL",
            Self::Jonelaafdea => "ABLCCPHIOMI_JONELAAFDEA",
            Self::Dmbkgpbnbpo => "ABLCCPHIOMI_DMBKGPBNBPO",
            Self::Ngboplgbcnk => "ABLCCPHIOMI_NGBOPLGBCNK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ABLCCPHIOMI_KFIKMPOPBFD" => Some(Self::Kfikmpopbfd),
            "ABLCCPHIOMI_MCOJHEKMHIL" => Some(Self::Mcojhekmhil),
            "ABLCCPHIOMI_GJGNJHPOFOL" => Some(Self::Gjgnjhpofol),
            "ABLCCPHIOMI_JONELAAFDEA" => Some(Self::Jonelaafdea),
            "ABLCCPHIOMI_DMBKGPBNBPO" => Some(Self::Dmbkgpbnbpo),
            "ABLCCPHIOMI_NGBOPLGBCNK" => Some(Self::Ngboplgbcnk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Amdmkhkohnf {
    Cclmehjmpgc = 0,
    Fdeajlpgeoj = 1,
    Knhnjmabebb = 2,
    Eglaffekphg = 3,
    Lmbdffbhdok = 4,
    Dpfacdooiln = 5,
}
impl Amdmkhkohnf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cclmehjmpgc => "AMDMKHKOHNF_CCLMEHJMPGC",
            Self::Fdeajlpgeoj => "AMDMKHKOHNF_FDEAJLPGEOJ",
            Self::Knhnjmabebb => "AMDMKHKOHNF_KNHNJMABEBB",
            Self::Eglaffekphg => "AMDMKHKOHNF_EGLAFFEKPHG",
            Self::Lmbdffbhdok => "AMDMKHKOHNF_LMBDFFBHDOK",
            Self::Dpfacdooiln => "AMDMKHKOHNF_DPFACDOOILN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AMDMKHKOHNF_CCLMEHJMPGC" => Some(Self::Cclmehjmpgc),
            "AMDMKHKOHNF_FDEAJLPGEOJ" => Some(Self::Fdeajlpgeoj),
            "AMDMKHKOHNF_KNHNJMABEBB" => Some(Self::Knhnjmabebb),
            "AMDMKHKOHNF_EGLAFFEKPHG" => Some(Self::Eglaffekphg),
            "AMDMKHKOHNF_LMBDFFBHDOK" => Some(Self::Lmbdffbhdok),
            "AMDMKHKOHNF_DPFACDOOILN" => Some(Self::Dpfacdooiln),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fncfihafggn {
    Nlcdgipgfdj = 0,
    Hbhckeginen = 1,
    Ddjcfclncim = 2,
}
impl Fncfihafggn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FNCFIHAFGGN_NLCDGIPGFDJ",
            Self::Hbhckeginen => "FNCFIHAFGGN_HBHCKEGINEN",
            Self::Ddjcfclncim => "FNCFIHAFGGN_DDJCFCLNCIM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FNCFIHAFGGN_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FNCFIHAFGGN_HBHCKEGINEN" => Some(Self::Hbhckeginen),
            "FNCFIHAFGGN_DDJCFCLNCIM" => Some(Self::Ddjcfclncim),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fdicbbegkeo {
    Nlcdgipgfdj = 0,
    Ehnbepdhbkc = 1,
    Cblmhgejlmp = 2,
    Nhemipgkgcj = 3,
}
impl Fdicbbegkeo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FDICBBEGKEO_NLCDGIPGFDJ",
            Self::Ehnbepdhbkc => "FDICBBEGKEO_EHNBEPDHBKC",
            Self::Cblmhgejlmp => "FDICBBEGKEO_CBLMHGEJLMP",
            Self::Nhemipgkgcj => "FDICBBEGKEO_NHEMIPGKGCJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDICBBEGKEO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FDICBBEGKEO_EHNBEPDHBKC" => Some(Self::Ehnbepdhbkc),
            "FDICBBEGKEO_CBLMHGEJLMP" => Some(Self::Cblmhgejlmp),
            "FDICBBEGKEO_NHEMIPGKGCJ" => Some(Self::Nhemipgkgcj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ckgofmfnipp {
    Hgbbgfbccjj = 0,
    Mljfkfacnnd = 1,
    Nnammglffcg = 2,
    Obliooolfee = 3,
    Faialbojmfn = 4,
    Bmjklmcdplg = 5,
}
impl Ckgofmfnipp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hgbbgfbccjj => "CKGOFMFNIPP_HGBBGFBCCJJ",
            Self::Mljfkfacnnd => "CKGOFMFNIPP_MLJFKFACNND",
            Self::Nnammglffcg => "CKGOFMFNIPP_NNAMMGLFFCG",
            Self::Obliooolfee => "CKGOFMFNIPP_OBLIOOOLFEE",
            Self::Faialbojmfn => "CKGOFMFNIPP_FAIALBOJMFN",
            Self::Bmjklmcdplg => "CKGOFMFNIPP_BMJKLMCDPLG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CKGOFMFNIPP_HGBBGFBCCJJ" => Some(Self::Hgbbgfbccjj),
            "CKGOFMFNIPP_MLJFKFACNND" => Some(Self::Mljfkfacnnd),
            "CKGOFMFNIPP_NNAMMGLFFCG" => Some(Self::Nnammglffcg),
            "CKGOFMFNIPP_OBLIOOOLFEE" => Some(Self::Obliooolfee),
            "CKGOFMFNIPP_FAIALBOJMFN" => Some(Self::Faialbojmfn),
            "CKGOFMFNIPP_BMJKLMCDPLG" => Some(Self::Bmjklmcdplg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iffkdfpjecm {
    Kfddobpejmf = 0,
    Dojnfgnkfgp = 1,
    Bbcfledlbbb = 2,
    Goimmohgcih = 3,
    Adjocbgijhp = 4,
}
impl Iffkdfpjecm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kfddobpejmf => "IFFKDFPJECM_KFDDOBPEJMF",
            Self::Dojnfgnkfgp => "IFFKDFPJECM_DOJNFGNKFGP",
            Self::Bbcfledlbbb => "IFFKDFPJECM_BBCFLEDLBBB",
            Self::Goimmohgcih => "IFFKDFPJECM_GOIMMOHGCIH",
            Self::Adjocbgijhp => "IFFKDFPJECM_ADJOCBGIJHP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IFFKDFPJECM_KFDDOBPEJMF" => Some(Self::Kfddobpejmf),
            "IFFKDFPJECM_DOJNFGNKFGP" => Some(Self::Dojnfgnkfgp),
            "IFFKDFPJECM_BBCFLEDLBBB" => Some(Self::Bbcfledlbbb),
            "IFFKDFPJECM_GOIMMOHGCIH" => Some(Self::Goimmohgcih),
            "IFFKDFPJECM_ADJOCBGIJHP" => Some(Self::Adjocbgijhp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dikcfaicohb {
    Ejdlggagbea = 0,
    Pinpgfjkdph = 1,
    Empkdjgkdbi = 2,
    Aoioakghghg = 3,
    Ecehhjjgfed = 4,
    Ghbhapnljej = 5,
}
impl Dikcfaicohb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ejdlggagbea => "DIKCFAICOHB_EJDLGGAGBEA",
            Self::Pinpgfjkdph => "DIKCFAICOHB_PINPGFJKDPH",
            Self::Empkdjgkdbi => "DIKCFAICOHB_EMPKDJGKDBI",
            Self::Aoioakghghg => "DIKCFAICOHB_AOIOAKGHGHG",
            Self::Ecehhjjgfed => "DIKCFAICOHB_ECEHHJJGFED",
            Self::Ghbhapnljej => "DIKCFAICOHB_GHBHAPNLJEJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIKCFAICOHB_EJDLGGAGBEA" => Some(Self::Ejdlggagbea),
            "DIKCFAICOHB_PINPGFJKDPH" => Some(Self::Pinpgfjkdph),
            "DIKCFAICOHB_EMPKDJGKDBI" => Some(Self::Empkdjgkdbi),
            "DIKCFAICOHB_AOIOAKGHGHG" => Some(Self::Aoioakghghg),
            "DIKCFAICOHB_ECEHHJJGFED" => Some(Self::Ecehhjjgfed),
            "DIKCFAICOHB_GHBHAPNLJEJ" => Some(Self::Ghbhapnljej),
            _ => None,
        }
    }
}
/// Obf: BOJPMACOMHG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFightTeamTowersType {
    BojpmacomhgNlcdgipgfdj = 0,
}
impl CmdFightTeamTowersType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BojpmacomhgNlcdgipgfdj => "BOJPMACOMHG_NLCDGIPGFDJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BOJPMACOMHG_NLCDGIPGFDJ" => Some(Self::BojpmacomhgNlcdgipgfdj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kbbcjkncoac {
    Nlcdgipgfdj = 0,
    Mldhbkbfnep = 1,
}
impl Kbbcjkncoac {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "KBBCJKNCOAC_NLCDGIPGFDJ",
            Self::Mldhbkbfnep => "KBBCJKNCOAC_MLDHBKBFNEP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KBBCJKNCOAC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "KBBCJKNCOAC_MLDHBKBFNEP" => Some(Self::Mldhbkbfnep),
            _ => None,
        }
    }
}
/// Obf: EIBEMMGHLPK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFiveDimType {
    EibemmghlpkNlcdgipgfdj = 0,
    CmdUpdateFiveDimGameDataCsReq = 2269,
    CmdEnterFiveDimGameScRsp = 2257,
    CmdGetFiveDimGameDataScRsp = 2271,
    CmdGetFiveDimMoneyScRsp = 2254,
    CmdFiveDimGameDataUpdateScNotify = 2253,
    CmdFiveDimGameTransferScRsp = 2272,
    CmdGetFiveDimGameDataCsReq = 2258,
    CmdGetFiveDimMoneyDataScRsp = 2252,
    CmdLeaveFiveDimGameCsReq = 2255,
    CmdFiveDimMoneyChangeScNotify = 2251,
    CmdFiveDimJumpEnergyChangeScNotify = 2261,
    EibemmghlpkAhpmedblabf = 2260,
    CmdUpdateFiveDimGameDataScRsp = 2268,
    CmdFiveDimGameTransferCsReq = 2265,
    CmdLeaveFiveDimGameScRsp = 2259,
    CmdEnterFiveDimGameCsReq = 2262,
    EibemmghlpkGkncigpobga = 2275,
}
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::EibemmghlpkNlcdgipgfdj => "EIBEMMGHLPK_NLCDGIPGFDJ",
            Self::CmdUpdateFiveDimGameDataCsReq => "CmdUpdateFiveDimGameDataCsReq",
            Self::CmdEnterFiveDimGameScRsp => "CmdEnterFiveDimGameScRsp",
            Self::CmdGetFiveDimGameDataScRsp => "CmdGetFiveDimGameDataScRsp",
            Self::CmdGetFiveDimMoneyScRsp => "CmdGetFiveDimMoneyScRsp",
            Self::CmdFiveDimGameDataUpdateScNotify => "CmdFiveDimGameDataUpdateScNotify",
            Self::CmdFiveDimGameTransferScRsp => "CmdFiveDimGameTransferScRsp",
            Self::CmdGetFiveDimGameDataCsReq => "CmdGetFiveDimGameDataCsReq",
            Self::CmdGetFiveDimMoneyDataScRsp => "CmdGetFiveDimMoneyDataScRsp",
            Self::CmdLeaveFiveDimGameCsReq => "CmdLeaveFiveDimGameCsReq",
            Self::CmdFiveDimMoneyChangeScNotify => "CmdFiveDimMoneyChangeScNotify",
            Self::CmdFiveDimJumpEnergyChangeScNotify => {
                "CmdFiveDimJumpEnergyChangeScNotify"
            }
            Self::EibemmghlpkAhpmedblabf => "EIBEMMGHLPK_AHPMEDBLABF",
            Self::CmdUpdateFiveDimGameDataScRsp => "CmdUpdateFiveDimGameDataScRsp",
            Self::CmdFiveDimGameTransferCsReq => "CmdFiveDimGameTransferCsReq",
            Self::CmdLeaveFiveDimGameScRsp => "CmdLeaveFiveDimGameScRsp",
            Self::CmdEnterFiveDimGameCsReq => "CmdEnterFiveDimGameCsReq",
            Self::EibemmghlpkGkncigpobga => "EIBEMMGHLPK_GKNCIGPOBGA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EIBEMMGHLPK_NLCDGIPGFDJ" => Some(Self::EibemmghlpkNlcdgipgfdj),
            "CmdUpdateFiveDimGameDataCsReq" => Some(Self::CmdUpdateFiveDimGameDataCsReq),
            "CmdEnterFiveDimGameScRsp" => Some(Self::CmdEnterFiveDimGameScRsp),
            "CmdGetFiveDimGameDataScRsp" => Some(Self::CmdGetFiveDimGameDataScRsp),
            "CmdGetFiveDimMoneyScRsp" => Some(Self::CmdGetFiveDimMoneyScRsp),
            "CmdFiveDimGameDataUpdateScNotify" => {
                Some(Self::CmdFiveDimGameDataUpdateScNotify)
            }
            "CmdFiveDimGameTransferScRsp" => Some(Self::CmdFiveDimGameTransferScRsp),
            "CmdGetFiveDimGameDataCsReq" => Some(Self::CmdGetFiveDimGameDataCsReq),
            "CmdGetFiveDimMoneyDataScRsp" => Some(Self::CmdGetFiveDimMoneyDataScRsp),
            "CmdLeaveFiveDimGameCsReq" => Some(Self::CmdLeaveFiveDimGameCsReq),
            "CmdFiveDimMoneyChangeScNotify" => Some(Self::CmdFiveDimMoneyChangeScNotify),
            "CmdFiveDimJumpEnergyChangeScNotify" => {
                Some(Self::CmdFiveDimJumpEnergyChangeScNotify)
            }
            "EIBEMMGHLPK_AHPMEDBLABF" => Some(Self::EibemmghlpkAhpmedblabf),
            "CmdUpdateFiveDimGameDataScRsp" => Some(Self::CmdUpdateFiveDimGameDataScRsp),
            "CmdFiveDimGameTransferCsReq" => Some(Self::CmdFiveDimGameTransferCsReq),
            "CmdLeaveFiveDimGameScRsp" => Some(Self::CmdLeaveFiveDimGameScRsp),
            "CmdEnterFiveDimGameCsReq" => Some(Self::CmdEnterFiveDimGameCsReq),
            "EIBEMMGHLPK_GKNCIGPOBGA" => Some(Self::EibemmghlpkGkncigpobga),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kfdepbclenf {
    Nlcdgipgfdj = 0,
    Kaljcabdjlc = 1,
    Hjjdlphhfpa = 2,
}
impl Kfdepbclenf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "KFDEPBCLENF_NLCDGIPGFDJ",
            Self::Kaljcabdjlc => "KFDEPBCLENF_KALJCABDJLC",
            Self::Hjjdlphhfpa => "KFDEPBCLENF_HJJDLPHHFPA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KFDEPBCLENF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "KFDEPBCLENF_KALJCABDJLC" => Some(Self::Kaljcabdjlc),
            "KFDEPBCLENF_HJJDLPHHFPA" => Some(Self::Hjjdlphhfpa),
            _ => None,
        }
    }
}
/// Obf: MGDHKHBKDDG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdFriendType {
    MgdhkhbkddgNlcdgipgfdj = 0,
    CmdGetFriendRecommendLineupCsReq = 2966,
    CmdGetAssistListCsReq = 2905,
    CmdNewAssistHistoryNotify = 2973,
    CmdDeleteBlacklistCsReq = 2972,
    CmdGetFriendApplyListInfoScRsp = 2981,
    CmdApplyFriendScRsp = 2947,
    CmdSetFriendRemarkNameCsReq = 2969,
    CmdSetFriendMarkScRsp = 2914,
    CmdGetFriendListInfoCsReq = 2925,
    CmdGetFriendRecommendListInfoCsReq = 2948,
    CmdReportPlayerCsReq = 2930,
    CmdGetFriendBattleRecordDetailScRsp = 2928,
    CmdHandleFriendCsReq = 2913,
    CmdSetFriendMarkCsReq = 2920,
    CmdGetAssistHistoryCsReq = 2934,
    CmdCurAssistChangedNotify = 2975,
    CmdGetCurAssistCsReq = 2929,
    CmdDeleteFriendCsReq = 2933,
    CmdAddBlacklistCsReq = 2904,
    CmdSyncDeleteFriendScNotify = 2939,
    CmdSyncApplyFriendScNotify = 2926,
    CmdSetForbidOtherApplyFriendCsReq = 2953,
    CmdGetFriendBattleRecordDetailCsReq = 2919,
    CmdDeleteFriendScRsp = 2938,
    CmdGetFriendRecommendLineupDetailScRsp = 2906,
    CmdGetFriendDevelopmentInfoCsReq = 2998,
    CmdGetCurAssistScRsp = 2963,
    CmdSearchPlayerCsReq = 2984,
    CmdSyncHandleFriendScNotify = 2940,
    CmdSetAssistScRsp = 2943,
    CmdSetFriendRemarkNameScRsp = 2965,
    CmdReportPlayerScRsp = 2942,
    CmdAddBlacklistScRsp = 2911,
    CmdGetFriendRecommendListInfoScRsp = 2945,
    CmdSyncAddBlacklistScNotify = 2936,
    CmdSetForbidOtherApplyFriendScRsp = 2952,
    CmdGetAssistListScRsp = 2941,
    CmdTakeAssistRewardScRsp = 2935,
    CmdApplyFriendCsReq = 2986,
    CmdTakeAssistRewardCsReq = 2912,
    CmdGetAssistHistoryScRsp = 2996,
    CmdSetAssistCsReq = 2910,
    CmdGetPlatformPlayerInfoCsReq = 2944,
    CmdGetPlayerDetailInfoCsReq = 2993,
    CmdGetPlayerDetailInfoScRsp = 2958,
    CmdGetFriendLoginInfoCsReq = 2915,
    CmdGetFriendListInfoScRsp = 2978,
    CmdGetFriendAssistListScRsp = 2982,
    CmdGetFriendRecommendLineupDetailCsReq = 2916,
    CmdGetFriendAssistListCsReq = 2989,
    CmdGetFriendLoginInfoScRsp = 2918,
    CmdDeleteBlacklistScRsp = 2980,
    CmdGetFriendApplyListInfoCsReq = 2988,
    CmdGetPlatformPlayerInfoScRsp = 2949,
    CmdHandleFriendScRsp = 2971,
    CmdGetFriendDevelopmentInfoScRsp = 2962,
    CmdSearchPlayerScRsp = 2921,
    CmdGetFriendRecommendLineupScRsp = 2955,
}
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::MgdhkhbkddgNlcdgipgfdj => "MGDHKHBKDDG_NLCDGIPGFDJ",
            Self::CmdGetFriendRecommendLineupCsReq => "CmdGetFriendRecommendLineupCsReq",
            Self::CmdGetAssistListCsReq => "CmdGetAssistListCsReq",
            Self::CmdNewAssistHistoryNotify => "CmdNewAssistHistoryNotify",
            Self::CmdDeleteBlacklistCsReq => "CmdDeleteBlacklistCsReq",
            Self::CmdGetFriendApplyListInfoScRsp => "CmdGetFriendApplyListInfoScRsp",
            Self::CmdApplyFriendScRsp => "CmdApplyFriendScRsp",
            Self::CmdSetFriendRemarkNameCsReq => "CmdSetFriendRemarkNameCsReq",
            Self::CmdSetFriendMarkScRsp => "CmdSetFriendMarkScRsp",
            Self::CmdGetFriendListInfoCsReq => "CmdGetFriendListInfoCsReq",
            Self::CmdGetFriendRecommendListInfoCsReq => {
                "CmdGetFriendRecommendListInfoCsReq"
            }
            Self::CmdReportPlayerCsReq => "CmdReportPlayerCsReq",
            Self::CmdGetFriendBattleRecordDetailScRsp => {
                "CmdGetFriendBattleRecordDetailScRsp"
            }
            Self::CmdHandleFriendCsReq => "CmdHandleFriendCsReq",
            Self::CmdSetFriendMarkCsReq => "CmdSetFriendMarkCsReq",
            Self::CmdGetAssistHistoryCsReq => "CmdGetAssistHistoryCsReq",
            Self::CmdCurAssistChangedNotify => "CmdCurAssistChangedNotify",
            Self::CmdGetCurAssistCsReq => "CmdGetCurAssistCsReq",
            Self::CmdDeleteFriendCsReq => "CmdDeleteFriendCsReq",
            Self::CmdAddBlacklistCsReq => "CmdAddBlacklistCsReq",
            Self::CmdSyncDeleteFriendScNotify => "CmdSyncDeleteFriendScNotify",
            Self::CmdSyncApplyFriendScNotify => "CmdSyncApplyFriendScNotify",
            Self::CmdSetForbidOtherApplyFriendCsReq => {
                "CmdSetForbidOtherApplyFriendCsReq"
            }
            Self::CmdGetFriendBattleRecordDetailCsReq => {
                "CmdGetFriendBattleRecordDetailCsReq"
            }
            Self::CmdDeleteFriendScRsp => "CmdDeleteFriendScRsp",
            Self::CmdGetFriendRecommendLineupDetailScRsp => {
                "CmdGetFriendRecommendLineupDetailScRsp"
            }
            Self::CmdGetFriendDevelopmentInfoCsReq => "CmdGetFriendDevelopmentInfoCsReq",
            Self::CmdGetCurAssistScRsp => "CmdGetCurAssistScRsp",
            Self::CmdSearchPlayerCsReq => "CmdSearchPlayerCsReq",
            Self::CmdSyncHandleFriendScNotify => "CmdSyncHandleFriendScNotify",
            Self::CmdSetAssistScRsp => "CmdSetAssistScRsp",
            Self::CmdSetFriendRemarkNameScRsp => "CmdSetFriendRemarkNameScRsp",
            Self::CmdReportPlayerScRsp => "CmdReportPlayerScRsp",
            Self::CmdAddBlacklistScRsp => "CmdAddBlacklistScRsp",
            Self::CmdGetFriendRecommendListInfoScRsp => {
                "CmdGetFriendRecommendListInfoScRsp"
            }
            Self::CmdSyncAddBlacklistScNotify => "CmdSyncAddBlacklistScNotify",
            Self::CmdSetForbidOtherApplyFriendScRsp => {
                "CmdSetForbidOtherApplyFriendScRsp"
            }
            Self::CmdGetAssistListScRsp => "CmdGetAssistListScRsp",
            Self::CmdTakeAssistRewardScRsp => "CmdTakeAssistRewardScRsp",
            Self::CmdApplyFriendCsReq => "CmdApplyFriendCsReq",
            Self::CmdTakeAssistRewardCsReq => "CmdTakeAssistRewardCsReq",
            Self::CmdGetAssistHistoryScRsp => "CmdGetAssistHistoryScRsp",
            Self::CmdSetAssistCsReq => "CmdSetAssistCsReq",
            Self::CmdGetPlatformPlayerInfoCsReq => "CmdGetPlatformPlayerInfoCsReq",
            Self::CmdGetPlayerDetailInfoCsReq => "CmdGetPlayerDetailInfoCsReq",
            Self::CmdGetPlayerDetailInfoScRsp => "CmdGetPlayerDetailInfoScRsp",
            Self::CmdGetFriendLoginInfoCsReq => "CmdGetFriendLoginInfoCsReq",
            Self::CmdGetFriendListInfoScRsp => "CmdGetFriendListInfoScRsp",
            Self::CmdGetFriendAssistListScRsp => "CmdGetFriendAssistListScRsp",
            Self::CmdGetFriendRecommendLineupDetailCsReq => {
                "CmdGetFriendRecommendLineupDetailCsReq"
            }
            Self::CmdGetFriendAssistListCsReq => "CmdGetFriendAssistListCsReq",
            Self::CmdGetFriendLoginInfoScRsp => "CmdGetFriendLoginInfoScRsp",
            Self::CmdDeleteBlacklistScRsp => "CmdDeleteBlacklistScRsp",
            Self::CmdGetFriendApplyListInfoCsReq => "CmdGetFriendApplyListInfoCsReq",
            Self::CmdGetPlatformPlayerInfoScRsp => "CmdGetPlatformPlayerInfoScRsp",
            Self::CmdHandleFriendScRsp => "CmdHandleFriendScRsp",
            Self::CmdGetFriendDevelopmentInfoScRsp => "CmdGetFriendDevelopmentInfoScRsp",
            Self::CmdSearchPlayerScRsp => "CmdSearchPlayerScRsp",
            Self::CmdGetFriendRecommendLineupScRsp => "CmdGetFriendRecommendLineupScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MGDHKHBKDDG_NLCDGIPGFDJ" => Some(Self::MgdhkhbkddgNlcdgipgfdj),
            "CmdGetFriendRecommendLineupCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupCsReq)
            }
            "CmdGetAssistListCsReq" => Some(Self::CmdGetAssistListCsReq),
            "CmdNewAssistHistoryNotify" => Some(Self::CmdNewAssistHistoryNotify),
            "CmdDeleteBlacklistCsReq" => Some(Self::CmdDeleteBlacklistCsReq),
            "CmdGetFriendApplyListInfoScRsp" => {
                Some(Self::CmdGetFriendApplyListInfoScRsp)
            }
            "CmdApplyFriendScRsp" => Some(Self::CmdApplyFriendScRsp),
            "CmdSetFriendRemarkNameCsReq" => Some(Self::CmdSetFriendRemarkNameCsReq),
            "CmdSetFriendMarkScRsp" => Some(Self::CmdSetFriendMarkScRsp),
            "CmdGetFriendListInfoCsReq" => Some(Self::CmdGetFriendListInfoCsReq),
            "CmdGetFriendRecommendListInfoCsReq" => {
                Some(Self::CmdGetFriendRecommendListInfoCsReq)
            }
            "CmdReportPlayerCsReq" => Some(Self::CmdReportPlayerCsReq),
            "CmdGetFriendBattleRecordDetailScRsp" => {
                Some(Self::CmdGetFriendBattleRecordDetailScRsp)
            }
            "CmdHandleFriendCsReq" => Some(Self::CmdHandleFriendCsReq),
            "CmdSetFriendMarkCsReq" => Some(Self::CmdSetFriendMarkCsReq),
            "CmdGetAssistHistoryCsReq" => Some(Self::CmdGetAssistHistoryCsReq),
            "CmdCurAssistChangedNotify" => Some(Self::CmdCurAssistChangedNotify),
            "CmdGetCurAssistCsReq" => Some(Self::CmdGetCurAssistCsReq),
            "CmdDeleteFriendCsReq" => Some(Self::CmdDeleteFriendCsReq),
            "CmdAddBlacklistCsReq" => Some(Self::CmdAddBlacklistCsReq),
            "CmdSyncDeleteFriendScNotify" => Some(Self::CmdSyncDeleteFriendScNotify),
            "CmdSyncApplyFriendScNotify" => Some(Self::CmdSyncApplyFriendScNotify),
            "CmdSetForbidOtherApplyFriendCsReq" => {
                Some(Self::CmdSetForbidOtherApplyFriendCsReq)
            }
            "CmdGetFriendBattleRecordDetailCsReq" => {
                Some(Self::CmdGetFriendBattleRecordDetailCsReq)
            }
            "CmdDeleteFriendScRsp" => Some(Self::CmdDeleteFriendScRsp),
            "CmdGetFriendRecommendLineupDetailScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupDetailScRsp)
            }
            "CmdGetFriendDevelopmentInfoCsReq" => {
                Some(Self::CmdGetFriendDevelopmentInfoCsReq)
            }
            "CmdGetCurAssistScRsp" => Some(Self::CmdGetCurAssistScRsp),
            "CmdSearchPlayerCsReq" => Some(Self::CmdSearchPlayerCsReq),
            "CmdSyncHandleFriendScNotify" => Some(Self::CmdSyncHandleFriendScNotify),
            "CmdSetAssistScRsp" => Some(Self::CmdSetAssistScRsp),
            "CmdSetFriendRemarkNameScRsp" => Some(Self::CmdSetFriendRemarkNameScRsp),
            "CmdReportPlayerScRsp" => Some(Self::CmdReportPlayerScRsp),
            "CmdAddBlacklistScRsp" => Some(Self::CmdAddBlacklistScRsp),
            "CmdGetFriendRecommendListInfoScRsp" => {
                Some(Self::CmdGetFriendRecommendListInfoScRsp)
            }
            "CmdSyncAddBlacklistScNotify" => Some(Self::CmdSyncAddBlacklistScNotify),
            "CmdSetForbidOtherApplyFriendScRsp" => {
                Some(Self::CmdSetForbidOtherApplyFriendScRsp)
            }
            "CmdGetAssistListScRsp" => Some(Self::CmdGetAssistListScRsp),
            "CmdTakeAssistRewardScRsp" => Some(Self::CmdTakeAssistRewardScRsp),
            "CmdApplyFriendCsReq" => Some(Self::CmdApplyFriendCsReq),
            "CmdTakeAssistRewardCsReq" => Some(Self::CmdTakeAssistRewardCsReq),
            "CmdGetAssistHistoryScRsp" => Some(Self::CmdGetAssistHistoryScRsp),
            "CmdSetAssistCsReq" => Some(Self::CmdSetAssistCsReq),
            "CmdGetPlatformPlayerInfoCsReq" => Some(Self::CmdGetPlatformPlayerInfoCsReq),
            "CmdGetPlayerDetailInfoCsReq" => Some(Self::CmdGetPlayerDetailInfoCsReq),
            "CmdGetPlayerDetailInfoScRsp" => Some(Self::CmdGetPlayerDetailInfoScRsp),
            "CmdGetFriendLoginInfoCsReq" => Some(Self::CmdGetFriendLoginInfoCsReq),
            "CmdGetFriendListInfoScRsp" => Some(Self::CmdGetFriendListInfoScRsp),
            "CmdGetFriendAssistListScRsp" => Some(Self::CmdGetFriendAssistListScRsp),
            "CmdGetFriendRecommendLineupDetailCsReq" => {
                Some(Self::CmdGetFriendRecommendLineupDetailCsReq)
            }
            "CmdGetFriendAssistListCsReq" => Some(Self::CmdGetFriendAssistListCsReq),
            "CmdGetFriendLoginInfoScRsp" => Some(Self::CmdGetFriendLoginInfoScRsp),
            "CmdDeleteBlacklistScRsp" => Some(Self::CmdDeleteBlacklistScRsp),
            "CmdGetFriendApplyListInfoCsReq" => {
                Some(Self::CmdGetFriendApplyListInfoCsReq)
            }
            "CmdGetPlatformPlayerInfoScRsp" => Some(Self::CmdGetPlatformPlayerInfoScRsp),
            "CmdHandleFriendScRsp" => Some(Self::CmdHandleFriendScRsp),
            "CmdGetFriendDevelopmentInfoScRsp" => {
                Some(Self::CmdGetFriendDevelopmentInfoScRsp)
            }
            "CmdSearchPlayerScRsp" => Some(Self::CmdSearchPlayerScRsp),
            "CmdGetFriendRecommendLineupScRsp" => {
                Some(Self::CmdGetFriendRecommendLineupScRsp)
            }
            _ => 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: HPEKGMDHFLO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FriendApplySource {
    HpekgmdhfloNlcdgipgfdj = 0,
    HpekgmdhfloGodchgimiaj = 1,
    HpekgmdhfloBlnbllnhich = 2,
    HpekgmdhfloOdhmgpnecfo = 3,
    HpekgmdhfloObphecnlkap = 4,
    HpekgmdhfloOkjjpjkliog = 5,
    HpekgmdhfloOgcabagjiik = 6,
    HpekgmdhfloCgmpjeggeed = 7,
    HpekgmdhfloJgfgnclkibo = 8,
    HpekgmdhfloMkhlalnlola = 9,
    HpekgmdhfloCilgiddhodg = 10,
}
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::HpekgmdhfloNlcdgipgfdj => "HPEKGMDHFLO_NLCDGIPGFDJ",
            Self::HpekgmdhfloGodchgimiaj => "HPEKGMDHFLO_GODCHGIMIAJ",
            Self::HpekgmdhfloBlnbllnhich => "HPEKGMDHFLO_BLNBLLNHICH",
            Self::HpekgmdhfloOdhmgpnecfo => "HPEKGMDHFLO_ODHMGPNECFO",
            Self::HpekgmdhfloObphecnlkap => "HPEKGMDHFLO_OBPHECNLKAP",
            Self::HpekgmdhfloOkjjpjkliog => "HPEKGMDHFLO_OKJJPJKLIOG",
            Self::HpekgmdhfloOgcabagjiik => "HPEKGMDHFLO_OGCABAGJIIK",
            Self::HpekgmdhfloCgmpjeggeed => "HPEKGMDHFLO_CGMPJEGGEED",
            Self::HpekgmdhfloJgfgnclkibo => "HPEKGMDHFLO_JGFGNCLKIBO",
            Self::HpekgmdhfloMkhlalnlola => "HPEKGMDHFLO_MKHLALNLOLA",
            Self::HpekgmdhfloCilgiddhodg => "HPEKGMDHFLO_CILGIDDHODG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HPEKGMDHFLO_NLCDGIPGFDJ" => Some(Self::HpekgmdhfloNlcdgipgfdj),
            "HPEKGMDHFLO_GODCHGIMIAJ" => Some(Self::HpekgmdhfloGodchgimiaj),
            "HPEKGMDHFLO_BLNBLLNHICH" => Some(Self::HpekgmdhfloBlnbllnhich),
            "HPEKGMDHFLO_ODHMGPNECFO" => Some(Self::HpekgmdhfloOdhmgpnecfo),
            "HPEKGMDHFLO_OBPHECNLKAP" => Some(Self::HpekgmdhfloObphecnlkap),
            "HPEKGMDHFLO_OKJJPJKLIOG" => Some(Self::HpekgmdhfloOkjjpjkliog),
            "HPEKGMDHFLO_OGCABAGJIIK" => Some(Self::HpekgmdhfloOgcabagjiik),
            "HPEKGMDHFLO_CGMPJEGGEED" => Some(Self::HpekgmdhfloCgmpjeggeed),
            "HPEKGMDHFLO_JGFGNCLKIBO" => Some(Self::HpekgmdhfloJgfgnclkibo),
            "HPEKGMDHFLO_MKHLALNLOLA" => Some(Self::HpekgmdhfloMkhlalnlola),
            "HPEKGMDHFLO_CILGIDDHODG" => Some(Self::HpekgmdhfloCilgiddhodg),
            _ => None,
        }
    }
}
/// Obf: LDADFJEOFGL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGachaType {
    LdadfjeofglNlcdgipgfdj = 0,
    CmdDoGachaScRsp = 1958,
    CmdGetGachaCeilingCsReq = 1988,
    CmdExchangeGachaCeilingScRsp = 1947,
    CmdSetGachaDecideItemScRsp = 1913,
    CmdGetGachaCeilingScRsp = 1981,
    CmdGetGachaInfoCsReq = 1925,
    CmdGetGachaInfoScRsp = 1978,
    CmdSetGachaDecideItemCsReq = 1926,
    CmdExchangeGachaCeilingCsReq = 1986,
    CmdDoGachaCsReq = 1993,
    LdadfjeofglPdciifccbeh = 1971,
}
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::LdadfjeofglNlcdgipgfdj => "LDADFJEOFGL_NLCDGIPGFDJ",
            Self::CmdDoGachaScRsp => "CmdDoGachaScRsp",
            Self::CmdGetGachaCeilingCsReq => "CmdGetGachaCeilingCsReq",
            Self::CmdExchangeGachaCeilingScRsp => "CmdExchangeGachaCeilingScRsp",
            Self::CmdSetGachaDecideItemScRsp => "CmdSetGachaDecideItemScRsp",
            Self::CmdGetGachaCeilingScRsp => "CmdGetGachaCeilingScRsp",
            Self::CmdGetGachaInfoCsReq => "CmdGetGachaInfoCsReq",
            Self::CmdGetGachaInfoScRsp => "CmdGetGachaInfoScRsp",
            Self::CmdSetGachaDecideItemCsReq => "CmdSetGachaDecideItemCsReq",
            Self::CmdExchangeGachaCeilingCsReq => "CmdExchangeGachaCeilingCsReq",
            Self::CmdDoGachaCsReq => "CmdDoGachaCsReq",
            Self::LdadfjeofglPdciifccbeh => "LDADFJEOFGL_PDCIIFCCBEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDADFJEOFGL_NLCDGIPGFDJ" => Some(Self::LdadfjeofglNlcdgipgfdj),
            "CmdDoGachaScRsp" => Some(Self::CmdDoGachaScRsp),
            "CmdGetGachaCeilingCsReq" => Some(Self::CmdGetGachaCeilingCsReq),
            "CmdExchangeGachaCeilingScRsp" => Some(Self::CmdExchangeGachaCeilingScRsp),
            "CmdSetGachaDecideItemScRsp" => Some(Self::CmdSetGachaDecideItemScRsp),
            "CmdGetGachaCeilingScRsp" => Some(Self::CmdGetGachaCeilingScRsp),
            "CmdGetGachaInfoCsReq" => Some(Self::CmdGetGachaInfoCsReq),
            "CmdGetGachaInfoScRsp" => Some(Self::CmdGetGachaInfoScRsp),
            "CmdSetGachaDecideItemCsReq" => Some(Self::CmdSetGachaDecideItemCsReq),
            "CmdExchangeGachaCeilingCsReq" => Some(Self::CmdExchangeGachaCeilingCsReq),
            "CmdDoGachaCsReq" => Some(Self::CmdDoGachaCsReq),
            "LDADFJEOFGL_PDCIIFCCBEH" => Some(Self::LdadfjeofglPdciifccbeh),
            _ => None,
        }
    }
}
/// Obf: IGDBCJJBMPD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdGridFightType {
    IgdbcjjbmpdNlcdgipgfdj = 0,
    IgdbcjjbmpdIlonclkimjm = 8742,
    CmdGridFightHandlePendingActionCsReq = 8445,
    CmdGaekhidcfhf = 8577,
    CmdJiomocfomoa = 8740,
    CmdOennaoafama = 8465,
    CmdIkmocjbmgoj = 8718,
    CmdPhgffoejebm = 8750,
    CmdUpdateGameFormationScRsp = 8696,
    CmdFavourArchiveScRsp = 8676,
    CmdGridFightSyncUpdateResultScNotify = 8602,
    CmdGridFightUpdateEquipTrackCsReq = 8689,
    CmdKoiamdkefkh = 8608,
    CmdFavourArchiveCsReq = 8652,
    CmdGridFightSeasonHandBookNotify = 8725,
    CmdMoionldjgji = 8572,
    CmdGridFightGetArchiveCsReq = 8530,
    CmdMcipomdgbca = 8601,
    CmdGridFightEndBattleStageNotify = 8459,
    CmdIaabdbbjhol = 8464,
    CmdFgmkgoiiffl = 8679,
    CmdGebbmdcolch = 8716,
    CmdGridFightRecycleRoleCsReq = 8680,
    CmdGridFightPermanentTalentResetScRsp = 8423,
    CmdJboopapnfdc = 8483,
    CmdGridFightGetDataScRsp = 8443,
    CmdEmfjdodngif = 8702,
    CmdGridFightUpdateEquipTrackScRsp = 8729,
    CmdCgbkkgnfmkl = 8661,
    CmdLcfaagejgbg = 8552,
    CmdMflddcifajn = 8488,
    CmdLdnpbalacdb = 8766,
    CmdCheckTextCsReq = 8502,
    CmdPnhdgcblpgd = 8664,
    CmdAbcbkhaieog = 8745,
    CmdMcdbjhocghi = 8519,
    CmdNdamfdidkgb = 8581,
    CmdGridFightSeasonTalentResetScRsp = 8412,
    CmdAaghpdhcooi = 8498,
    CmdBdncooanaea = 8570,
    CmdCfidojgkbhb = 8794,
    CmdGridFightSyncVirtualItemNotify = 8710,
    CmdIlcpglaaadl = 8650,
    CmdCegiakadmhp = 8644,
    CmdGgamiknedge = 8539,
    CmdGridFightGetArchiveScRsp = 8723,
    CmdAameaobegka = 8763,
    CmdGridFightHandlePendingActionScRsp = 8798,
    CmdGridFightUpdatePosScRsp = 8631,
    CmdGridFightPermanentTalentEnableCsReq = 8435,
    CmdOebklepmmke = 8447,
    CmdKahaoojhjpk = 8647,
    CmdAlnfebkhcfc = 8408,
    CmdFhnlbdmkpem = 8699,
    CmdGridFightSeasonTalentEnableCsReq = 8441,
    CmdIifppbcfbbc = 8668,
    CmdCfheknfnmip = 8514,
    CmdGridFightSeasonTalentEnableScRsp = 8484,
    CmdGridFightSeasonTalentResetCsReq = 8700,
    CmdCcgjddbkide = 8531,
    CmdUpdateGameFormationCsReq = 8693,
    CmdGridFightSettleNotify = 8698,
    CmdGridFightPermanentTalentEnableScRsp = 8717,
    CmdHmbdoohkibc = 8422,
    CmdJkgilkgilai = 8504,
    IgdbcjjbmpdOofhgfdngib = 8772,
    CmdGridFightEnterBattleStageCsReq = 8478,
    CmdLdbjkkchngj = 8651,
    CmdPajhfekapmn = 8468,
    CmdGridFightUpdatePosCsReq = 8522,
    CmdLlpmakihapl = 8413,
    CmdGetGameFormationScRsp = 8583,
    CmdLfeflimjogo = 8682,
    CmdCnoapamndoa = 8470,
    CmdGetGameFormationCsReq = 8633,
    CmdLkdmcpdhegm = 8692,
    CmdDhocojljppa = 8779,
    CmdAiddodlhdle = 8697,
    CmdHkoaockbbja = 8460,
    CmdGridFightTraitUpdateCsReq = 8620,
    CmdGdhfmhkfeal = 8595,
    CmdGridFightEnterBattleStageScRsp = 8695,
    CmdCheckTextRsp = 8591,
    CmdGridFightWeeklyExtraSeasonExpScRsp = 8658,
    CmdHfnihdlfmcj = 8516,
    CmdGridFightGetDataCsReq = 8578,
    CmdGridFightPermanentTalentResetCsReq = 8411,
    CmdGridFightTraitUpdateScRsp = 8554,
    CmdPoibjkbdlli = 8584,
    CmdCbeeklpiemk = 8492,
    CmdFdjcihmfomc = 8776,
    CmdGridFightRecycleRoleScRsp = 8449,
    CmdGridFightBackToPrepareScRsp = 8592,
    CmdFlhidbdffkg = 8757,
    CmdAgoblkjfjdl = 8768,
    CmdGridFightBackToPrepareCsReq = 8748,
    CmdGridFightSyncKeepWinCntNotify = 8529,
}
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::IgdbcjjbmpdNlcdgipgfdj => "IGDBCJJBMPD_NLCDGIPGFDJ",
            Self::IgdbcjjbmpdIlonclkimjm => "IGDBCJJBMPD_ILONCLKIMJM",
            Self::CmdGridFightHandlePendingActionCsReq => {
                "CmdGridFightHandlePendingActionCsReq"
            }
            Self::CmdGaekhidcfhf => "CmdGAEKHIDCFHF",
            Self::CmdJiomocfomoa => "CmdJIOMOCFOMOA",
            Self::CmdOennaoafama => "CmdOENNAOAFAMA",
            Self::CmdIkmocjbmgoj => "CmdIKMOCJBMGOJ",
            Self::CmdPhgffoejebm => "CmdPHGFFOEJEBM",
            Self::CmdUpdateGameFormationScRsp => "CmdUpdateGameFormationScRsp",
            Self::CmdFavourArchiveScRsp => "CmdFavourArchiveScRsp",
            Self::CmdGridFightSyncUpdateResultScNotify => {
                "CmdGridFightSyncUpdateResultScNotify"
            }
            Self::CmdGridFightUpdateEquipTrackCsReq => {
                "CmdGridFightUpdateEquipTrackCsReq"
            }
            Self::CmdKoiamdkefkh => "CmdKOIAMDKEFKH",
            Self::CmdFavourArchiveCsReq => "CmdFavourArchiveCsReq",
            Self::CmdGridFightSeasonHandBookNotify => "CmdGridFightSeasonHandBookNotify",
            Self::CmdMoionldjgji => "CmdMOIONLDJGJI",
            Self::CmdGridFightGetArchiveCsReq => "CmdGridFightGetArchiveCsReq",
            Self::CmdMcipomdgbca => "CmdMCIPOMDGBCA",
            Self::CmdGridFightEndBattleStageNotify => "CmdGridFightEndBattleStageNotify",
            Self::CmdIaabdbbjhol => "CmdIAABDBBJHOL",
            Self::CmdFgmkgoiiffl => "CmdFGMKGOIIFFL",
            Self::CmdGebbmdcolch => "CmdGEBBMDCOLCH",
            Self::CmdGridFightRecycleRoleCsReq => "CmdGridFightRecycleRoleCsReq",
            Self::CmdGridFightPermanentTalentResetScRsp => {
                "CmdGridFightPermanentTalentResetScRsp"
            }
            Self::CmdJboopapnfdc => "CmdJBOOPAPNFDC",
            Self::CmdGridFightGetDataScRsp => "CmdGridFightGetDataScRsp",
            Self::CmdEmfjdodngif => "CmdEMFJDODNGIF",
            Self::CmdGridFightUpdateEquipTrackScRsp => {
                "CmdGridFightUpdateEquipTrackScRsp"
            }
            Self::CmdCgbkkgnfmkl => "CmdCGBKKGNFMKL",
            Self::CmdLcfaagejgbg => "CmdLCFAAGEJGBG",
            Self::CmdMflddcifajn => "CmdMFLDDCIFAJN",
            Self::CmdLdnpbalacdb => "CmdLDNPBALACDB",
            Self::CmdCheckTextCsReq => "CmdCheckTextCsReq",
            Self::CmdPnhdgcblpgd => "CmdPNHDGCBLPGD",
            Self::CmdAbcbkhaieog => "CmdABCBKHAIEOG",
            Self::CmdMcdbjhocghi => "CmdMCDBJHOCGHI",
            Self::CmdNdamfdidkgb => "CmdNDAMFDIDKGB",
            Self::CmdGridFightSeasonTalentResetScRsp => {
                "CmdGridFightSeasonTalentResetScRsp"
            }
            Self::CmdAaghpdhcooi => "CmdAAGHPDHCOOI",
            Self::CmdBdncooanaea => "CmdBDNCOOANAEA",
            Self::CmdCfidojgkbhb => "CmdCFIDOJGKBHB",
            Self::CmdGridFightSyncVirtualItemNotify => {
                "CmdGridFightSyncVirtualItemNotify"
            }
            Self::CmdIlcpglaaadl => "CmdILCPGLAAADL",
            Self::CmdCegiakadmhp => "CmdCEGIAKADMHP",
            Self::CmdGgamiknedge => "CmdGGAMIKNEDGE",
            Self::CmdGridFightGetArchiveScRsp => "CmdGridFightGetArchiveScRsp",
            Self::CmdAameaobegka => "CmdAAMEAOBEGKA",
            Self::CmdGridFightHandlePendingActionScRsp => {
                "CmdGridFightHandlePendingActionScRsp"
            }
            Self::CmdGridFightUpdatePosScRsp => "CmdGridFightUpdatePosScRsp",
            Self::CmdGridFightPermanentTalentEnableCsReq => {
                "CmdGridFightPermanentTalentEnableCsReq"
            }
            Self::CmdOebklepmmke => "CmdOEBKLEPMMKE",
            Self::CmdKahaoojhjpk => "CmdKAHAOOJHJPK",
            Self::CmdAlnfebkhcfc => "CmdALNFEBKHCFC",
            Self::CmdFhnlbdmkpem => "CmdFHNLBDMKPEM",
            Self::CmdGridFightSeasonTalentEnableCsReq => {
                "CmdGridFightSeasonTalentEnableCsReq"
            }
            Self::CmdIifppbcfbbc => "CmdIIFPPBCFBBC",
            Self::CmdCfheknfnmip => "CmdCFHEKNFNMIP",
            Self::CmdGridFightSeasonTalentEnableScRsp => {
                "CmdGridFightSeasonTalentEnableScRsp"
            }
            Self::CmdGridFightSeasonTalentResetCsReq => {
                "CmdGridFightSeasonTalentResetCsReq"
            }
            Self::CmdCcgjddbkide => "CmdCCGJDDBKIDE",
            Self::CmdUpdateGameFormationCsReq => "CmdUpdateGameFormationCsReq",
            Self::CmdGridFightSettleNotify => "CmdGridFightSettleNotify",
            Self::CmdGridFightPermanentTalentEnableScRsp => {
                "CmdGridFightPermanentTalentEnableScRsp"
            }
            Self::CmdHmbdoohkibc => "CmdHMBDOOHKIBC",
            Self::CmdJkgilkgilai => "CmdJKGILKGILAI",
            Self::IgdbcjjbmpdOofhgfdngib => "IGDBCJJBMPD_OOFHGFDNGIB",
            Self::CmdGridFightEnterBattleStageCsReq => {
                "CmdGridFightEnterBattleStageCsReq"
            }
            Self::CmdLdbjkkchngj => "CmdLDBJKKCHNGJ",
            Self::CmdPajhfekapmn => "CmdPAJHFEKAPMN",
            Self::CmdGridFightUpdatePosCsReq => "CmdGridFightUpdatePosCsReq",
            Self::CmdLlpmakihapl => "CmdLLPMAKIHAPL",
            Self::CmdGetGameFormationScRsp => "CmdGetGameFormationScRsp",
            Self::CmdLfeflimjogo => "CmdLFEFLIMJOGO",
            Self::CmdCnoapamndoa => "CmdCNOAPAMNDOA",
            Self::CmdGetGameFormationCsReq => "CmdGetGameFormationCsReq",
            Self::CmdLkdmcpdhegm => "CmdLKDMCPDHEGM",
            Self::CmdDhocojljppa => "CmdDHOCOJLJPPA",
            Self::CmdAiddodlhdle => "CmdAIDDODLHDLE",
            Self::CmdHkoaockbbja => "CmdHKOAOCKBBJA",
            Self::CmdGridFightTraitUpdateCsReq => "CmdGridFightTraitUpdateCsReq",
            Self::CmdGdhfmhkfeal => "CmdGDHFMHKFEAL",
            Self::CmdGridFightEnterBattleStageScRsp => {
                "CmdGridFightEnterBattleStageScRsp"
            }
            Self::CmdCheckTextRsp => "CmdCheckTextRsp",
            Self::CmdGridFightWeeklyExtraSeasonExpScRsp => {
                "CmdGridFightWeeklyExtraSeasonExpScRsp"
            }
            Self::CmdHfnihdlfmcj => "CmdHFNIHDLFMCJ",
            Self::CmdGridFightGetDataCsReq => "CmdGridFightGetDataCsReq",
            Self::CmdGridFightPermanentTalentResetCsReq => {
                "CmdGridFightPermanentTalentResetCsReq"
            }
            Self::CmdGridFightTraitUpdateScRsp => "CmdGridFightTraitUpdateScRsp",
            Self::CmdPoibjkbdlli => "CmdPOIBJKBDLLI",
            Self::CmdCbeeklpiemk => "CmdCBEEKLPIEMK",
            Self::CmdFdjcihmfomc => "CmdFDJCIHMFOMC",
            Self::CmdGridFightRecycleRoleScRsp => "CmdGridFightRecycleRoleScRsp",
            Self::CmdGridFightBackToPrepareScRsp => "CmdGridFightBackToPrepareScRsp",
            Self::CmdFlhidbdffkg => "CmdFLHIDBDFFKG",
            Self::CmdAgoblkjfjdl => "CmdAGOBLKJFJDL",
            Self::CmdGridFightBackToPrepareCsReq => "CmdGridFightBackToPrepareCsReq",
            Self::CmdGridFightSyncKeepWinCntNotify => "CmdGridFightSyncKeepWinCntNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IGDBCJJBMPD_NLCDGIPGFDJ" => Some(Self::IgdbcjjbmpdNlcdgipgfdj),
            "IGDBCJJBMPD_ILONCLKIMJM" => Some(Self::IgdbcjjbmpdIlonclkimjm),
            "CmdGridFightHandlePendingActionCsReq" => {
                Some(Self::CmdGridFightHandlePendingActionCsReq)
            }
            "CmdGAEKHIDCFHF" => Some(Self::CmdGaekhidcfhf),
            "CmdJIOMOCFOMOA" => Some(Self::CmdJiomocfomoa),
            "CmdOENNAOAFAMA" => Some(Self::CmdOennaoafama),
            "CmdIKMOCJBMGOJ" => Some(Self::CmdIkmocjbmgoj),
            "CmdPHGFFOEJEBM" => Some(Self::CmdPhgffoejebm),
            "CmdUpdateGameFormationScRsp" => Some(Self::CmdUpdateGameFormationScRsp),
            "CmdFavourArchiveScRsp" => Some(Self::CmdFavourArchiveScRsp),
            "CmdGridFightSyncUpdateResultScNotify" => {
                Some(Self::CmdGridFightSyncUpdateResultScNotify)
            }
            "CmdGridFightUpdateEquipTrackCsReq" => {
                Some(Self::CmdGridFightUpdateEquipTrackCsReq)
            }
            "CmdKOIAMDKEFKH" => Some(Self::CmdKoiamdkefkh),
            "CmdFavourArchiveCsReq" => Some(Self::CmdFavourArchiveCsReq),
            "CmdGridFightSeasonHandBookNotify" => {
                Some(Self::CmdGridFightSeasonHandBookNotify)
            }
            "CmdMOIONLDJGJI" => Some(Self::CmdMoionldjgji),
            "CmdGridFightGetArchiveCsReq" => Some(Self::CmdGridFightGetArchiveCsReq),
            "CmdMCIPOMDGBCA" => Some(Self::CmdMcipomdgbca),
            "CmdGridFightEndBattleStageNotify" => {
                Some(Self::CmdGridFightEndBattleStageNotify)
            }
            "CmdIAABDBBJHOL" => Some(Self::CmdIaabdbbjhol),
            "CmdFGMKGOIIFFL" => Some(Self::CmdFgmkgoiiffl),
            "CmdGEBBMDCOLCH" => Some(Self::CmdGebbmdcolch),
            "CmdGridFightRecycleRoleCsReq" => Some(Self::CmdGridFightRecycleRoleCsReq),
            "CmdGridFightPermanentTalentResetScRsp" => {
                Some(Self::CmdGridFightPermanentTalentResetScRsp)
            }
            "CmdJBOOPAPNFDC" => Some(Self::CmdJboopapnfdc),
            "CmdGridFightGetDataScRsp" => Some(Self::CmdGridFightGetDataScRsp),
            "CmdEMFJDODNGIF" => Some(Self::CmdEmfjdodngif),
            "CmdGridFightUpdateEquipTrackScRsp" => {
                Some(Self::CmdGridFightUpdateEquipTrackScRsp)
            }
            "CmdCGBKKGNFMKL" => Some(Self::CmdCgbkkgnfmkl),
            "CmdLCFAAGEJGBG" => Some(Self::CmdLcfaagejgbg),
            "CmdMFLDDCIFAJN" => Some(Self::CmdMflddcifajn),
            "CmdLDNPBALACDB" => Some(Self::CmdLdnpbalacdb),
            "CmdCheckTextCsReq" => Some(Self::CmdCheckTextCsReq),
            "CmdPNHDGCBLPGD" => Some(Self::CmdPnhdgcblpgd),
            "CmdABCBKHAIEOG" => Some(Self::CmdAbcbkhaieog),
            "CmdMCDBJHOCGHI" => Some(Self::CmdMcdbjhocghi),
            "CmdNDAMFDIDKGB" => Some(Self::CmdNdamfdidkgb),
            "CmdGridFightSeasonTalentResetScRsp" => {
                Some(Self::CmdGridFightSeasonTalentResetScRsp)
            }
            "CmdAAGHPDHCOOI" => Some(Self::CmdAaghpdhcooi),
            "CmdBDNCOOANAEA" => Some(Self::CmdBdncooanaea),
            "CmdCFIDOJGKBHB" => Some(Self::CmdCfidojgkbhb),
            "CmdGridFightSyncVirtualItemNotify" => {
                Some(Self::CmdGridFightSyncVirtualItemNotify)
            }
            "CmdILCPGLAAADL" => Some(Self::CmdIlcpglaaadl),
            "CmdCEGIAKADMHP" => Some(Self::CmdCegiakadmhp),
            "CmdGGAMIKNEDGE" => Some(Self::CmdGgamiknedge),
            "CmdGridFightGetArchiveScRsp" => Some(Self::CmdGridFightGetArchiveScRsp),
            "CmdAAMEAOBEGKA" => Some(Self::CmdAameaobegka),
            "CmdGridFightHandlePendingActionScRsp" => {
                Some(Self::CmdGridFightHandlePendingActionScRsp)
            }
            "CmdGridFightUpdatePosScRsp" => Some(Self::CmdGridFightUpdatePosScRsp),
            "CmdGridFightPermanentTalentEnableCsReq" => {
                Some(Self::CmdGridFightPermanentTalentEnableCsReq)
            }
            "CmdOEBKLEPMMKE" => Some(Self::CmdOebklepmmke),
            "CmdKAHAOOJHJPK" => Some(Self::CmdKahaoojhjpk),
            "CmdALNFEBKHCFC" => Some(Self::CmdAlnfebkhcfc),
            "CmdFHNLBDMKPEM" => Some(Self::CmdFhnlbdmkpem),
            "CmdGridFightSeasonTalentEnableCsReq" => {
                Some(Self::CmdGridFightSeasonTalentEnableCsReq)
            }
            "CmdIIFPPBCFBBC" => Some(Self::CmdIifppbcfbbc),
            "CmdCFHEKNFNMIP" => Some(Self::CmdCfheknfnmip),
            "CmdGridFightSeasonTalentEnableScRsp" => {
                Some(Self::CmdGridFightSeasonTalentEnableScRsp)
            }
            "CmdGridFightSeasonTalentResetCsReq" => {
                Some(Self::CmdGridFightSeasonTalentResetCsReq)
            }
            "CmdCCGJDDBKIDE" => Some(Self::CmdCcgjddbkide),
            "CmdUpdateGameFormationCsReq" => Some(Self::CmdUpdateGameFormationCsReq),
            "CmdGridFightSettleNotify" => Some(Self::CmdGridFightSettleNotify),
            "CmdGridFightPermanentTalentEnableScRsp" => {
                Some(Self::CmdGridFightPermanentTalentEnableScRsp)
            }
            "CmdHMBDOOHKIBC" => Some(Self::CmdHmbdoohkibc),
            "CmdJKGILKGILAI" => Some(Self::CmdJkgilkgilai),
            "IGDBCJJBMPD_OOFHGFDNGIB" => Some(Self::IgdbcjjbmpdOofhgfdngib),
            "CmdGridFightEnterBattleStageCsReq" => {
                Some(Self::CmdGridFightEnterBattleStageCsReq)
            }
            "CmdLDBJKKCHNGJ" => Some(Self::CmdLdbjkkchngj),
            "CmdPAJHFEKAPMN" => Some(Self::CmdPajhfekapmn),
            "CmdGridFightUpdatePosCsReq" => Some(Self::CmdGridFightUpdatePosCsReq),
            "CmdLLPMAKIHAPL" => Some(Self::CmdLlpmakihapl),
            "CmdGetGameFormationScRsp" => Some(Self::CmdGetGameFormationScRsp),
            "CmdLFEFLIMJOGO" => Some(Self::CmdLfeflimjogo),
            "CmdCNOAPAMNDOA" => Some(Self::CmdCnoapamndoa),
            "CmdGetGameFormationCsReq" => Some(Self::CmdGetGameFormationCsReq),
            "CmdLKDMCPDHEGM" => Some(Self::CmdLkdmcpdhegm),
            "CmdDHOCOJLJPPA" => Some(Self::CmdDhocojljppa),
            "CmdAIDDODLHDLE" => Some(Self::CmdAiddodlhdle),
            "CmdHKOAOCKBBJA" => Some(Self::CmdHkoaockbbja),
            "CmdGridFightTraitUpdateCsReq" => Some(Self::CmdGridFightTraitUpdateCsReq),
            "CmdGDHFMHKFEAL" => Some(Self::CmdGdhfmhkfeal),
            "CmdGridFightEnterBattleStageScRsp" => {
                Some(Self::CmdGridFightEnterBattleStageScRsp)
            }
            "CmdCheckTextRsp" => Some(Self::CmdCheckTextRsp),
            "CmdGridFightWeeklyExtraSeasonExpScRsp" => {
                Some(Self::CmdGridFightWeeklyExtraSeasonExpScRsp)
            }
            "CmdHFNIHDLFMCJ" => Some(Self::CmdHfnihdlfmcj),
            "CmdGridFightGetDataCsReq" => Some(Self::CmdGridFightGetDataCsReq),
            "CmdGridFightPermanentTalentResetCsReq" => {
                Some(Self::CmdGridFightPermanentTalentResetCsReq)
            }
            "CmdGridFightTraitUpdateScRsp" => Some(Self::CmdGridFightTraitUpdateScRsp),
            "CmdPOIBJKBDLLI" => Some(Self::CmdPoibjkbdlli),
            "CmdCBEEKLPIEMK" => Some(Self::CmdCbeeklpiemk),
            "CmdFDJCIHMFOMC" => Some(Self::CmdFdjcihmfomc),
            "CmdGridFightRecycleRoleScRsp" => Some(Self::CmdGridFightRecycleRoleScRsp),
            "CmdGridFightBackToPrepareScRsp" => {
                Some(Self::CmdGridFightBackToPrepareScRsp)
            }
            "CmdFLHIDBDFFKG" => Some(Self::CmdFlhidbdffkg),
            "CmdAGOBLKJFJDL" => Some(Self::CmdAgoblkjfjdl),
            "CmdGridFightBackToPrepareCsReq" => {
                Some(Self::CmdGridFightBackToPrepareCsReq)
            }
            "CmdGridFightSyncKeepWinCntNotify" => {
                Some(Self::CmdGridFightSyncKeepWinCntNotify)
            }
            _ => None,
        }
    }
}
/// Obf: GGNKDLAHAGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightLockType {
    GgnkdlahaghEajghknnjbb = 0,
    GgnkdlahaghFhohpfbdnoh = 6,
    GgnkdlahaghGbdnjlpbnpo = 7,
    GgnkdlahaghDaobnjogbbf = 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::GgnkdlahaghEajghknnjbb => "GGNKDLAHAGH_EAJGHKNNJBB",
            Self::GgnkdlahaghFhohpfbdnoh => "GGNKDLAHAGH_FHOHPFBDNOH",
            Self::GgnkdlahaghGbdnjlpbnpo => "GGNKDLAHAGH_GBDNJLPBNPO",
            Self::GgnkdlahaghDaobnjogbbf => "GGNKDLAHAGH_DAOBNJOGBBF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GGNKDLAHAGH_EAJGHKNNJBB" => Some(Self::GgnkdlahaghEajghknnjbb),
            "GGNKDLAHAGH_FHOHPFBDNOH" => Some(Self::GgnkdlahaghFhohpfbdnoh),
            "GGNKDLAHAGH_GBDNJLPBNPO" => Some(Self::GgnkdlahaghGbdnjlpbnpo),
            "GGNKDLAHAGH_DAOBNJOGBBF" => Some(Self::GgnkdlahaghDaobnjogbbf),
            _ => None,
        }
    }
}
/// Obf: KMJNPEMPNMC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightLockReason {
    KmjnpempnmcNeelhdgiled = 0,
    KmjnpempnmcIdodgikbbae = 1,
    KmjnpempnmcNjjgbcmlnli = 2,
    KmjnpempnmcAeinkinpafl = 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::KmjnpempnmcNeelhdgiled => "KMJNPEMPNMC_NEELHDGILED",
            Self::KmjnpempnmcIdodgikbbae => "KMJNPEMPNMC_IDODGIKBBAE",
            Self::KmjnpempnmcNjjgbcmlnli => "KMJNPEMPNMC_NJJGBCMLNLI",
            Self::KmjnpempnmcAeinkinpafl => "KMJNPEMPNMC_AEINKINPAFL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KMJNPEMPNMC_NEELHDGILED" => Some(Self::KmjnpempnmcNeelhdgiled),
            "KMJNPEMPNMC_IDODGIKBBAE" => Some(Self::KmjnpempnmcIdodgikbbae),
            "KMJNPEMPNMC_NJJGBCMLNLI" => Some(Self::KmjnpempnmcNjjgbcmlnli),
            "KMJNPEMPNMC_AEINKINPAFL" => Some(Self::KmjnpempnmcAeinkinpafl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bgmlejcofpk {
    Nlcdgipgfdj = 0,
    Enplacdljga = 1,
    Dacemidfhog = 2,
}
impl Bgmlejcofpk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BGMLEJCOFPK_NLCDGIPGFDJ",
            Self::Enplacdljga => "BGMLEJCOFPK_ENPLACDLJGA",
            Self::Dacemidfhog => "BGMLEJCOFPK_DACEMIDFHOG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BGMLEJCOFPK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BGMLEJCOFPK_ENPLACDLJGA" => Some(Self::Enplacdljga),
            "BGMLEJCOFPK_DACEMIDFHOG" => Some(Self::Dacemidfhog),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ibbdhfaefnh {
    Nlcdgipgfdj = 0,
    Bmoogbnpeaa = 1,
    Cihfgjdchia = 2,
    Pjpfihfahgo = 3,
}
impl Ibbdhfaefnh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "IBBDHFAEFNH_NLCDGIPGFDJ",
            Self::Bmoogbnpeaa => "IBBDHFAEFNH_BMOOGBNPEAA",
            Self::Cihfgjdchia => "IBBDHFAEFNH_CIHFGJDCHIA",
            Self::Pjpfihfahgo => "IBBDHFAEFNH_PJPFIHFAHGO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IBBDHFAEFNH_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "IBBDHFAEFNH_BMOOGBNPEAA" => Some(Self::Bmoogbnpeaa),
            "IBBDHFAEFNH_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            "IBBDHFAEFNH_PJPFIHFAHGO" => Some(Self::Pjpfihfahgo),
            _ => None,
        }
    }
}
/// Obf: JJDFGMMMCMI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightUpdateSrcType {
    JjdfgmmmcmiCmoalmglkie = 0,
    JjdfgmmmcmiDbiekomkbin = 1,
    JjdfgmmmcmiNfeghcianjo = 2,
    JjdfgmmmcmiOieejkmjmdl = 3,
    JjdfgmmmcmiEjljojfecpm = 4,
    JjdfgmmmcmiGlfohbcegha = 5,
    JjdfgmmmcmiHlmcfklkbpp = 6,
    JjdfgmmmcmiJncnkphpfdh = 7,
    JjdfgmmmcmiIegcgbnpphn = 8,
    JjdfgmmmcmiNjbmbfflngm = 9,
    JjdfgmmmcmiAnmfpkdficd = 10,
    JjdfgmmmcmiPnpmehhefpk = 11,
    JjdfgmmmcmiNjpcdllohno = 12,
    JjdfgmmmcmiMahelboahcg = 13,
    JjdfgmmmcmiDookaaeogpb = 14,
    JjdfgmmmcmiLghjpnhogga = 15,
    JjdfgmmmcmiPkjficdogbh = 16,
    JjdfgmmmcmiGlkagbglenm = 17,
    JjdfgmmmcmiEabnjfbhkgg = 18,
    JjdfgmmmcmiFdoimknlnlp = 19,
    JjdfgmmmcmiNedkaljpmlg = 20,
    JjdfgmmmcmiLlenmljbidn = 21,
    JjdfgmmmcmiMkncmfalkpm = 22,
    JjdfgmmmcmiKnejnnejnbc = 23,
    JjdfgmmmcmiEgikdcaemnl = 24,
    JjdfgmmmcmiJomidgfchph = 25,
    JjdfgmmmcmiAfafjhahneb = 26,
    JjdfgmmmcmiOabpapcnckg = 27,
    JjdfgmmmcmiIhekgigcgec = 28,
    JjdfgmmmcmiEcjpfohnede = 29,
    JjdfgmmmcmiImdopabagga = 30,
    JjdfgmmmcmiEbmeifgbjim = 31,
    JjdfgmmmcmiFfkpfgfjcel = 32,
    JjdfgmmmcmiNokdkpgnpkk = 33,
    JjdfgmmmcmiJngkohjpihk = 34,
    JjdfgmmmcmiDmjnoeigdpa = 35,
    JjdfgmmmcmiIocfclmngda = 36,
}
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::JjdfgmmmcmiCmoalmglkie => "JJDFGMMMCMI_CMOALMGLKIE",
            Self::JjdfgmmmcmiDbiekomkbin => "JJDFGMMMCMI_DBIEKOMKBIN",
            Self::JjdfgmmmcmiNfeghcianjo => "JJDFGMMMCMI_NFEGHCIANJO",
            Self::JjdfgmmmcmiOieejkmjmdl => "JJDFGMMMCMI_OIEEJKMJMDL",
            Self::JjdfgmmmcmiEjljojfecpm => "JJDFGMMMCMI_EJLJOJFECPM",
            Self::JjdfgmmmcmiGlfohbcegha => "JJDFGMMMCMI_GLFOHBCEGHA",
            Self::JjdfgmmmcmiHlmcfklkbpp => "JJDFGMMMCMI_HLMCFKLKBPP",
            Self::JjdfgmmmcmiJncnkphpfdh => "JJDFGMMMCMI_JNCNKPHPFDH",
            Self::JjdfgmmmcmiIegcgbnpphn => "JJDFGMMMCMI_IEGCGBNPPHN",
            Self::JjdfgmmmcmiNjbmbfflngm => "JJDFGMMMCMI_NJBMBFFLNGM",
            Self::JjdfgmmmcmiAnmfpkdficd => "JJDFGMMMCMI_ANMFPKDFICD",
            Self::JjdfgmmmcmiPnpmehhefpk => "JJDFGMMMCMI_PNPMEHHEFPK",
            Self::JjdfgmmmcmiNjpcdllohno => "JJDFGMMMCMI_NJPCDLLOHNO",
            Self::JjdfgmmmcmiMahelboahcg => "JJDFGMMMCMI_MAHELBOAHCG",
            Self::JjdfgmmmcmiDookaaeogpb => "JJDFGMMMCMI_DOOKAAEOGPB",
            Self::JjdfgmmmcmiLghjpnhogga => "JJDFGMMMCMI_LGHJPNHOGGA",
            Self::JjdfgmmmcmiPkjficdogbh => "JJDFGMMMCMI_PKJFICDOGBH",
            Self::JjdfgmmmcmiGlkagbglenm => "JJDFGMMMCMI_GLKAGBGLENM",
            Self::JjdfgmmmcmiEabnjfbhkgg => "JJDFGMMMCMI_EABNJFBHKGG",
            Self::JjdfgmmmcmiFdoimknlnlp => "JJDFGMMMCMI_FDOIMKNLNLP",
            Self::JjdfgmmmcmiNedkaljpmlg => "JJDFGMMMCMI_NEDKALJPMLG",
            Self::JjdfgmmmcmiLlenmljbidn => "JJDFGMMMCMI_LLENMLJBIDN",
            Self::JjdfgmmmcmiMkncmfalkpm => "JJDFGMMMCMI_MKNCMFALKPM",
            Self::JjdfgmmmcmiKnejnnejnbc => "JJDFGMMMCMI_KNEJNNEJNBC",
            Self::JjdfgmmmcmiEgikdcaemnl => "JJDFGMMMCMI_EGIKDCAEMNL",
            Self::JjdfgmmmcmiJomidgfchph => "JJDFGMMMCMI_JOMIDGFCHPH",
            Self::JjdfgmmmcmiAfafjhahneb => "JJDFGMMMCMI_AFAFJHAHNEB",
            Self::JjdfgmmmcmiOabpapcnckg => "JJDFGMMMCMI_OABPAPCNCKG",
            Self::JjdfgmmmcmiIhekgigcgec => "JJDFGMMMCMI_IHEKGIGCGEC",
            Self::JjdfgmmmcmiEcjpfohnede => "JJDFGMMMCMI_ECJPFOHNEDE",
            Self::JjdfgmmmcmiImdopabagga => "JJDFGMMMCMI_IMDOPABAGGA",
            Self::JjdfgmmmcmiEbmeifgbjim => "JJDFGMMMCMI_EBMEIFGBJIM",
            Self::JjdfgmmmcmiFfkpfgfjcel => "JJDFGMMMCMI_FFKPFGFJCEL",
            Self::JjdfgmmmcmiNokdkpgnpkk => "JJDFGMMMCMI_NOKDKPGNPKK",
            Self::JjdfgmmmcmiJngkohjpihk => "JJDFGMMMCMI_JNGKOHJPIHK",
            Self::JjdfgmmmcmiDmjnoeigdpa => "JJDFGMMMCMI_DMJNOEIGDPA",
            Self::JjdfgmmmcmiIocfclmngda => "JJDFGMMMCMI_IOCFCLMNGDA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JJDFGMMMCMI_CMOALMGLKIE" => Some(Self::JjdfgmmmcmiCmoalmglkie),
            "JJDFGMMMCMI_DBIEKOMKBIN" => Some(Self::JjdfgmmmcmiDbiekomkbin),
            "JJDFGMMMCMI_NFEGHCIANJO" => Some(Self::JjdfgmmmcmiNfeghcianjo),
            "JJDFGMMMCMI_OIEEJKMJMDL" => Some(Self::JjdfgmmmcmiOieejkmjmdl),
            "JJDFGMMMCMI_EJLJOJFECPM" => Some(Self::JjdfgmmmcmiEjljojfecpm),
            "JJDFGMMMCMI_GLFOHBCEGHA" => Some(Self::JjdfgmmmcmiGlfohbcegha),
            "JJDFGMMMCMI_HLMCFKLKBPP" => Some(Self::JjdfgmmmcmiHlmcfklkbpp),
            "JJDFGMMMCMI_JNCNKPHPFDH" => Some(Self::JjdfgmmmcmiJncnkphpfdh),
            "JJDFGMMMCMI_IEGCGBNPPHN" => Some(Self::JjdfgmmmcmiIegcgbnpphn),
            "JJDFGMMMCMI_NJBMBFFLNGM" => Some(Self::JjdfgmmmcmiNjbmbfflngm),
            "JJDFGMMMCMI_ANMFPKDFICD" => Some(Self::JjdfgmmmcmiAnmfpkdficd),
            "JJDFGMMMCMI_PNPMEHHEFPK" => Some(Self::JjdfgmmmcmiPnpmehhefpk),
            "JJDFGMMMCMI_NJPCDLLOHNO" => Some(Self::JjdfgmmmcmiNjpcdllohno),
            "JJDFGMMMCMI_MAHELBOAHCG" => Some(Self::JjdfgmmmcmiMahelboahcg),
            "JJDFGMMMCMI_DOOKAAEOGPB" => Some(Self::JjdfgmmmcmiDookaaeogpb),
            "JJDFGMMMCMI_LGHJPNHOGGA" => Some(Self::JjdfgmmmcmiLghjpnhogga),
            "JJDFGMMMCMI_PKJFICDOGBH" => Some(Self::JjdfgmmmcmiPkjficdogbh),
            "JJDFGMMMCMI_GLKAGBGLENM" => Some(Self::JjdfgmmmcmiGlkagbglenm),
            "JJDFGMMMCMI_EABNJFBHKGG" => Some(Self::JjdfgmmmcmiEabnjfbhkgg),
            "JJDFGMMMCMI_FDOIMKNLNLP" => Some(Self::JjdfgmmmcmiFdoimknlnlp),
            "JJDFGMMMCMI_NEDKALJPMLG" => Some(Self::JjdfgmmmcmiNedkaljpmlg),
            "JJDFGMMMCMI_LLENMLJBIDN" => Some(Self::JjdfgmmmcmiLlenmljbidn),
            "JJDFGMMMCMI_MKNCMFALKPM" => Some(Self::JjdfgmmmcmiMkncmfalkpm),
            "JJDFGMMMCMI_KNEJNNEJNBC" => Some(Self::JjdfgmmmcmiKnejnnejnbc),
            "JJDFGMMMCMI_EGIKDCAEMNL" => Some(Self::JjdfgmmmcmiEgikdcaemnl),
            "JJDFGMMMCMI_JOMIDGFCHPH" => Some(Self::JjdfgmmmcmiJomidgfchph),
            "JJDFGMMMCMI_AFAFJHAHNEB" => Some(Self::JjdfgmmmcmiAfafjhahneb),
            "JJDFGMMMCMI_OABPAPCNCKG" => Some(Self::JjdfgmmmcmiOabpapcnckg),
            "JJDFGMMMCMI_IHEKGIGCGEC" => Some(Self::JjdfgmmmcmiIhekgigcgec),
            "JJDFGMMMCMI_ECJPFOHNEDE" => Some(Self::JjdfgmmmcmiEcjpfohnede),
            "JJDFGMMMCMI_IMDOPABAGGA" => Some(Self::JjdfgmmmcmiImdopabagga),
            "JJDFGMMMCMI_EBMEIFGBJIM" => Some(Self::JjdfgmmmcmiEbmeifgbjim),
            "JJDFGMMMCMI_FFKPFGFJCEL" => Some(Self::JjdfgmmmcmiFfkpfgfjcel),
            "JJDFGMMMCMI_NOKDKPGNPKK" => Some(Self::JjdfgmmmcmiNokdkpgnpkk),
            "JJDFGMMMCMI_JNGKOHJPIHK" => Some(Self::JjdfgmmmcmiJngkohjpihk),
            "JJDFGMMMCMI_DMJNOEIGDPA" => Some(Self::JjdfgmmmcmiDmjnoeigdpa),
            "JJDFGMMMCMI_IOCFCLMNGDA" => Some(Self::JjdfgmmmcmiIocfclmngda),
            _ => None,
        }
    }
}
/// Obf: IHMJHLGKLHP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipTrackSource {
    IhmjhlgklhpFahmbodelmp = 0,
    IhmjhlgklhpAibfmlhadog = 1,
    IhmjhlgklhpAjgkmjgknne = 2,
    IhmjhlgklhpGemhfffkhap = 3,
}
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::IhmjhlgklhpFahmbodelmp => "IHMJHLGKLHP_FAHMBODELMP",
            Self::IhmjhlgklhpAibfmlhadog => "IHMJHLGKLHP_AIBFMLHADOG",
            Self::IhmjhlgklhpAjgkmjgknne => "IHMJHLGKLHP_AJGKMJGKNNE",
            Self::IhmjhlgklhpGemhfffkhap => "IHMJHLGKLHP_GEMHFFFKHAP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IHMJHLGKLHP_FAHMBODELMP" => Some(Self::IhmjhlgklhpFahmbodelmp),
            "IHMJHLGKLHP_AIBFMLHADOG" => Some(Self::IhmjhlgklhpAibfmlhadog),
            "IHMJHLGKLHP_AJGKMJGKNNE" => Some(Self::IhmjhlgklhpAjgkmjgknne),
            "IHMJHLGKLHP_GEMHFFFKHAP" => Some(Self::IhmjhlgklhpGemhfffkhap),
            _ => None,
        }
    }
}
/// Obf: DMGOKGLBNJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipDressSource {
    DmgokglbnjjImlhgimcjgg = 0,
    DmgokglbnjjGpapbpfnkbi = 1,
    DmgokglbnjjPbkfjgefcid = 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::DmgokglbnjjImlhgimcjgg => "DMGOKGLBNJJ_IMLHGIMCJGG",
            Self::DmgokglbnjjGpapbpfnkbi => "DMGOKGLBNJJ_GPAPBPFNKBI",
            Self::DmgokglbnjjPbkfjgefcid => "DMGOKGLBNJJ_PBKFJGEFCID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DMGOKGLBNJJ_IMLHGIMCJGG" => Some(Self::DmgokglbnjjImlhgimcjgg),
            "DMGOKGLBNJJ_GPAPBPFNKBI" => Some(Self::DmgokglbnjjGpapbpfnkbi),
            "DMGOKGLBNJJ_PBKFJGEFCID" => Some(Self::DmgokglbnjjPbkfjgefcid),
            _ => None,
        }
    }
}
/// Obf: ACNPGGHPDJB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightEquipCraftSource {
    AcnpgghpdjbGddbkipojfk = 0,
    AcnpgghpdjbNaadgnamiok = 1,
    AcnpgghpdjbLepmgcfimgd = 2,
    AcnpgghpdjbKekmkppodeg = 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::AcnpgghpdjbGddbkipojfk => "ACNPGGHPDJB_GDDBKIPOJFK",
            Self::AcnpgghpdjbNaadgnamiok => "ACNPGGHPDJB_NAADGNAMIOK",
            Self::AcnpgghpdjbLepmgcfimgd => "ACNPGGHPDJB_LEPMGCFIMGD",
            Self::AcnpgghpdjbKekmkppodeg => "ACNPGGHPDJB_KEKMKPPODEG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACNPGGHPDJB_GDDBKIPOJFK" => Some(Self::AcnpgghpdjbGddbkipojfk),
            "ACNPGGHPDJB_NAADGNAMIOK" => Some(Self::AcnpgghpdjbNaadgnamiok),
            "ACNPGGHPDJB_LEPMGCFIMGD" => Some(Self::AcnpgghpdjbLepmgcfimgd),
            "ACNPGGHPDJB_KEKMKPPODEG" => Some(Self::AcnpgghpdjbKekmkppodeg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dmhhpoiemfe {
    Lkgaobccpim = 0,
    Bbfohnlcknf = 1,
    Opkijlmklnl = 2,
}
impl Dmhhpoiemfe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lkgaobccpim => "DMHHPOIEMFE_LKGAOBCCPIM",
            Self::Bbfohnlcknf => "DMHHPOIEMFE_BBFOHNLCKNF",
            Self::Opkijlmklnl => "DMHHPOIEMFE_OPKIJLMKLNL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DMHHPOIEMFE_LKGAOBCCPIM" => Some(Self::Lkgaobccpim),
            "DMHHPOIEMFE_BBFOHNLCKNF" => Some(Self::Bbfohnlcknf),
            "DMHHPOIEMFE_OPKIJLMKLNL" => Some(Self::Opkijlmklnl),
            _ => None,
        }
    }
}
/// Obf: JEHMCCGIOKG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightDropReason {
    JehmccgiokgLnpnfldkkck = 0,
    JehmccgiokgElfiemkaljo = 1,
    JehmccgiokgKjmkfeiccda = 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::JehmccgiokgLnpnfldkkck => "JEHMCCGIOKG_LNPNFLDKKCK",
            Self::JehmccgiokgElfiemkaljo => "JEHMCCGIOKG_ELFIEMKALJO",
            Self::JehmccgiokgKjmkfeiccda => "JEHMCCGIOKG_KJMKFEICCDA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JEHMCCGIOKG_LNPNFLDKKCK" => Some(Self::JehmccgiokgLnpnfldkkck),
            "JEHMCCGIOKG_ELFIEMKALJO" => Some(Self::JehmccgiokgElfiemkaljo),
            "JEHMCCGIOKG_KJMKFEICCDA" => Some(Self::JehmccgiokgKjmkfeiccda),
            _ => None,
        }
    }
}
/// Obf: DFIJIBKBEJL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightUpdateGlobalHpReason {
    DfijibkbejlIhndjolckdi = 0,
    DfijibkbejlFdkcphmmfcd = 1,
    DfijibkbejlIegehakdeha = 2,
    DfijibkbejlKeopicgmgpi = 3,
    DfijibkbejlAamhkfpcfpo = 4,
    DfijibkbejlLgccnhobmap = 101,
    DfijibkbejlHbgppehginp = 102,
    DfijibkbejlCjdpihfecnj = 103,
    DfijibkbejlAekpbhcljan = 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::DfijibkbejlIhndjolckdi => "DFIJIBKBEJL_IHNDJOLCKDI",
            Self::DfijibkbejlFdkcphmmfcd => "DFIJIBKBEJL_FDKCPHMMFCD",
            Self::DfijibkbejlIegehakdeha => "DFIJIBKBEJL_IEGEHAKDEHA",
            Self::DfijibkbejlKeopicgmgpi => "DFIJIBKBEJL_KEOPICGMGPI",
            Self::DfijibkbejlAamhkfpcfpo => "DFIJIBKBEJL_AAMHKFPCFPO",
            Self::DfijibkbejlLgccnhobmap => "DFIJIBKBEJL_LGCCNHOBMAP",
            Self::DfijibkbejlHbgppehginp => "DFIJIBKBEJL_HBGPPEHGINP",
            Self::DfijibkbejlCjdpihfecnj => "DFIJIBKBEJL_CJDPIHFECNJ",
            Self::DfijibkbejlAekpbhcljan => "DFIJIBKBEJL_AEKPBHCLJAN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DFIJIBKBEJL_IHNDJOLCKDI" => Some(Self::DfijibkbejlIhndjolckdi),
            "DFIJIBKBEJL_FDKCPHMMFCD" => Some(Self::DfijibkbejlFdkcphmmfcd),
            "DFIJIBKBEJL_IEGEHAKDEHA" => Some(Self::DfijibkbejlIegehakdeha),
            "DFIJIBKBEJL_KEOPICGMGPI" => Some(Self::DfijibkbejlKeopicgmgpi),
            "DFIJIBKBEJL_AAMHKFPCFPO" => Some(Self::DfijibkbejlAamhkfpcfpo),
            "DFIJIBKBEJL_LGCCNHOBMAP" => Some(Self::DfijibkbejlLgccnhobmap),
            "DFIJIBKBEJL_HBGPPEHGINP" => Some(Self::DfijibkbejlHbgppehginp),
            "DFIJIBKBEJL_CJDPIHFECNJ" => Some(Self::DfijibkbejlCjdpihfecnj),
            "DFIJIBKBEJL_AEKPBHCLJAN" => Some(Self::DfijibkbejlAekpbhcljan),
            _ => None,
        }
    }
}
/// Obf: PEIJNEFOCHI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GridFightSettleReason {
    PeijnefochiAibafpbkdji = 0,
    PeijnefochiNocijdinkpj = 1,
    PeijnefochiHigmflkhgnj = 2,
    PeijnefochiJojpgbcecln = 3,
    PeijnefochiNbppjedaifn = 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::PeijnefochiAibafpbkdji => "PEIJNEFOCHI_AIBAFPBKDJI",
            Self::PeijnefochiNocijdinkpj => "PEIJNEFOCHI_NOCIJDINKPJ",
            Self::PeijnefochiHigmflkhgnj => "PEIJNEFOCHI_HIGMFLKHGNJ",
            Self::PeijnefochiJojpgbcecln => "PEIJNEFOCHI_JOJPGBCECLN",
            Self::PeijnefochiNbppjedaifn => "PEIJNEFOCHI_NBPPJEDAIFN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PEIJNEFOCHI_AIBAFPBKDJI" => Some(Self::PeijnefochiAibafpbkdji),
            "PEIJNEFOCHI_NOCIJDINKPJ" => Some(Self::PeijnefochiNocijdinkpj),
            "PEIJNEFOCHI_HIGMFLKHGNJ" => Some(Self::PeijnefochiHigmflkhgnj),
            "PEIJNEFOCHI_JOJPGBCECLN" => Some(Self::PeijnefochiJojpgbcecln),
            "PEIJNEFOCHI_NBPPJEDAIFN" => Some(Self::PeijnefochiNbppjedaifn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mljiildndpl {
    Lahjfefdobc = 0,
    Njobaddlbgk = 1,
    Fagecpgmpeh = 2,
}
impl Mljiildndpl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lahjfefdobc => "MLJIILDNDPL_LAHJFEFDOBC",
            Self::Njobaddlbgk => "MLJIILDNDPL_NJOBADDLBGK",
            Self::Fagecpgmpeh => "MLJIILDNDPL_FAGECPGMPEH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MLJIILDNDPL_LAHJFEFDOBC" => Some(Self::Lahjfefdobc),
            "MLJIILDNDPL_NJOBADDLBGK" => Some(Self::Njobaddlbgk),
            "MLJIILDNDPL_FAGECPGMPEH" => Some(Self::Fagecpgmpeh),
            _ => None,
        }
    }
}
/// Obf: FPGIGBAMDDP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeartdialType {
    FpgigbamddpNlcdgipgfdj = 0,
    CmdSubmitEmotionItemCsReq = 6388,
    CmdChangeScriptEmotionScRsp = 6358,
    CmdHeartDialScriptChangeScNotify = 6326,
    CmdSubmitEmotionItemScRsp = 6381,
    CmdGetHeartDialInfoCsReq = 6325,
    CmdHeartDialTraceScriptCsReq = 6313,
    CmdFinishEmotionDialoguePerformanceScRsp = 6347,
    CmdHeartDialTraceScriptScRsp = 6371,
    CmdChangeScriptEmotionCsReq = 6393,
    CmdFinishEmotionDialoguePerformanceCsReq = 6386,
    CmdGetHeartDialInfoScRsp = 6378,
}
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::FpgigbamddpNlcdgipgfdj => "FPGIGBAMDDP_NLCDGIPGFDJ",
            Self::CmdSubmitEmotionItemCsReq => "CmdSubmitEmotionItemCsReq",
            Self::CmdChangeScriptEmotionScRsp => "CmdChangeScriptEmotionScRsp",
            Self::CmdHeartDialScriptChangeScNotify => "CmdHeartDialScriptChangeScNotify",
            Self::CmdSubmitEmotionItemScRsp => "CmdSubmitEmotionItemScRsp",
            Self::CmdGetHeartDialInfoCsReq => "CmdGetHeartDialInfoCsReq",
            Self::CmdHeartDialTraceScriptCsReq => "CmdHeartDialTraceScriptCsReq",
            Self::CmdFinishEmotionDialoguePerformanceScRsp => {
                "CmdFinishEmotionDialoguePerformanceScRsp"
            }
            Self::CmdHeartDialTraceScriptScRsp => "CmdHeartDialTraceScriptScRsp",
            Self::CmdChangeScriptEmotionCsReq => "CmdChangeScriptEmotionCsReq",
            Self::CmdFinishEmotionDialoguePerformanceCsReq => {
                "CmdFinishEmotionDialoguePerformanceCsReq"
            }
            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 {
            "FPGIGBAMDDP_NLCDGIPGFDJ" => Some(Self::FpgigbamddpNlcdgipgfdj),
            "CmdSubmitEmotionItemCsReq" => Some(Self::CmdSubmitEmotionItemCsReq),
            "CmdChangeScriptEmotionScRsp" => Some(Self::CmdChangeScriptEmotionScRsp),
            "CmdHeartDialScriptChangeScNotify" => {
                Some(Self::CmdHeartDialScriptChangeScNotify)
            }
            "CmdSubmitEmotionItemScRsp" => Some(Self::CmdSubmitEmotionItemScRsp),
            "CmdGetHeartDialInfoCsReq" => Some(Self::CmdGetHeartDialInfoCsReq),
            "CmdHeartDialTraceScriptCsReq" => Some(Self::CmdHeartDialTraceScriptCsReq),
            "CmdFinishEmotionDialoguePerformanceScRsp" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceScRsp)
            }
            "CmdHeartDialTraceScriptScRsp" => Some(Self::CmdHeartDialTraceScriptScRsp),
            "CmdChangeScriptEmotionCsReq" => Some(Self::CmdChangeScriptEmotionCsReq),
            "CmdFinishEmotionDialoguePerformanceCsReq" => {
                Some(Self::CmdFinishEmotionDialoguePerformanceCsReq)
            }
            "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 {
    Coeejalelpf = 0,
    Badpbgfjpnn = 1,
    GameLockInfo = 2,
    Ccjmknnhkke = 3,
    Bejebbnfgpm = 4,
    Ngnfoihnlmj = 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::Coeejalelpf => "HeartDialStepType_COEEJALELPF",
            Self::Badpbgfjpnn => "HeartDialStepType_BADPBGFJPNN",
            Self::GameLockInfo => "HeartDialStepType_game_lock_info",
            Self::Ccjmknnhkke => "HeartDialStepType_CCJMKNNHKKE",
            Self::Bejebbnfgpm => "HeartDialStepType_BEJEBBNFGPM",
            Self::Ngnfoihnlmj => "HeartDialStepType_NGNFOIHNLMJ",
        }
    }
    /// 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_COEEJALELPF" => Some(Self::Coeejalelpf),
            "HeartDialStepType_BADPBGFJPNN" => Some(Self::Badpbgfjpnn),
            "HeartDialStepType_game_lock_info" => Some(Self::GameLockInfo),
            "HeartDialStepType_CCJMKNNHKKE" => Some(Self::Ccjmknnhkke),
            "HeartDialStepType_BEJEBBNFGPM" => Some(Self::Bejebbnfgpm),
            "HeartDialStepType_NGNFOIHNLMJ" => Some(Self::Ngnfoihnlmj),
            _ => 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: AMJEMJIDNKF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHeliobusType {
    AmjemjidnkfNlcdgipgfdj = 0,
    CmdHeliobusSnsCommentCsReq = 5826,
    CmdHeliobusUpgradeLevelScRsp = 5838,
    CmdHeliobusLineupUpdateScNotify = 5872,
    CmdHeliobusSelectSkillScRsp = 5811,
    CmdHeliobusSnsUpdateScNotify = 5871,
    CmdHeliobusUpgradeLevelCsReq = 5833,
    CmdHeliobusSnsPostCsReq = 5888,
    CmdHeliobusActivityDataScRsp = 5878,
    CmdHeliobusStartRaidCsReq = 5865,
    CmdHeliobusInfoChangedScNotify = 5840,
    CmdHeliobusSnsCommentScRsp = 5813,
    CmdHeliobusSnsLikeCsReq = 5886,
    CmdHeliobusEnterBattleCsReq = 5845,
    CmdHeliobusSnsReadScRsp = 5858,
    CmdHeliobusChallengeUpdateScNotify = 5842,
    CmdHeliobusStartRaidScRsp = 5830,
    CmdHeliobusActivityDataCsReq = 5825,
    CmdHeliobusSnsReadCsReq = 5893,
    CmdHeliobusSnsLikeScRsp = 5847,
    AmjemjidnkfFlpcdjfjhhm = 5804,
    CmdHeliobusEnterBattleScRsp = 5869,
    CmdHeliobusUnlockSkillScNotify = 5839,
    CmdHeliobusSnsPostScRsp = 5881,
}
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::AmjemjidnkfNlcdgipgfdj => "AMJEMJIDNKF_NLCDGIPGFDJ",
            Self::CmdHeliobusSnsCommentCsReq => "CmdHeliobusSnsCommentCsReq",
            Self::CmdHeliobusUpgradeLevelScRsp => "CmdHeliobusUpgradeLevelScRsp",
            Self::CmdHeliobusLineupUpdateScNotify => "CmdHeliobusLineupUpdateScNotify",
            Self::CmdHeliobusSelectSkillScRsp => "CmdHeliobusSelectSkillScRsp",
            Self::CmdHeliobusSnsUpdateScNotify => "CmdHeliobusSnsUpdateScNotify",
            Self::CmdHeliobusUpgradeLevelCsReq => "CmdHeliobusUpgradeLevelCsReq",
            Self::CmdHeliobusSnsPostCsReq => "CmdHeliobusSnsPostCsReq",
            Self::CmdHeliobusActivityDataScRsp => "CmdHeliobusActivityDataScRsp",
            Self::CmdHeliobusStartRaidCsReq => "CmdHeliobusStartRaidCsReq",
            Self::CmdHeliobusInfoChangedScNotify => "CmdHeliobusInfoChangedScNotify",
            Self::CmdHeliobusSnsCommentScRsp => "CmdHeliobusSnsCommentScRsp",
            Self::CmdHeliobusSnsLikeCsReq => "CmdHeliobusSnsLikeCsReq",
            Self::CmdHeliobusEnterBattleCsReq => "CmdHeliobusEnterBattleCsReq",
            Self::CmdHeliobusSnsReadScRsp => "CmdHeliobusSnsReadScRsp",
            Self::CmdHeliobusChallengeUpdateScNotify => {
                "CmdHeliobusChallengeUpdateScNotify"
            }
            Self::CmdHeliobusStartRaidScRsp => "CmdHeliobusStartRaidScRsp",
            Self::CmdHeliobusActivityDataCsReq => "CmdHeliobusActivityDataCsReq",
            Self::CmdHeliobusSnsReadCsReq => "CmdHeliobusSnsReadCsReq",
            Self::CmdHeliobusSnsLikeScRsp => "CmdHeliobusSnsLikeScRsp",
            Self::AmjemjidnkfFlpcdjfjhhm => "AMJEMJIDNKF_FLPCDJFJHHM",
            Self::CmdHeliobusEnterBattleScRsp => "CmdHeliobusEnterBattleScRsp",
            Self::CmdHeliobusUnlockSkillScNotify => "CmdHeliobusUnlockSkillScNotify",
            Self::CmdHeliobusSnsPostScRsp => "CmdHeliobusSnsPostScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AMJEMJIDNKF_NLCDGIPGFDJ" => Some(Self::AmjemjidnkfNlcdgipgfdj),
            "CmdHeliobusSnsCommentCsReq" => Some(Self::CmdHeliobusSnsCommentCsReq),
            "CmdHeliobusUpgradeLevelScRsp" => Some(Self::CmdHeliobusUpgradeLevelScRsp),
            "CmdHeliobusLineupUpdateScNotify" => {
                Some(Self::CmdHeliobusLineupUpdateScNotify)
            }
            "CmdHeliobusSelectSkillScRsp" => Some(Self::CmdHeliobusSelectSkillScRsp),
            "CmdHeliobusSnsUpdateScNotify" => Some(Self::CmdHeliobusSnsUpdateScNotify),
            "CmdHeliobusUpgradeLevelCsReq" => Some(Self::CmdHeliobusUpgradeLevelCsReq),
            "CmdHeliobusSnsPostCsReq" => Some(Self::CmdHeliobusSnsPostCsReq),
            "CmdHeliobusActivityDataScRsp" => Some(Self::CmdHeliobusActivityDataScRsp),
            "CmdHeliobusStartRaidCsReq" => Some(Self::CmdHeliobusStartRaidCsReq),
            "CmdHeliobusInfoChangedScNotify" => {
                Some(Self::CmdHeliobusInfoChangedScNotify)
            }
            "CmdHeliobusSnsCommentScRsp" => Some(Self::CmdHeliobusSnsCommentScRsp),
            "CmdHeliobusSnsLikeCsReq" => Some(Self::CmdHeliobusSnsLikeCsReq),
            "CmdHeliobusEnterBattleCsReq" => Some(Self::CmdHeliobusEnterBattleCsReq),
            "CmdHeliobusSnsReadScRsp" => Some(Self::CmdHeliobusSnsReadScRsp),
            "CmdHeliobusChallengeUpdateScNotify" => {
                Some(Self::CmdHeliobusChallengeUpdateScNotify)
            }
            "CmdHeliobusStartRaidScRsp" => Some(Self::CmdHeliobusStartRaidScRsp),
            "CmdHeliobusActivityDataCsReq" => Some(Self::CmdHeliobusActivityDataCsReq),
            "CmdHeliobusSnsReadCsReq" => Some(Self::CmdHeliobusSnsReadCsReq),
            "CmdHeliobusSnsLikeScRsp" => Some(Self::CmdHeliobusSnsLikeScRsp),
            "AMJEMJIDNKF_FLPCDJFJHHM" => Some(Self::AmjemjidnkfFlpcdjfjhhm),
            "CmdHeliobusEnterBattleScRsp" => Some(Self::CmdHeliobusEnterBattleScRsp),
            "CmdHeliobusUnlockSkillScNotify" => {
                Some(Self::CmdHeliobusUnlockSkillScNotify)
            }
            "CmdHeliobusSnsPostScRsp" => Some(Self::CmdHeliobusSnsPostScRsp),
            _ => None,
        }
    }
}
/// Obf: MKFFJFHICCC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdHipplenType {
    MkffjfhicccNlcdgipgfdj = 0,
    CmdOpenHipplenCycleCsReq = 9024,
    CmdSettleHipplenWorkScRsp = 9007,
    CmdSetHipplenAgendaScRsp = 9048,
    CmdSetHipplenOutfitCsReq = 9017,
    CmdSetHipplenAgendaCsReq = 9019,
    CmdTakeHipplenEndingRewardScRsp = 9035,
    CmdGetHipplenInheritScRsp = 9044,
    CmdGetHipplenInheritCsReq = 9037,
    CmdSetHipplenOutfitScRsp = 9029,
    CmdHipplenTraitUnlockScNotify = 9002,
    CmdHipplenCycleResultScNotify = 9021,
    CmdGetHipplenDataScRsp = 9023,
    CmdHipplenChangeScNotify = 9015,
    CmdSettleHipplenWorkCsReq = 9003,
    CmdOpenHipplenCycleScRsp = 9020,
    CmdTakeHipplenEndingRewardCsReq = 9014,
    CmdHipplenAgendaResultScNotify = 9010,
    CmdGetHipplenDataCsReq = 9009,
}
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::MkffjfhicccNlcdgipgfdj => "MKFFJFHICCC_NLCDGIPGFDJ",
            Self::CmdOpenHipplenCycleCsReq => "CmdOpenHipplenCycleCsReq",
            Self::CmdSettleHipplenWorkScRsp => "CmdSettleHipplenWorkScRsp",
            Self::CmdSetHipplenAgendaScRsp => "CmdSetHipplenAgendaScRsp",
            Self::CmdSetHipplenOutfitCsReq => "CmdSetHipplenOutfitCsReq",
            Self::CmdSetHipplenAgendaCsReq => "CmdSetHipplenAgendaCsReq",
            Self::CmdTakeHipplenEndingRewardScRsp => "CmdTakeHipplenEndingRewardScRsp",
            Self::CmdGetHipplenInheritScRsp => "CmdGetHipplenInheritScRsp",
            Self::CmdGetHipplenInheritCsReq => "CmdGetHipplenInheritCsReq",
            Self::CmdSetHipplenOutfitScRsp => "CmdSetHipplenOutfitScRsp",
            Self::CmdHipplenTraitUnlockScNotify => "CmdHipplenTraitUnlockScNotify",
            Self::CmdHipplenCycleResultScNotify => "CmdHipplenCycleResultScNotify",
            Self::CmdGetHipplenDataScRsp => "CmdGetHipplenDataScRsp",
            Self::CmdHipplenChangeScNotify => "CmdHipplenChangeScNotify",
            Self::CmdSettleHipplenWorkCsReq => "CmdSettleHipplenWorkCsReq",
            Self::CmdOpenHipplenCycleScRsp => "CmdOpenHipplenCycleScRsp",
            Self::CmdTakeHipplenEndingRewardCsReq => "CmdTakeHipplenEndingRewardCsReq",
            Self::CmdHipplenAgendaResultScNotify => "CmdHipplenAgendaResultScNotify",
            Self::CmdGetHipplenDataCsReq => "CmdGetHipplenDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MKFFJFHICCC_NLCDGIPGFDJ" => Some(Self::MkffjfhicccNlcdgipgfdj),
            "CmdOpenHipplenCycleCsReq" => Some(Self::CmdOpenHipplenCycleCsReq),
            "CmdSettleHipplenWorkScRsp" => Some(Self::CmdSettleHipplenWorkScRsp),
            "CmdSetHipplenAgendaScRsp" => Some(Self::CmdSetHipplenAgendaScRsp),
            "CmdSetHipplenOutfitCsReq" => Some(Self::CmdSetHipplenOutfitCsReq),
            "CmdSetHipplenAgendaCsReq" => Some(Self::CmdSetHipplenAgendaCsReq),
            "CmdTakeHipplenEndingRewardScRsp" => {
                Some(Self::CmdTakeHipplenEndingRewardScRsp)
            }
            "CmdGetHipplenInheritScRsp" => Some(Self::CmdGetHipplenInheritScRsp),
            "CmdGetHipplenInheritCsReq" => Some(Self::CmdGetHipplenInheritCsReq),
            "CmdSetHipplenOutfitScRsp" => Some(Self::CmdSetHipplenOutfitScRsp),
            "CmdHipplenTraitUnlockScNotify" => Some(Self::CmdHipplenTraitUnlockScNotify),
            "CmdHipplenCycleResultScNotify" => Some(Self::CmdHipplenCycleResultScNotify),
            "CmdGetHipplenDataScRsp" => Some(Self::CmdGetHipplenDataScRsp),
            "CmdHipplenChangeScNotify" => Some(Self::CmdHipplenChangeScNotify),
            "CmdSettleHipplenWorkCsReq" => Some(Self::CmdSettleHipplenWorkCsReq),
            "CmdOpenHipplenCycleScRsp" => Some(Self::CmdOpenHipplenCycleScRsp),
            "CmdTakeHipplenEndingRewardCsReq" => {
                Some(Self::CmdTakeHipplenEndingRewardCsReq)
            }
            "CmdHipplenAgendaResultScNotify" => {
                Some(Self::CmdHipplenAgendaResultScNotify)
            }
            "CmdGetHipplenDataCsReq" => Some(Self::CmdGetHipplenDataCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Naocmaojecf {
    Nlcdgipgfdj = 0,
    Cnmbiadbfng = 1,
    Encbgpoifcm = 2,
    Eckimbndome = 3,
    Lonknkfdpii = 4,
    Mllnogknhnl = 5,
}
impl Naocmaojecf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "NAOCMAOJECF_NLCDGIPGFDJ",
            Self::Cnmbiadbfng => "NAOCMAOJECF_CNMBIADBFNG",
            Self::Encbgpoifcm => "NAOCMAOJECF_ENCBGPOIFCM",
            Self::Eckimbndome => "NAOCMAOJECF_ECKIMBNDOME",
            Self::Lonknkfdpii => "NAOCMAOJECF_LONKNKFDPII",
            Self::Mllnogknhnl => "NAOCMAOJECF_MLLNOGKNHNL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NAOCMAOJECF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "NAOCMAOJECF_CNMBIADBFNG" => Some(Self::Cnmbiadbfng),
            "NAOCMAOJECF_ENCBGPOIFCM" => Some(Self::Encbgpoifcm),
            "NAOCMAOJECF_ECKIMBNDOME" => Some(Self::Eckimbndome),
            "NAOCMAOJECF_LONKNKFDPII" => Some(Self::Lonknkfdpii),
            "NAOCMAOJECF_MLLNOGKNHNL" => Some(Self::Mllnogknhnl),
            _ => None,
        }
    }
}
/// Obf: IJKEHFDJOJH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdIdleLiveType {
    IjkehfdjojhNlcdgipgfdj = 0,
    CmdGetFriendNewAssistRewardScNotify = 9432,
    CmdFinishQuestionCsReq = 9448,
    CmdEmcjbmoicjn = 9428,
    CmdNohkadapkhe = 9439,
    CmdJlcnogijgmh = 9397,
    CmdDressSpecialEquipScRsp = 9392,
    CmdUpgradeTeamSlotCsCsReq = 9401,
    CmdHandlePendingEquipCsReq = 9422,
    CmdTakeQuestEquipCsRsp = 9387,
    CmdStartNodeBattleScRsp = 9431,
    CmdUpdateCustomInfoCsReq = 9369,
    CmdTakeContentCsReq = 9362,
    CmdTakeContentScRsp = 9385,
    CmdEndDungeonScRsp = 9365,
    CmdReplaceTeamCsCsReq = 9389,
    CmdTechTreeChangeNodeStateCsRsp = 9379,
    CmdLgnjpfpacgh = 9395,
    CmdKkgjpmcfdon = 9413,
    CmdEndDungeonCsReq = 9399,
    CmdDressSpecialEquipCsReq = 9380,
    CmdTakeTaskRewardCsReq = 9391,
    CmdMaaiafillfn = 9363,
    CmdGetFriendDungeonInfoCsReq = 9416,
    CmdUpdateCustomInfoScRsp = 9378,
    CmdUpgradeTeamSlotCsRsp = 9396,
    CmdStartNodeBattleCsReq = 9438,
    CmdTechTreeChangeNodeStateCsCsReq = 9393,
    CmdMlbdipicabb = 9390,
    CmdFomconfodhh = 9436,
    CmdNdmgimoofbl = 9386,
    CmdStartDungeonCsReq = 9425,
    CmdTakeQuestEquipCsCsReq = 9444,
    CmdGetFriendDungeonInfoScRsp = 9405,
    CmdDmepoenpeif = 9419,
    CmdNilcahcbkai = 9384,
    CmdPdmekagocnd = 9434,
    CmdDdnjihcbdde = 9376,
    CmdBabfmgpnoig = 9443,
    CmdIabbgplblml = 9421,
    CmdFinishQuestionRsp = 9412,
    CmdApkjenojifd = 9375,
    CmdBbabpmldjmm = 9364,
    CmdBijedlpinkh = 9398,
    CmdHandlePendingEquipScRsp = 9430,
    CmdReplaceTeamCsRsp = 9354,
    CmdGaiangfbbpg = 9361,
    CmdTakeTaskRewardScRsp = 9360,
    CmdFajejcbilia = 9371,
    CmdLmackmnojbf = 9408,
    CmdStartDungeonScRsp = 9394,
    CmdSyncChangeNtf = 9355,
    CmdNmemdfocmfo = 9415,
}
impl CmdIdleLiveType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IjkehfdjojhNlcdgipgfdj => "IJKEHFDJOJH_NLCDGIPGFDJ",
            Self::CmdGetFriendNewAssistRewardScNotify => {
                "CmdGetFriendNewAssistRewardScNotify"
            }
            Self::CmdFinishQuestionCsReq => "CmdFinishQuestionCsReq",
            Self::CmdEmcjbmoicjn => "CmdEMCJBMOICJN",
            Self::CmdNohkadapkhe => "CmdNOHKADAPKHE",
            Self::CmdJlcnogijgmh => "CmdJLCNOGIJGMH",
            Self::CmdDressSpecialEquipScRsp => "CmdDressSpecialEquipScRsp",
            Self::CmdUpgradeTeamSlotCsCsReq => "CmdUpgradeTeamSlotCsCsReq",
            Self::CmdHandlePendingEquipCsReq => "CmdHandlePendingEquipCsReq",
            Self::CmdTakeQuestEquipCsRsp => "CmdTakeQuestEquipCsRsp",
            Self::CmdStartNodeBattleScRsp => "CmdStartNodeBattleScRsp",
            Self::CmdUpdateCustomInfoCsReq => "CmdUpdateCustomInfoCsReq",
            Self::CmdTakeContentCsReq => "CmdTakeContentCsReq",
            Self::CmdTakeContentScRsp => "CmdTakeContentScRsp",
            Self::CmdEndDungeonScRsp => "CmdEndDungeonScRsp",
            Self::CmdReplaceTeamCsCsReq => "CmdReplaceTeamCsCsReq",
            Self::CmdTechTreeChangeNodeStateCsRsp => "CmdTechTreeChangeNodeStateCsRsp",
            Self::CmdLgnjpfpacgh => "CmdLGNJPFPACGH",
            Self::CmdKkgjpmcfdon => "CmdKKGJPMCFDON",
            Self::CmdEndDungeonCsReq => "CmdEndDungeonCsReq",
            Self::CmdDressSpecialEquipCsReq => "CmdDressSpecialEquipCsReq",
            Self::CmdTakeTaskRewardCsReq => "CmdTakeTaskRewardCsReq",
            Self::CmdMaaiafillfn => "CmdMAAIAFILLFN",
            Self::CmdGetFriendDungeonInfoCsReq => "CmdGetFriendDungeonInfoCsReq",
            Self::CmdUpdateCustomInfoScRsp => "CmdUpdateCustomInfoScRsp",
            Self::CmdUpgradeTeamSlotCsRsp => "CmdUpgradeTeamSlotCsRsp",
            Self::CmdStartNodeBattleCsReq => "CmdStartNodeBattleCsReq",
            Self::CmdTechTreeChangeNodeStateCsCsReq => {
                "CmdTechTreeChangeNodeStateCsCsReq"
            }
            Self::CmdMlbdipicabb => "CmdMLBDIPICABB",
            Self::CmdFomconfodhh => "CmdFOMCONFODHH",
            Self::CmdNdmgimoofbl => "CmdNDMGIMOOFBL",
            Self::CmdStartDungeonCsReq => "CmdStartDungeonCsReq",
            Self::CmdTakeQuestEquipCsCsReq => "CmdTakeQuestEquipCsCsReq",
            Self::CmdGetFriendDungeonInfoScRsp => "CmdGetFriendDungeonInfoScRsp",
            Self::CmdDmepoenpeif => "CmdDMEPOENPEIF",
            Self::CmdNilcahcbkai => "CmdNILCAHCBKAI",
            Self::CmdPdmekagocnd => "CmdPDMEKAGOCND",
            Self::CmdDdnjihcbdde => "CmdDDNJIHCBDDE",
            Self::CmdBabfmgpnoig => "CmdBABFMGPNOIG",
            Self::CmdIabbgplblml => "CmdIABBGPLBLML",
            Self::CmdFinishQuestionRsp => "CmdFinishQuestionRsp",
            Self::CmdApkjenojifd => "CmdAPKJENOJIFD",
            Self::CmdBbabpmldjmm => "CmdBBABPMLDJMM",
            Self::CmdBijedlpinkh => "CmdBIJEDLPINKH",
            Self::CmdHandlePendingEquipScRsp => "CmdHandlePendingEquipScRsp",
            Self::CmdReplaceTeamCsRsp => "CmdReplaceTeamCsRsp",
            Self::CmdGaiangfbbpg => "CmdGAIANGFBBPG",
            Self::CmdTakeTaskRewardScRsp => "CmdTakeTaskRewardScRsp",
            Self::CmdFajejcbilia => "CmdFAJEJCBILIA",
            Self::CmdLmackmnojbf => "CmdLMACKMNOJBF",
            Self::CmdStartDungeonScRsp => "CmdStartDungeonScRsp",
            Self::CmdSyncChangeNtf => "CmdSyncChangeNtf",
            Self::CmdNmemdfocmfo => "CmdNMEMDFOCMFO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IJKEHFDJOJH_NLCDGIPGFDJ" => Some(Self::IjkehfdjojhNlcdgipgfdj),
            "CmdGetFriendNewAssistRewardScNotify" => {
                Some(Self::CmdGetFriendNewAssistRewardScNotify)
            }
            "CmdFinishQuestionCsReq" => Some(Self::CmdFinishQuestionCsReq),
            "CmdEMCJBMOICJN" => Some(Self::CmdEmcjbmoicjn),
            "CmdNOHKADAPKHE" => Some(Self::CmdNohkadapkhe),
            "CmdJLCNOGIJGMH" => Some(Self::CmdJlcnogijgmh),
            "CmdDressSpecialEquipScRsp" => Some(Self::CmdDressSpecialEquipScRsp),
            "CmdUpgradeTeamSlotCsCsReq" => Some(Self::CmdUpgradeTeamSlotCsCsReq),
            "CmdHandlePendingEquipCsReq" => Some(Self::CmdHandlePendingEquipCsReq),
            "CmdTakeQuestEquipCsRsp" => Some(Self::CmdTakeQuestEquipCsRsp),
            "CmdStartNodeBattleScRsp" => Some(Self::CmdStartNodeBattleScRsp),
            "CmdUpdateCustomInfoCsReq" => Some(Self::CmdUpdateCustomInfoCsReq),
            "CmdTakeContentCsReq" => Some(Self::CmdTakeContentCsReq),
            "CmdTakeContentScRsp" => Some(Self::CmdTakeContentScRsp),
            "CmdEndDungeonScRsp" => Some(Self::CmdEndDungeonScRsp),
            "CmdReplaceTeamCsCsReq" => Some(Self::CmdReplaceTeamCsCsReq),
            "CmdTechTreeChangeNodeStateCsRsp" => {
                Some(Self::CmdTechTreeChangeNodeStateCsRsp)
            }
            "CmdLGNJPFPACGH" => Some(Self::CmdLgnjpfpacgh),
            "CmdKKGJPMCFDON" => Some(Self::CmdKkgjpmcfdon),
            "CmdEndDungeonCsReq" => Some(Self::CmdEndDungeonCsReq),
            "CmdDressSpecialEquipCsReq" => Some(Self::CmdDressSpecialEquipCsReq),
            "CmdTakeTaskRewardCsReq" => Some(Self::CmdTakeTaskRewardCsReq),
            "CmdMAAIAFILLFN" => Some(Self::CmdMaaiafillfn),
            "CmdGetFriendDungeonInfoCsReq" => Some(Self::CmdGetFriendDungeonInfoCsReq),
            "CmdUpdateCustomInfoScRsp" => Some(Self::CmdUpdateCustomInfoScRsp),
            "CmdUpgradeTeamSlotCsRsp" => Some(Self::CmdUpgradeTeamSlotCsRsp),
            "CmdStartNodeBattleCsReq" => Some(Self::CmdStartNodeBattleCsReq),
            "CmdTechTreeChangeNodeStateCsCsReq" => {
                Some(Self::CmdTechTreeChangeNodeStateCsCsReq)
            }
            "CmdMLBDIPICABB" => Some(Self::CmdMlbdipicabb),
            "CmdFOMCONFODHH" => Some(Self::CmdFomconfodhh),
            "CmdNDMGIMOOFBL" => Some(Self::CmdNdmgimoofbl),
            "CmdStartDungeonCsReq" => Some(Self::CmdStartDungeonCsReq),
            "CmdTakeQuestEquipCsCsReq" => Some(Self::CmdTakeQuestEquipCsCsReq),
            "CmdGetFriendDungeonInfoScRsp" => Some(Self::CmdGetFriendDungeonInfoScRsp),
            "CmdDMEPOENPEIF" => Some(Self::CmdDmepoenpeif),
            "CmdNILCAHCBKAI" => Some(Self::CmdNilcahcbkai),
            "CmdPDMEKAGOCND" => Some(Self::CmdPdmekagocnd),
            "CmdDDNJIHCBDDE" => Some(Self::CmdDdnjihcbdde),
            "CmdBABFMGPNOIG" => Some(Self::CmdBabfmgpnoig),
            "CmdIABBGPLBLML" => Some(Self::CmdIabbgplblml),
            "CmdFinishQuestionRsp" => Some(Self::CmdFinishQuestionRsp),
            "CmdAPKJENOJIFD" => Some(Self::CmdApkjenojifd),
            "CmdBBABPMLDJMM" => Some(Self::CmdBbabpmldjmm),
            "CmdBIJEDLPINKH" => Some(Self::CmdBijedlpinkh),
            "CmdHandlePendingEquipScRsp" => Some(Self::CmdHandlePendingEquipScRsp),
            "CmdReplaceTeamCsRsp" => Some(Self::CmdReplaceTeamCsRsp),
            "CmdGAIANGFBBPG" => Some(Self::CmdGaiangfbbpg),
            "CmdTakeTaskRewardScRsp" => Some(Self::CmdTakeTaskRewardScRsp),
            "CmdFAJEJCBILIA" => Some(Self::CmdFajejcbilia),
            "CmdLMACKMNOJBF" => Some(Self::CmdLmackmnojbf),
            "CmdStartDungeonScRsp" => Some(Self::CmdStartDungeonScRsp),
            "CmdSyncChangeNtf" => Some(Self::CmdSyncChangeNtf),
            "CmdNMEMDFOCMFO" => Some(Self::CmdNmemdfocmfo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Dbkaajaegnm {
    Nlcdgipgfdj = 0,
    Bmoogbnpeaa = 1,
    Cihfgjdchia = 2,
    Pdkldmnajbo = 3,
}
impl Dbkaajaegnm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "DBKAAJAEGNM_NLCDGIPGFDJ",
            Self::Bmoogbnpeaa => "DBKAAJAEGNM_BMOOGBNPEAA",
            Self::Cihfgjdchia => "DBKAAJAEGNM_CIHFGJDCHIA",
            Self::Pdkldmnajbo => "DBKAAJAEGNM_PDKLDMNAJBO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DBKAAJAEGNM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "DBKAAJAEGNM_BMOOGBNPEAA" => Some(Self::Bmoogbnpeaa),
            "DBKAAJAEGNM_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            "DBKAAJAEGNM_PDKLDMNAJBO" => Some(Self::Pdkldmnajbo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdgnmidmacl {
    Gaifbjckgpa = 0,
    Kgpgdemeand = 1,
    Bpklgjoboma = 2,
    Iaaoahfdflc = 3,
}
impl Jdgnmidmacl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Gaifbjckgpa => "JDGNMIDMACL_GAIFBJCKGPA",
            Self::Kgpgdemeand => "JDGNMIDMACL_KGPGDEMEAND",
            Self::Bpklgjoboma => "JDGNMIDMACL_BPKLGJOBOMA",
            Self::Iaaoahfdflc => "JDGNMIDMACL_IAAOAHFDFLC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JDGNMIDMACL_GAIFBJCKGPA" => Some(Self::Gaifbjckgpa),
            "JDGNMIDMACL_KGPGDEMEAND" => Some(Self::Kgpgdemeand),
            "JDGNMIDMACL_BPKLGJOBOMA" => Some(Self::Bpklgjoboma),
            "JDGNMIDMACL_IAAOAHFDFLC" => Some(Self::Iaaoahfdflc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cdabmabjfii {
    Nlcdgipgfdj = 0,
    Feheggcokjh = 2,
    Ggmpegmehpd = 4,
    Mgbcapiiklm = 5,
    Diligfnlnke = 6,
    Bojieinflff = 7,
}
impl Cdabmabjfii {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "CDABMABJFII_NLCDGIPGFDJ",
            Self::Feheggcokjh => "CDABMABJFII_FEHEGGCOKJH",
            Self::Ggmpegmehpd => "CDABMABJFII_GGMPEGMEHPD",
            Self::Mgbcapiiklm => "CDABMABJFII_MGBCAPIIKLM",
            Self::Diligfnlnke => "CDABMABJFII_DILIGFNLNKE",
            Self::Bojieinflff => "CDABMABJFII_BOJIEINFLFF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CDABMABJFII_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "CDABMABJFII_FEHEGGCOKJH" => Some(Self::Feheggcokjh),
            "CDABMABJFII_GGMPEGMEHPD" => Some(Self::Ggmpegmehpd),
            "CDABMABJFII_MGBCAPIIKLM" => Some(Self::Mgbcapiiklm),
            "CDABMABJFII_DILIGFNLNKE" => Some(Self::Diligfnlnke),
            "CDABMABJFII_BOJIEINFLFF" => Some(Self::Bojieinflff),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oedabanajek {
    Nlcdgipgfdj = 0,
    Bpnmabifcac = 1,
    Ohljjbcalbf = 2,
}
impl Oedabanajek {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OEDABANAJEK_NLCDGIPGFDJ",
            Self::Bpnmabifcac => "OEDABANAJEK_BPNMABIFCAC",
            Self::Ohljjbcalbf => "OEDABANAJEK_OHLJJBCALBF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OEDABANAJEK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OEDABANAJEK_BPNMABIFCAC" => Some(Self::Bpnmabifcac),
            "OEDABANAJEK_OHLJJBCALBF" => Some(Self::Ohljjbcalbf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lppkghjgocc {
    Nlcdgipgfdj = 0,
    Cajpagkbbml = 1,
    Jokppelafoi = 2,
}
impl Lppkghjgocc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "LPPKGHJGOCC_NLCDGIPGFDJ",
            Self::Cajpagkbbml => "LPPKGHJGOCC_CAJPAGKBBML",
            Self::Jokppelafoi => "LPPKGHJGOCC_JOKPPELAFOI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LPPKGHJGOCC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "LPPKGHJGOCC_CAJPAGKBBML" => Some(Self::Cajpagkbbml),
            "LPPKGHJGOCC_JOKPPELAFOI" => Some(Self::Jokppelafoi),
            _ => None,
        }
    }
}
/// Obf: EFDHFOEMKHH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdInteractiveTriggerMazeBuffType {
    EfdhfoemkhhNlcdgipgfdj = 0,
    CmdNmekjabiggh = 9471,
    CmdDcaboalfjap = 9480,
}
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::EfdhfoemkhhNlcdgipgfdj => "EFDHFOEMKHH_NLCDGIPGFDJ",
            Self::CmdNmekjabiggh => "CmdNMEKJABIGGH",
            Self::CmdDcaboalfjap => "CmdDCABOALFJAP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EFDHFOEMKHH_NLCDGIPGFDJ" => Some(Self::EfdhfoemkhhNlcdgipgfdj),
            "CmdNMEKJABIGGH" => Some(Self::CmdNmekjabiggh),
            "CmdDCABOALFJAP" => Some(Self::CmdDcaboalfjap),
            _ => None,
        }
    }
}
/// Obf: PJMJNHAAEJI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdItemType {
    PjmjnhaaejiNlcdgipgfdj = 0,
    CmdGetRecyleTimeScRsp = 521,
    CmdAmpmjpcflnd = 535,
    CmdComposeSelectedRelicCsReq = 542,
    CmdGetBagCsReq = 525,
    CmdComposeLimitNumCompleteScNotify = 505,
    CmdGetBagScRsp = 578,
    CmdUseItemCsReq = 586,
    CmdEmldlbkpefd = 546,
    CmdGetRelicFilterPlanCsReq = 514,
    CmdExpUpEquipmentCsReq = 571,
    CmdBatchRankUpEquipmentCsReq = 574,
    CmdRelicReforgeCsReq = 566,
    CmdLockRelicCsReq = 511,
    CmdGetMarkItemListCsReq = 529,
    CmdLockEquipmentScRsp = 581,
    CmdMarkRelicFilterPlanCsReq = 528,
    CmdRelicReforgeConfirmScRsp = 506,
    CmdEquipmentQuickUpCsReq = 527,
    CmdRankUpEquipmentScRsp = 513,
    CmdRankUpEquipmentCsReq = 526,
    CmdLockRelicScRsp = 536,
    CmdGetRelicFilterPlanScRsp = 589,
    CmdExchangeHcoinCsReq = 565,
    CmdDiscardRelicScRsp = 515,
    CmdExpUpRelicCsReq = 539,
    CmdAddEquipmentScRsp = 580,
    CmdExpUpEquipmentScRsp = 540,
    CmdRechargeSuccNotify = 569,
    CmdComposeLimitNumUpdateScNotify = 541,
    CmdComposeSelectedRelicScRsp = 572,
    CmdRelicReforgeConfirmCsReq = 516,
    CmdExpUpRelicScRsp = 504,
    CmdComposeItemCsReq = 533,
    CmdModifyRelicFilterPlanScRsp = 551,
    CmdLjkfppdfhmh = 575,
    CmdMarkItemScRsp = 596,
    CmdGeneralVirtualItemDataNotify = 544,
    CmdGetRecyleTimeCsReq = 584,
    CmdMgbkbikljdn = 519,
    CmdRelicFilterPlanClearNameScNotify = 562,
    CmdSellItemScRsp = 545,
    CmdPromoteEquipmentScRsp = 558,
    CmdExchangeHcoinScRsp = 530,
    CmdLockEquipmentCsReq = 588,
    CmdDestroyItemScRsp = 543,
    CmdPromoteEquipmentCsReq = 593,
    CmdRelicReforgeScRsp = 555,
    CmdGetMarkItemListScRsp = 563,
    CmdCancelMarkItemNotify = 573,
    CmdAddRelicFilterPlanScRsp = 594,
    CmdAddRelicFilterPlanCsReq = 582,
    CmdSellItemCsReq = 548,
    CmdUseItemScRsp = 547,
    CmdDiscardRelicCsReq = 549,
    CmdComposeItemScRsp = 538,
    CmdBatchRankUpEquipmentScRsp = 557,
    CmdModifyRelicFilterPlanCsReq = 537,
    CmdMarkItemCsReq = 534,
    CmdEquipmentQuickUpScRsp = 523,
    CmdSyncTurnFoodNotify = 512,
    CmdMarkRelicFilterPlanScRsp = 598,
    CmdDestroyItemCsReq = 510,
}
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::PjmjnhaaejiNlcdgipgfdj => "PJMJNHAAEJI_NLCDGIPGFDJ",
            Self::CmdGetRecyleTimeScRsp => "CmdGetRecyleTimeScRsp",
            Self::CmdAmpmjpcflnd => "CmdAMPMJPCFLND",
            Self::CmdComposeSelectedRelicCsReq => "CmdComposeSelectedRelicCsReq",
            Self::CmdGetBagCsReq => "CmdGetBagCsReq",
            Self::CmdComposeLimitNumCompleteScNotify => {
                "CmdComposeLimitNumCompleteScNotify"
            }
            Self::CmdGetBagScRsp => "CmdGetBagScRsp",
            Self::CmdUseItemCsReq => "CmdUseItemCsReq",
            Self::CmdEmldlbkpefd => "CmdEMLDLBKPEFD",
            Self::CmdGetRelicFilterPlanCsReq => "CmdGetRelicFilterPlanCsReq",
            Self::CmdExpUpEquipmentCsReq => "CmdExpUpEquipmentCsReq",
            Self::CmdBatchRankUpEquipmentCsReq => "CmdBatchRankUpEquipmentCsReq",
            Self::CmdRelicReforgeCsReq => "CmdRelicReforgeCsReq",
            Self::CmdLockRelicCsReq => "CmdLockRelicCsReq",
            Self::CmdGetMarkItemListCsReq => "CmdGetMarkItemListCsReq",
            Self::CmdLockEquipmentScRsp => "CmdLockEquipmentScRsp",
            Self::CmdMarkRelicFilterPlanCsReq => "CmdMarkRelicFilterPlanCsReq",
            Self::CmdRelicReforgeConfirmScRsp => "CmdRelicReforgeConfirmScRsp",
            Self::CmdEquipmentQuickUpCsReq => "CmdEquipmentQuickUpCsReq",
            Self::CmdRankUpEquipmentScRsp => "CmdRankUpEquipmentScRsp",
            Self::CmdRankUpEquipmentCsReq => "CmdRankUpEquipmentCsReq",
            Self::CmdLockRelicScRsp => "CmdLockRelicScRsp",
            Self::CmdGetRelicFilterPlanScRsp => "CmdGetRelicFilterPlanScRsp",
            Self::CmdExchangeHcoinCsReq => "CmdExchangeHcoinCsReq",
            Self::CmdDiscardRelicScRsp => "CmdDiscardRelicScRsp",
            Self::CmdExpUpRelicCsReq => "CmdExpUpRelicCsReq",
            Self::CmdAddEquipmentScRsp => "CmdAddEquipmentScRsp",
            Self::CmdExpUpEquipmentScRsp => "CmdExpUpEquipmentScRsp",
            Self::CmdRechargeSuccNotify => "CmdRechargeSuccNotify",
            Self::CmdComposeLimitNumUpdateScNotify => "CmdComposeLimitNumUpdateScNotify",
            Self::CmdComposeSelectedRelicScRsp => "CmdComposeSelectedRelicScRsp",
            Self::CmdRelicReforgeConfirmCsReq => "CmdRelicReforgeConfirmCsReq",
            Self::CmdExpUpRelicScRsp => "CmdExpUpRelicScRsp",
            Self::CmdComposeItemCsReq => "CmdComposeItemCsReq",
            Self::CmdModifyRelicFilterPlanScRsp => "CmdModifyRelicFilterPlanScRsp",
            Self::CmdLjkfppdfhmh => "CmdLJKFPPDFHMH",
            Self::CmdMarkItemScRsp => "CmdMarkItemScRsp",
            Self::CmdGeneralVirtualItemDataNotify => "CmdGeneralVirtualItemDataNotify",
            Self::CmdGetRecyleTimeCsReq => "CmdGetRecyleTimeCsReq",
            Self::CmdMgbkbikljdn => "CmdMGBKBIKLJDN",
            Self::CmdRelicFilterPlanClearNameScNotify => {
                "CmdRelicFilterPlanClearNameScNotify"
            }
            Self::CmdSellItemScRsp => "CmdSellItemScRsp",
            Self::CmdPromoteEquipmentScRsp => "CmdPromoteEquipmentScRsp",
            Self::CmdExchangeHcoinScRsp => "CmdExchangeHcoinScRsp",
            Self::CmdLockEquipmentCsReq => "CmdLockEquipmentCsReq",
            Self::CmdDestroyItemScRsp => "CmdDestroyItemScRsp",
            Self::CmdPromoteEquipmentCsReq => "CmdPromoteEquipmentCsReq",
            Self::CmdRelicReforgeScRsp => "CmdRelicReforgeScRsp",
            Self::CmdGetMarkItemListScRsp => "CmdGetMarkItemListScRsp",
            Self::CmdCancelMarkItemNotify => "CmdCancelMarkItemNotify",
            Self::CmdAddRelicFilterPlanScRsp => "CmdAddRelicFilterPlanScRsp",
            Self::CmdAddRelicFilterPlanCsReq => "CmdAddRelicFilterPlanCsReq",
            Self::CmdSellItemCsReq => "CmdSellItemCsReq",
            Self::CmdUseItemScRsp => "CmdUseItemScRsp",
            Self::CmdDiscardRelicCsReq => "CmdDiscardRelicCsReq",
            Self::CmdComposeItemScRsp => "CmdComposeItemScRsp",
            Self::CmdBatchRankUpEquipmentScRsp => "CmdBatchRankUpEquipmentScRsp",
            Self::CmdModifyRelicFilterPlanCsReq => "CmdModifyRelicFilterPlanCsReq",
            Self::CmdMarkItemCsReq => "CmdMarkItemCsReq",
            Self::CmdEquipmentQuickUpScRsp => "CmdEquipmentQuickUpScRsp",
            Self::CmdSyncTurnFoodNotify => "CmdSyncTurnFoodNotify",
            Self::CmdMarkRelicFilterPlanScRsp => "CmdMarkRelicFilterPlanScRsp",
            Self::CmdDestroyItemCsReq => "CmdDestroyItemCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PJMJNHAAEJI_NLCDGIPGFDJ" => Some(Self::PjmjnhaaejiNlcdgipgfdj),
            "CmdGetRecyleTimeScRsp" => Some(Self::CmdGetRecyleTimeScRsp),
            "CmdAMPMJPCFLND" => Some(Self::CmdAmpmjpcflnd),
            "CmdComposeSelectedRelicCsReq" => Some(Self::CmdComposeSelectedRelicCsReq),
            "CmdGetBagCsReq" => Some(Self::CmdGetBagCsReq),
            "CmdComposeLimitNumCompleteScNotify" => {
                Some(Self::CmdComposeLimitNumCompleteScNotify)
            }
            "CmdGetBagScRsp" => Some(Self::CmdGetBagScRsp),
            "CmdUseItemCsReq" => Some(Self::CmdUseItemCsReq),
            "CmdEMLDLBKPEFD" => Some(Self::CmdEmldlbkpefd),
            "CmdGetRelicFilterPlanCsReq" => Some(Self::CmdGetRelicFilterPlanCsReq),
            "CmdExpUpEquipmentCsReq" => Some(Self::CmdExpUpEquipmentCsReq),
            "CmdBatchRankUpEquipmentCsReq" => Some(Self::CmdBatchRankUpEquipmentCsReq),
            "CmdRelicReforgeCsReq" => Some(Self::CmdRelicReforgeCsReq),
            "CmdLockRelicCsReq" => Some(Self::CmdLockRelicCsReq),
            "CmdGetMarkItemListCsReq" => Some(Self::CmdGetMarkItemListCsReq),
            "CmdLockEquipmentScRsp" => Some(Self::CmdLockEquipmentScRsp),
            "CmdMarkRelicFilterPlanCsReq" => Some(Self::CmdMarkRelicFilterPlanCsReq),
            "CmdRelicReforgeConfirmScRsp" => Some(Self::CmdRelicReforgeConfirmScRsp),
            "CmdEquipmentQuickUpCsReq" => Some(Self::CmdEquipmentQuickUpCsReq),
            "CmdRankUpEquipmentScRsp" => Some(Self::CmdRankUpEquipmentScRsp),
            "CmdRankUpEquipmentCsReq" => Some(Self::CmdRankUpEquipmentCsReq),
            "CmdLockRelicScRsp" => Some(Self::CmdLockRelicScRsp),
            "CmdGetRelicFilterPlanScRsp" => Some(Self::CmdGetRelicFilterPlanScRsp),
            "CmdExchangeHcoinCsReq" => Some(Self::CmdExchangeHcoinCsReq),
            "CmdDiscardRelicScRsp" => Some(Self::CmdDiscardRelicScRsp),
            "CmdExpUpRelicCsReq" => Some(Self::CmdExpUpRelicCsReq),
            "CmdAddEquipmentScRsp" => Some(Self::CmdAddEquipmentScRsp),
            "CmdExpUpEquipmentScRsp" => Some(Self::CmdExpUpEquipmentScRsp),
            "CmdRechargeSuccNotify" => Some(Self::CmdRechargeSuccNotify),
            "CmdComposeLimitNumUpdateScNotify" => {
                Some(Self::CmdComposeLimitNumUpdateScNotify)
            }
            "CmdComposeSelectedRelicScRsp" => Some(Self::CmdComposeSelectedRelicScRsp),
            "CmdRelicReforgeConfirmCsReq" => Some(Self::CmdRelicReforgeConfirmCsReq),
            "CmdExpUpRelicScRsp" => Some(Self::CmdExpUpRelicScRsp),
            "CmdComposeItemCsReq" => Some(Self::CmdComposeItemCsReq),
            "CmdModifyRelicFilterPlanScRsp" => Some(Self::CmdModifyRelicFilterPlanScRsp),
            "CmdLJKFPPDFHMH" => Some(Self::CmdLjkfppdfhmh),
            "CmdMarkItemScRsp" => Some(Self::CmdMarkItemScRsp),
            "CmdGeneralVirtualItemDataNotify" => {
                Some(Self::CmdGeneralVirtualItemDataNotify)
            }
            "CmdGetRecyleTimeCsReq" => Some(Self::CmdGetRecyleTimeCsReq),
            "CmdMGBKBIKLJDN" => Some(Self::CmdMgbkbikljdn),
            "CmdRelicFilterPlanClearNameScNotify" => {
                Some(Self::CmdRelicFilterPlanClearNameScNotify)
            }
            "CmdSellItemScRsp" => Some(Self::CmdSellItemScRsp),
            "CmdPromoteEquipmentScRsp" => Some(Self::CmdPromoteEquipmentScRsp),
            "CmdExchangeHcoinScRsp" => Some(Self::CmdExchangeHcoinScRsp),
            "CmdLockEquipmentCsReq" => Some(Self::CmdLockEquipmentCsReq),
            "CmdDestroyItemScRsp" => Some(Self::CmdDestroyItemScRsp),
            "CmdPromoteEquipmentCsReq" => Some(Self::CmdPromoteEquipmentCsReq),
            "CmdRelicReforgeScRsp" => Some(Self::CmdRelicReforgeScRsp),
            "CmdGetMarkItemListScRsp" => Some(Self::CmdGetMarkItemListScRsp),
            "CmdCancelMarkItemNotify" => Some(Self::CmdCancelMarkItemNotify),
            "CmdAddRelicFilterPlanScRsp" => Some(Self::CmdAddRelicFilterPlanScRsp),
            "CmdAddRelicFilterPlanCsReq" => Some(Self::CmdAddRelicFilterPlanCsReq),
            "CmdSellItemCsReq" => Some(Self::CmdSellItemCsReq),
            "CmdUseItemScRsp" => Some(Self::CmdUseItemScRsp),
            "CmdDiscardRelicCsReq" => Some(Self::CmdDiscardRelicCsReq),
            "CmdComposeItemScRsp" => Some(Self::CmdComposeItemScRsp),
            "CmdBatchRankUpEquipmentScRsp" => Some(Self::CmdBatchRankUpEquipmentScRsp),
            "CmdModifyRelicFilterPlanCsReq" => Some(Self::CmdModifyRelicFilterPlanCsReq),
            "CmdMarkItemCsReq" => Some(Self::CmdMarkItemCsReq),
            "CmdEquipmentQuickUpScRsp" => Some(Self::CmdEquipmentQuickUpScRsp),
            "CmdSyncTurnFoodNotify" => Some(Self::CmdSyncTurnFoodNotify),
            "CmdMarkRelicFilterPlanScRsp" => Some(Self::CmdMarkRelicFilterPlanScRsp),
            "CmdDestroyItemCsReq" => Some(Self::CmdDestroyItemCsReq),
            _ => None,
        }
    }
}
/// Obf: PJHKIIDEOOG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RelicDiscardType {
    PjhkiideoogIcfoncmfnlg = 0,
    PjhkiideoogAobkjjhahcn = 1,
    PjhkiideoogOhnjlmfecen = 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::PjhkiideoogIcfoncmfnlg => "PJHKIIDEOOG_ICFONCMFNLG",
            Self::PjhkiideoogAobkjjhahcn => "PJHKIIDEOOG_AOBKJJHAHCN",
            Self::PjhkiideoogOhnjlmfecen => "PJHKIIDEOOG_OHNJLMFECEN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PJHKIIDEOOG_ICFONCMFNLG" => Some(Self::PjhkiideoogIcfoncmfnlg),
            "PJHKIIDEOOG_AOBKJJHAHCN" => Some(Self::PjhkiideoogAobkjjhahcn),
            "PJHKIIDEOOG_OHNJLMFECEN" => Some(Self::PjhkiideoogOhnjlmfecen),
            _ => None,
        }
    }
}
/// Obf: FHLEKKNDBBE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TurnFoodSwitch {
    FhlekkndbbeNlcdgipgfdj = 0,
    FhlekkndbbeAttack = 1,
    FhlekkndbbeFjlognfechi = 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::FhlekkndbbeNlcdgipgfdj => "FHLEKKNDBBE_NLCDGIPGFDJ",
            Self::FhlekkndbbeAttack => "FHLEKKNDBBE_attack",
            Self::FhlekkndbbeFjlognfechi => "FHLEKKNDBBE_FJLOGNFECHI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FHLEKKNDBBE_NLCDGIPGFDJ" => Some(Self::FhlekkndbbeNlcdgipgfdj),
            "FHLEKKNDBBE_attack" => Some(Self::FhlekkndbbeAttack),
            "FHLEKKNDBBE_FJLOGNFECHI" => Some(Self::FhlekkndbbeFjlognfechi),
            _ => None,
        }
    }
}
/// Obf: ONBKHMHLADC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdJukeboxType {
    OnbkhmhladcNlcdgipgfdj = 0,
    CmdFklmgefildi = 3186,
    CmdPlayBackGroundMusicCsReq = 3193,
    CmdEgdfpdhnoko = 3147,
    CmdUnlockBackGroundMusicCsReq = 3188,
    CmdUnlockBackGroundMusicScRsp = 3181,
    CmdGetJukeboxDataCsReq = 3125,
    CmdGetJukeboxDataScRsp = 3178,
    CmdPlayBackGroundMusicScRsp = 3158,
}
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::OnbkhmhladcNlcdgipgfdj => "ONBKHMHLADC_NLCDGIPGFDJ",
            Self::CmdFklmgefildi => "CmdFKLMGEFILDI",
            Self::CmdPlayBackGroundMusicCsReq => "CmdPlayBackGroundMusicCsReq",
            Self::CmdEgdfpdhnoko => "CmdEGDFPDHNOKO",
            Self::CmdUnlockBackGroundMusicCsReq => "CmdUnlockBackGroundMusicCsReq",
            Self::CmdUnlockBackGroundMusicScRsp => "CmdUnlockBackGroundMusicScRsp",
            Self::CmdGetJukeboxDataCsReq => "CmdGetJukeboxDataCsReq",
            Self::CmdGetJukeboxDataScRsp => "CmdGetJukeboxDataScRsp",
            Self::CmdPlayBackGroundMusicScRsp => "CmdPlayBackGroundMusicScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ONBKHMHLADC_NLCDGIPGFDJ" => Some(Self::OnbkhmhladcNlcdgipgfdj),
            "CmdFKLMGEFILDI" => Some(Self::CmdFklmgefildi),
            "CmdPlayBackGroundMusicCsReq" => Some(Self::CmdPlayBackGroundMusicCsReq),
            "CmdEGDFPDHNOKO" => Some(Self::CmdEgdfpdhnoko),
            "CmdUnlockBackGroundMusicCsReq" => Some(Self::CmdUnlockBackGroundMusicCsReq),
            "CmdUnlockBackGroundMusicScRsp" => Some(Self::CmdUnlockBackGroundMusicScRsp),
            "CmdGetJukeboxDataCsReq" => Some(Self::CmdGetJukeboxDataCsReq),
            "CmdGetJukeboxDataScRsp" => Some(Self::CmdGetJukeboxDataScRsp),
            "CmdPlayBackGroundMusicScRsp" => Some(Self::CmdPlayBackGroundMusicScRsp),
            _ => None,
        }
    }
}
/// Obf: ELGHLKHAMKB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLimaoNewsType {
    ElghlkhamkbNlcdgipgfdj = 0,
    CmdOfdmhdodalp = 9202,
    CmdAcgbgkffaol = 9199,
    CmdDgfhegjkhfo = 9210,
    CmdDdapicmfdab = 9194,
    CmdMagmmminoaj = 9184,
    CmdHbooiejhkod = 9191,
    CmdEpmonpaabkj = 9190,
    CmdKelnhiomcnf = 9197,
    CmdHoalcjnijjc = 9209,
    CmdGhbbmijfiad = 9182,
    CmdPnoaigfgnke = 9189,
    CmdJegnoijmbca = 9200,
    CmdOlndmbmbndc = 9195,
    CmdJghocegbdcc = 9188,
    CmdDpajaecbcpa = 9192,
    CmdCpgfnbbiglh = 9201,
    CmdJkhgdjgbhcd = 9205,
    CmdLfgkijmbkjg = 9207,
    CmdGhbkjlihhgj = 9183,
    CmdLjcbiaemldn = 9181,
    CmdIbphnibgmph = 9198,
    CmdOfnbdekjmon = 9185,
    CmdPnalndonmck = 9187,
    CmdKbakbmgbnol = 9186,
    CmdPladcldjgkk = 9204,
}
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::ElghlkhamkbNlcdgipgfdj => "ELGHLKHAMKB_NLCDGIPGFDJ",
            Self::CmdOfdmhdodalp => "CmdOFDMHDODALP",
            Self::CmdAcgbgkffaol => "CmdACGBGKFFAOL",
            Self::CmdDgfhegjkhfo => "CmdDGFHEGJKHFO",
            Self::CmdDdapicmfdab => "CmdDDAPICMFDAB",
            Self::CmdMagmmminoaj => "CmdMAGMMMINOAJ",
            Self::CmdHbooiejhkod => "CmdHBOOIEJHKOD",
            Self::CmdEpmonpaabkj => "CmdEPMONPAABKJ",
            Self::CmdKelnhiomcnf => "CmdKELNHIOMCNF",
            Self::CmdHoalcjnijjc => "CmdHOALCJNIJJC",
            Self::CmdGhbbmijfiad => "CmdGHBBMIJFIAD",
            Self::CmdPnoaigfgnke => "CmdPNOAIGFGNKE",
            Self::CmdJegnoijmbca => "CmdJEGNOIJMBCA",
            Self::CmdOlndmbmbndc => "CmdOLNDMBMBNDC",
            Self::CmdJghocegbdcc => "CmdJGHOCEGBDCC",
            Self::CmdDpajaecbcpa => "CmdDPAJAECBCPA",
            Self::CmdCpgfnbbiglh => "CmdCPGFNBBIGLH",
            Self::CmdJkhgdjgbhcd => "CmdJKHGDJGBHCD",
            Self::CmdLfgkijmbkjg => "CmdLFGKIJMBKJG",
            Self::CmdGhbkjlihhgj => "CmdGHBKJLIHHGJ",
            Self::CmdLjcbiaemldn => "CmdLJCBIAEMLDN",
            Self::CmdIbphnibgmph => "CmdIBPHNIBGMPH",
            Self::CmdOfnbdekjmon => "CmdOFNBDEKJMON",
            Self::CmdPnalndonmck => "CmdPNALNDONMCK",
            Self::CmdKbakbmgbnol => "CmdKBAKBMGBNOL",
            Self::CmdPladcldjgkk => "CmdPLADCLDJGKK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ELGHLKHAMKB_NLCDGIPGFDJ" => Some(Self::ElghlkhamkbNlcdgipgfdj),
            "CmdOFDMHDODALP" => Some(Self::CmdOfdmhdodalp),
            "CmdACGBGKFFAOL" => Some(Self::CmdAcgbgkffaol),
            "CmdDGFHEGJKHFO" => Some(Self::CmdDgfhegjkhfo),
            "CmdDDAPICMFDAB" => Some(Self::CmdDdapicmfdab),
            "CmdMAGMMMINOAJ" => Some(Self::CmdMagmmminoaj),
            "CmdHBOOIEJHKOD" => Some(Self::CmdHbooiejhkod),
            "CmdEPMONPAABKJ" => Some(Self::CmdEpmonpaabkj),
            "CmdKELNHIOMCNF" => Some(Self::CmdKelnhiomcnf),
            "CmdHOALCJNIJJC" => Some(Self::CmdHoalcjnijjc),
            "CmdGHBBMIJFIAD" => Some(Self::CmdGhbbmijfiad),
            "CmdPNOAIGFGNKE" => Some(Self::CmdPnoaigfgnke),
            "CmdJEGNOIJMBCA" => Some(Self::CmdJegnoijmbca),
            "CmdOLNDMBMBNDC" => Some(Self::CmdOlndmbmbndc),
            "CmdJGHOCEGBDCC" => Some(Self::CmdJghocegbdcc),
            "CmdDPAJAECBCPA" => Some(Self::CmdDpajaecbcpa),
            "CmdCPGFNBBIGLH" => Some(Self::CmdCpgfnbbiglh),
            "CmdJKHGDJGBHCD" => Some(Self::CmdJkhgdjgbhcd),
            "CmdLFGKIJMBKJG" => Some(Self::CmdLfgkijmbkjg),
            "CmdGHBKJLIHHGJ" => Some(Self::CmdGhbkjlihhgj),
            "CmdLJCBIAEMLDN" => Some(Self::CmdLjcbiaemldn),
            "CmdIBPHNIBGMPH" => Some(Self::CmdIbphnibgmph),
            "CmdOFNBDEKJMON" => Some(Self::CmdOfnbdekjmon),
            "CmdPNALNDONMCK" => Some(Self::CmdPnalndonmck),
            "CmdKBAKBMGBNOL" => Some(Self::CmdKbakbmgbnol),
            "CmdPLADCLDJGKK" => Some(Self::CmdPladcldjgkk),
            _ => None,
        }
    }
}
/// Obf: NMCBKMBDILL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LimaoNewsOfficeSurveyState {
    NmcbkmbdillNlcdgipgfdj = 0,
    NmcbkmbdillPpbpghddcol = 1,
    NmcbkmbdillIggjejahpij = 2,
    NmcbkmbdillBbnehdgpggh = 3,
    NmcbkmbdillCckpncibdgp = 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::NmcbkmbdillNlcdgipgfdj => "NMCBKMBDILL_NLCDGIPGFDJ",
            Self::NmcbkmbdillPpbpghddcol => "NMCBKMBDILL_PPBPGHDDCOL",
            Self::NmcbkmbdillIggjejahpij => "NMCBKMBDILL_IGGJEJAHPIJ",
            Self::NmcbkmbdillBbnehdgpggh => "NMCBKMBDILL_BBNEHDGPGGH",
            Self::NmcbkmbdillCckpncibdgp => "NMCBKMBDILL_CCKPNCIBDGP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NMCBKMBDILL_NLCDGIPGFDJ" => Some(Self::NmcbkmbdillNlcdgipgfdj),
            "NMCBKMBDILL_PPBPGHDDCOL" => Some(Self::NmcbkmbdillPpbpghddcol),
            "NMCBKMBDILL_IGGJEJAHPIJ" => Some(Self::NmcbkmbdillIggjejahpij),
            "NMCBKMBDILL_BBNEHDGPGGH" => Some(Self::NmcbkmbdillBbnehdgpggh),
            "NMCBKMBDILL_CCKPNCIBDGP" => Some(Self::NmcbkmbdillCckpncibdgp),
            _ => None,
        }
    }
}
/// Obf: MLPGOBNCBOF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLineupType {
    MlpgobncbofNlcdgipgfdj = 0,
    CmdJoinLineupCsReq = 788,
    CmdSwitchLineupIndexCsReq = 704,
    CmdSetLineupNameCsReq = 736,
    CmdSwapLineupCsReq = 726,
    CmdChangeLineupLeaderScRsp = 739,
    CmdExtraLineupDestroyNotify = 772,
    CmdGetAllLineupDataCsReq = 745,
    CmdSwapLineupScRsp = 713,
    CmdGetCurLineupDataCsReq = 793,
    CmdQuitLineupCsReq = 786,
    CmdCncfcdjafoj = 721,
    CmdGetLineupAvatarDataScRsp = 733,
    CmdSyncLineupNotify = 771,
    CmdJoinLineupScRsp = 781,
    CmdSwitchLineupIndexScRsp = 711,
    CmdGetCurLineupDataScRsp = 758,
    CmdReplaceLineupCsReq = 730,
    CmdVirtualLineupTrialAvatarChangeScNotify = 780,
    CmdVirtualLineupDestroyNotify = 765,
    CmdGetAllLineupDataScRsp = 769,
    CmdGetLineupAvatarDataCsReq = 740,
    CmdQuitLineupScRsp = 747,
    CmdChangeLineupLeaderCsReq = 738,
    CmdSetLineupNameScRsp = 748,
    CmdSyncAllPresetLineupNotify = 784,
    CmdReplaceLineupScRsp = 742,
}
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::MlpgobncbofNlcdgipgfdj => "MLPGOBNCBOF_NLCDGIPGFDJ",
            Self::CmdJoinLineupCsReq => "CmdJoinLineupCsReq",
            Self::CmdSwitchLineupIndexCsReq => "CmdSwitchLineupIndexCsReq",
            Self::CmdSetLineupNameCsReq => "CmdSetLineupNameCsReq",
            Self::CmdSwapLineupCsReq => "CmdSwapLineupCsReq",
            Self::CmdChangeLineupLeaderScRsp => "CmdChangeLineupLeaderScRsp",
            Self::CmdExtraLineupDestroyNotify => "CmdExtraLineupDestroyNotify",
            Self::CmdGetAllLineupDataCsReq => "CmdGetAllLineupDataCsReq",
            Self::CmdSwapLineupScRsp => "CmdSwapLineupScRsp",
            Self::CmdGetCurLineupDataCsReq => "CmdGetCurLineupDataCsReq",
            Self::CmdQuitLineupCsReq => "CmdQuitLineupCsReq",
            Self::CmdCncfcdjafoj => "CmdCNCFCDJAFOJ",
            Self::CmdGetLineupAvatarDataScRsp => "CmdGetLineupAvatarDataScRsp",
            Self::CmdSyncLineupNotify => "CmdSyncLineupNotify",
            Self::CmdJoinLineupScRsp => "CmdJoinLineupScRsp",
            Self::CmdSwitchLineupIndexScRsp => "CmdSwitchLineupIndexScRsp",
            Self::CmdGetCurLineupDataScRsp => "CmdGetCurLineupDataScRsp",
            Self::CmdReplaceLineupCsReq => "CmdReplaceLineupCsReq",
            Self::CmdVirtualLineupTrialAvatarChangeScNotify => {
                "CmdVirtualLineupTrialAvatarChangeScNotify"
            }
            Self::CmdVirtualLineupDestroyNotify => "CmdVirtualLineupDestroyNotify",
            Self::CmdGetAllLineupDataScRsp => "CmdGetAllLineupDataScRsp",
            Self::CmdGetLineupAvatarDataCsReq => "CmdGetLineupAvatarDataCsReq",
            Self::CmdQuitLineupScRsp => "CmdQuitLineupScRsp",
            Self::CmdChangeLineupLeaderCsReq => "CmdChangeLineupLeaderCsReq",
            Self::CmdSetLineupNameScRsp => "CmdSetLineupNameScRsp",
            Self::CmdSyncAllPresetLineupNotify => "CmdSyncAllPresetLineupNotify",
            Self::CmdReplaceLineupScRsp => "CmdReplaceLineupScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MLPGOBNCBOF_NLCDGIPGFDJ" => Some(Self::MlpgobncbofNlcdgipgfdj),
            "CmdJoinLineupCsReq" => Some(Self::CmdJoinLineupCsReq),
            "CmdSwitchLineupIndexCsReq" => Some(Self::CmdSwitchLineupIndexCsReq),
            "CmdSetLineupNameCsReq" => Some(Self::CmdSetLineupNameCsReq),
            "CmdSwapLineupCsReq" => Some(Self::CmdSwapLineupCsReq),
            "CmdChangeLineupLeaderScRsp" => Some(Self::CmdChangeLineupLeaderScRsp),
            "CmdExtraLineupDestroyNotify" => Some(Self::CmdExtraLineupDestroyNotify),
            "CmdGetAllLineupDataCsReq" => Some(Self::CmdGetAllLineupDataCsReq),
            "CmdSwapLineupScRsp" => Some(Self::CmdSwapLineupScRsp),
            "CmdGetCurLineupDataCsReq" => Some(Self::CmdGetCurLineupDataCsReq),
            "CmdQuitLineupCsReq" => Some(Self::CmdQuitLineupCsReq),
            "CmdCNCFCDJAFOJ" => Some(Self::CmdCncfcdjafoj),
            "CmdGetLineupAvatarDataScRsp" => Some(Self::CmdGetLineupAvatarDataScRsp),
            "CmdSyncLineupNotify" => Some(Self::CmdSyncLineupNotify),
            "CmdJoinLineupScRsp" => Some(Self::CmdJoinLineupScRsp),
            "CmdSwitchLineupIndexScRsp" => Some(Self::CmdSwitchLineupIndexScRsp),
            "CmdGetCurLineupDataScRsp" => Some(Self::CmdGetCurLineupDataScRsp),
            "CmdReplaceLineupCsReq" => Some(Self::CmdReplaceLineupCsReq),
            "CmdVirtualLineupTrialAvatarChangeScNotify" => {
                Some(Self::CmdVirtualLineupTrialAvatarChangeScNotify)
            }
            "CmdVirtualLineupDestroyNotify" => Some(Self::CmdVirtualLineupDestroyNotify),
            "CmdGetAllLineupDataScRsp" => Some(Self::CmdGetAllLineupDataScRsp),
            "CmdGetLineupAvatarDataCsReq" => Some(Self::CmdGetLineupAvatarDataCsReq),
            "CmdQuitLineupScRsp" => Some(Self::CmdQuitLineupScRsp),
            "CmdChangeLineupLeaderCsReq" => Some(Self::CmdChangeLineupLeaderCsReq),
            "CmdSetLineupNameScRsp" => Some(Self::CmdSetLineupNameScRsp),
            "CmdSyncAllPresetLineupNotify" => Some(Self::CmdSyncAllPresetLineupNotify),
            "CmdReplaceLineupScRsp" => Some(Self::CmdReplaceLineupScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Emeaogdfbdi {
    Nlcdgipgfdj = 0,
    Elilfepklcj = 1,
    Jccbpmflehb = 2,
    Fihjpkblgpf = 3,
    Kblbapnnano = 4,
}
impl Emeaogdfbdi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "EMEAOGDFBDI_NLCDGIPGFDJ",
            Self::Elilfepklcj => "EMEAOGDFBDI_ELILFEPKLCJ",
            Self::Jccbpmflehb => "EMEAOGDFBDI_JCCBPMFLEHB",
            Self::Fihjpkblgpf => "EMEAOGDFBDI_FIHJPKBLGPF",
            Self::Kblbapnnano => "EMEAOGDFBDI_KBLBAPNNANO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EMEAOGDFBDI_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "EMEAOGDFBDI_ELILFEPKLCJ" => Some(Self::Elilfepklcj),
            "EMEAOGDFBDI_JCCBPMFLEHB" => Some(Self::Jccbpmflehb),
            "EMEAOGDFBDI_FIHJPKBLGPF" => Some(Self::Fihjpkblgpf),
            "EMEAOGDFBDI_KBLBAPNNANO" => Some(Self::Kblbapnnano),
            _ => None,
        }
    }
}
/// Obf: DMHILEFFPFL
#[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: OAJOCEIKAGK
#[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: MFAHJPCHPIN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLobbyType {
    MfahjpchpinNlcdgipgfdj = 0,
    CmdLobbyCreateScRsp = 7373,
    CmdAgdpioakfgb = 7365,
    CmdLobbyKickOutCsReq = 7360,
    CmdLobbyModifyPlayerInfoCsReq = 7353,
    CmdLobbyKickOutScRsp = 7371,
    CmdDacefjfglgm = 7369,
    CmdLobbyInviteCsReq = 7370,
    CmdLobbyJoinCsReq = 7387,
    CmdLobbyModifyPlayerInfoScRsp = 7357,
    CmdOpkkjfefeil = 7385,
    CmdLobbyQuitCsReq = 7379,
    CmdLobbyGetInfoScRsp = 7364,
    CmdLobbyGetInfoCsReq = 7352,
    CmdAnfmhbgnneg = 7358,
    CmdLobbyQuitScRsp = 7383,
    CmdLobbyInteractScNotify = 7363,
    CmdLobbyJoinScRsp = 7394,
    CmdLobbyCreateCsReq = 7359,
    CmdKigjgmlamgh = 7368,
    CmdLobbySyncInfoScNotify = 7374,
    CmdLobbyInviteScRsp = 7367,
    CmdGjbgnmggdle = 7398,
}
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::MfahjpchpinNlcdgipgfdj => "MFAHJPCHPIN_NLCDGIPGFDJ",
            Self::CmdLobbyCreateScRsp => "CmdLobbyCreateScRsp",
            Self::CmdAgdpioakfgb => "CmdAGDPIOAKFGB",
            Self::CmdLobbyKickOutCsReq => "CmdLobbyKickOutCsReq",
            Self::CmdLobbyModifyPlayerInfoCsReq => "CmdLobbyModifyPlayerInfoCsReq",
            Self::CmdLobbyKickOutScRsp => "CmdLobbyKickOutScRsp",
            Self::CmdDacefjfglgm => "CmdDACEFJFGLGM",
            Self::CmdLobbyInviteCsReq => "CmdLobbyInviteCsReq",
            Self::CmdLobbyJoinCsReq => "CmdLobbyJoinCsReq",
            Self::CmdLobbyModifyPlayerInfoScRsp => "CmdLobbyModifyPlayerInfoScRsp",
            Self::CmdOpkkjfefeil => "CmdOPKKJFEFEIL",
            Self::CmdLobbyQuitCsReq => "CmdLobbyQuitCsReq",
            Self::CmdLobbyGetInfoScRsp => "CmdLobbyGetInfoScRsp",
            Self::CmdLobbyGetInfoCsReq => "CmdLobbyGetInfoCsReq",
            Self::CmdAnfmhbgnneg => "CmdANFMHBGNNEG",
            Self::CmdLobbyQuitScRsp => "CmdLobbyQuitScRsp",
            Self::CmdLobbyInteractScNotify => "CmdLobbyInteractScNotify",
            Self::CmdLobbyJoinScRsp => "CmdLobbyJoinScRsp",
            Self::CmdLobbyCreateCsReq => "CmdLobbyCreateCsReq",
            Self::CmdKigjgmlamgh => "CmdKIGJGMLAMGH",
            Self::CmdLobbySyncInfoScNotify => "CmdLobbySyncInfoScNotify",
            Self::CmdLobbyInviteScRsp => "CmdLobbyInviteScRsp",
            Self::CmdGjbgnmggdle => "CmdGJBGNMGGDLE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MFAHJPCHPIN_NLCDGIPGFDJ" => Some(Self::MfahjpchpinNlcdgipgfdj),
            "CmdLobbyCreateScRsp" => Some(Self::CmdLobbyCreateScRsp),
            "CmdAGDPIOAKFGB" => Some(Self::CmdAgdpioakfgb),
            "CmdLobbyKickOutCsReq" => Some(Self::CmdLobbyKickOutCsReq),
            "CmdLobbyModifyPlayerInfoCsReq" => Some(Self::CmdLobbyModifyPlayerInfoCsReq),
            "CmdLobbyKickOutScRsp" => Some(Self::CmdLobbyKickOutScRsp),
            "CmdDACEFJFGLGM" => Some(Self::CmdDacefjfglgm),
            "CmdLobbyInviteCsReq" => Some(Self::CmdLobbyInviteCsReq),
            "CmdLobbyJoinCsReq" => Some(Self::CmdLobbyJoinCsReq),
            "CmdLobbyModifyPlayerInfoScRsp" => Some(Self::CmdLobbyModifyPlayerInfoScRsp),
            "CmdOPKKJFEFEIL" => Some(Self::CmdOpkkjfefeil),
            "CmdLobbyQuitCsReq" => Some(Self::CmdLobbyQuitCsReq),
            "CmdLobbyGetInfoScRsp" => Some(Self::CmdLobbyGetInfoScRsp),
            "CmdLobbyGetInfoCsReq" => Some(Self::CmdLobbyGetInfoCsReq),
            "CmdANFMHBGNNEG" => Some(Self::CmdAnfmhbgnneg),
            "CmdLobbyQuitScRsp" => Some(Self::CmdLobbyQuitScRsp),
            "CmdLobbyInteractScNotify" => Some(Self::CmdLobbyInteractScNotify),
            "CmdLobbyJoinScRsp" => Some(Self::CmdLobbyJoinScRsp),
            "CmdLobbyCreateCsReq" => Some(Self::CmdLobbyCreateCsReq),
            "CmdKIGJGMLAMGH" => Some(Self::CmdKigjgmlamgh),
            "CmdLobbySyncInfoScNotify" => Some(Self::CmdLobbySyncInfoScNotify),
            "CmdLobbyInviteScRsp" => Some(Self::CmdLobbyInviteScRsp),
            "CmdGJBGNMGGDLE" => Some(Self::CmdGjbgnmggdle),
            _ => None,
        }
    }
}
/// Obf: EGHHBKBLDMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdLocalLegendType {
    EghhbkbldmmNlcdgipgfdj = 0,
    CmdEnterLocalLegendLevelCsReq = 6587,
    CmdLocalLegendDataChangeNotify = 6580,
    CmdEnterLocalLegendLevelScRsp = 6582,
    CmdGetLocalLegendDataScRsp = 6596,
    CmdGetLocalLegendDataCsReq = 6583,
}
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::EghhbkbldmmNlcdgipgfdj => "EGHHBKBLDMM_NLCDGIPGFDJ",
            Self::CmdEnterLocalLegendLevelCsReq => "CmdEnterLocalLegendLevelCsReq",
            Self::CmdLocalLegendDataChangeNotify => "CmdLocalLegendDataChangeNotify",
            Self::CmdEnterLocalLegendLevelScRsp => "CmdEnterLocalLegendLevelScRsp",
            Self::CmdGetLocalLegendDataScRsp => "CmdGetLocalLegendDataScRsp",
            Self::CmdGetLocalLegendDataCsReq => "CmdGetLocalLegendDataCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EGHHBKBLDMM_NLCDGIPGFDJ" => Some(Self::EghhbkbldmmNlcdgipgfdj),
            "CmdEnterLocalLegendLevelCsReq" => Some(Self::CmdEnterLocalLegendLevelCsReq),
            "CmdLocalLegendDataChangeNotify" => {
                Some(Self::CmdLocalLegendDataChangeNotify)
            }
            "CmdEnterLocalLegendLevelScRsp" => Some(Self::CmdEnterLocalLegendLevelScRsp),
            "CmdGetLocalLegendDataScRsp" => Some(Self::CmdGetLocalLegendDataScRsp),
            "CmdGetLocalLegendDataCsReq" => Some(Self::CmdGetLocalLegendDataCsReq),
            _ => None,
        }
    }
}
/// Obf: CFGEBHKAEHB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMailType {
    CfgebhkaehbNlcdgipgfdj = 0,
    CmdGetMailScRsp = 878,
    CmdDelMailCsReq = 888,
    CmdDelMailScRsp = 881,
    CmdTakeMailAttachmentScRsp = 847,
    CmdMarkReadMailScRsp = 858,
    CmdGetMailCsReq = 825,
    CmdMarkReadMailCsReq = 893,
    CmdNewMailScNotify = 826,
    CmdTakeMailAttachmentCsReq = 886,
}
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::CfgebhkaehbNlcdgipgfdj => "CFGEBHKAEHB_NLCDGIPGFDJ",
            Self::CmdGetMailScRsp => "CmdGetMailScRsp",
            Self::CmdDelMailCsReq => "CmdDelMailCsReq",
            Self::CmdDelMailScRsp => "CmdDelMailScRsp",
            Self::CmdTakeMailAttachmentScRsp => "CmdTakeMailAttachmentScRsp",
            Self::CmdMarkReadMailScRsp => "CmdMarkReadMailScRsp",
            Self::CmdGetMailCsReq => "CmdGetMailCsReq",
            Self::CmdMarkReadMailCsReq => "CmdMarkReadMailCsReq",
            Self::CmdNewMailScNotify => "CmdNewMailScNotify",
            Self::CmdTakeMailAttachmentCsReq => "CmdTakeMailAttachmentCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CFGEBHKAEHB_NLCDGIPGFDJ" => Some(Self::CfgebhkaehbNlcdgipgfdj),
            "CmdGetMailScRsp" => Some(Self::CmdGetMailScRsp),
            "CmdDelMailCsReq" => Some(Self::CmdDelMailCsReq),
            "CmdDelMailScRsp" => Some(Self::CmdDelMailScRsp),
            "CmdTakeMailAttachmentScRsp" => Some(Self::CmdTakeMailAttachmentScRsp),
            "CmdMarkReadMailScRsp" => Some(Self::CmdMarkReadMailScRsp),
            "CmdGetMailCsReq" => Some(Self::CmdGetMailCsReq),
            "CmdMarkReadMailCsReq" => Some(Self::CmdMarkReadMailCsReq),
            "CmdNewMailScNotify" => Some(Self::CmdNewMailScNotify),
            "CmdTakeMailAttachmentCsReq" => Some(Self::CmdTakeMailAttachmentCsReq),
            _ => None,
        }
    }
}
/// Obf: JNLNCKDBOLK
#[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: LLGNEHDEAFB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMapRotationType {
    LlgnehdeafbNlcdgipgfdj = 0,
    CmdResetMapRotationRegionScRsp = 6838,
    CmdRotateMapCsReq = 6886,
    CmdDnnlhfkknlm = 6845,
    CmdResetMapRotationRegionCsReq = 6833,
    CmdRemoveRotatorCsReq = 6836,
    CmdDeployRotatorCsReq = 6888,
    CmdInteractChargerCsReq = 6893,
    CmdEnterMapRotationRegionScRsp = 6878,
    CmdGetMapRotationDataScRsp = 6840,
    CmdInteractChargerScRsp = 6858,
    CmdLeaveMapRotationRegionCsReq = 6826,
    CmdLeaveMapRotationRegionScRsp = 6813,
    CmdRotateMapScRsp = 6847,
    CmdEnterMapRotationRegionCsReq = 6825,
    CmdGetMapRotationDataCsReq = 6871,
    CmdRemoveRotaterScRsp = 6848,
    CmdDeployRotatorScRsp = 6881,
    CmdUpdateEnergyScNotify = 6804,
    CmdUpdateMapRotationDataScNotify = 6811,
}
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::LlgnehdeafbNlcdgipgfdj => "LLGNEHDEAFB_NLCDGIPGFDJ",
            Self::CmdResetMapRotationRegionScRsp => "CmdResetMapRotationRegionScRsp",
            Self::CmdRotateMapCsReq => "CmdRotateMapCsReq",
            Self::CmdDnnlhfkknlm => "CmdDNNLHFKKNLM",
            Self::CmdResetMapRotationRegionCsReq => "CmdResetMapRotationRegionCsReq",
            Self::CmdRemoveRotatorCsReq => "CmdRemoveRotatorCsReq",
            Self::CmdDeployRotatorCsReq => "CmdDeployRotatorCsReq",
            Self::CmdInteractChargerCsReq => "CmdInteractChargerCsReq",
            Self::CmdEnterMapRotationRegionScRsp => "CmdEnterMapRotationRegionScRsp",
            Self::CmdGetMapRotationDataScRsp => "CmdGetMapRotationDataScRsp",
            Self::CmdInteractChargerScRsp => "CmdInteractChargerScRsp",
            Self::CmdLeaveMapRotationRegionCsReq => "CmdLeaveMapRotationRegionCsReq",
            Self::CmdLeaveMapRotationRegionScRsp => "CmdLeaveMapRotationRegionScRsp",
            Self::CmdRotateMapScRsp => "CmdRotateMapScRsp",
            Self::CmdEnterMapRotationRegionCsReq => "CmdEnterMapRotationRegionCsReq",
            Self::CmdGetMapRotationDataCsReq => "CmdGetMapRotationDataCsReq",
            Self::CmdRemoveRotaterScRsp => "CmdRemoveRotaterScRsp",
            Self::CmdDeployRotatorScRsp => "CmdDeployRotatorScRsp",
            Self::CmdUpdateEnergyScNotify => "CmdUpdateEnergyScNotify",
            Self::CmdUpdateMapRotationDataScNotify => "CmdUpdateMapRotationDataScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LLGNEHDEAFB_NLCDGIPGFDJ" => Some(Self::LlgnehdeafbNlcdgipgfdj),
            "CmdResetMapRotationRegionScRsp" => {
                Some(Self::CmdResetMapRotationRegionScRsp)
            }
            "CmdRotateMapCsReq" => Some(Self::CmdRotateMapCsReq),
            "CmdDNNLHFKKNLM" => Some(Self::CmdDnnlhfkknlm),
            "CmdResetMapRotationRegionCsReq" => {
                Some(Self::CmdResetMapRotationRegionCsReq)
            }
            "CmdRemoveRotatorCsReq" => Some(Self::CmdRemoveRotatorCsReq),
            "CmdDeployRotatorCsReq" => Some(Self::CmdDeployRotatorCsReq),
            "CmdInteractChargerCsReq" => Some(Self::CmdInteractChargerCsReq),
            "CmdEnterMapRotationRegionScRsp" => {
                Some(Self::CmdEnterMapRotationRegionScRsp)
            }
            "CmdGetMapRotationDataScRsp" => Some(Self::CmdGetMapRotationDataScRsp),
            "CmdInteractChargerScRsp" => Some(Self::CmdInteractChargerScRsp),
            "CmdLeaveMapRotationRegionCsReq" => {
                Some(Self::CmdLeaveMapRotationRegionCsReq)
            }
            "CmdLeaveMapRotationRegionScRsp" => {
                Some(Self::CmdLeaveMapRotationRegionScRsp)
            }
            "CmdRotateMapScRsp" => Some(Self::CmdRotateMapScRsp),
            "CmdEnterMapRotationRegionCsReq" => {
                Some(Self::CmdEnterMapRotationRegionCsReq)
            }
            "CmdGetMapRotationDataCsReq" => Some(Self::CmdGetMapRotationDataCsReq),
            "CmdRemoveRotaterScRsp" => Some(Self::CmdRemoveRotaterScRsp),
            "CmdDeployRotatorScRsp" => Some(Self::CmdDeployRotatorScRsp),
            "CmdUpdateEnergyScNotify" => Some(Self::CmdUpdateEnergyScNotify),
            "CmdUpdateMapRotationDataScNotify" => {
                Some(Self::CmdUpdateMapRotationDataScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: NIEBPPAPJOF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarbleType {
    NiebppapjofNlcdgipgfdj = 0,
    CmdMarbleGetDataCsReq = 8288,
    CmdHajkepnejed = 8273,
    CmdMarbleUpdateShownSealCsReq = 8281,
    CmdMarbleShopBuyCsReq = 8272,
    CmdMarbleShopBuyScRsp = 8287,
    CmdMarbleUpdateShownSealScRsp = 8285,
    CmdMarbleUnlockSealScNotify = 8275,
    CmdMarblePvpDataUpdateScNotify = 8274,
    CmdMarbleGetDataScRsp = 8278,
    CmdKbeckamicjf = 8282,
}
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::NiebppapjofNlcdgipgfdj => "NIEBPPAPJOF_NLCDGIPGFDJ",
            Self::CmdMarbleGetDataCsReq => "CmdMarbleGetDataCsReq",
            Self::CmdHajkepnejed => "CmdHAJKEPNEJED",
            Self::CmdMarbleUpdateShownSealCsReq => "CmdMarbleUpdateShownSealCsReq",
            Self::CmdMarbleShopBuyCsReq => "CmdMarbleShopBuyCsReq",
            Self::CmdMarbleShopBuyScRsp => "CmdMarbleShopBuyScRsp",
            Self::CmdMarbleUpdateShownSealScRsp => "CmdMarbleUpdateShownSealScRsp",
            Self::CmdMarbleUnlockSealScNotify => "CmdMarbleUnlockSealScNotify",
            Self::CmdMarblePvpDataUpdateScNotify => "CmdMarblePvpDataUpdateScNotify",
            Self::CmdMarbleGetDataScRsp => "CmdMarbleGetDataScRsp",
            Self::CmdKbeckamicjf => "CmdKBECKAMICJF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NIEBPPAPJOF_NLCDGIPGFDJ" => Some(Self::NiebppapjofNlcdgipgfdj),
            "CmdMarbleGetDataCsReq" => Some(Self::CmdMarbleGetDataCsReq),
            "CmdHAJKEPNEJED" => Some(Self::CmdHajkepnejed),
            "CmdMarbleUpdateShownSealCsReq" => Some(Self::CmdMarbleUpdateShownSealCsReq),
            "CmdMarbleShopBuyCsReq" => Some(Self::CmdMarbleShopBuyCsReq),
            "CmdMarbleShopBuyScRsp" => Some(Self::CmdMarbleShopBuyScRsp),
            "CmdMarbleUpdateShownSealScRsp" => Some(Self::CmdMarbleUpdateShownSealScRsp),
            "CmdMarbleUnlockSealScNotify" => Some(Self::CmdMarbleUnlockSealScNotify),
            "CmdMarblePvpDataUpdateScNotify" => {
                Some(Self::CmdMarblePvpDataUpdateScNotify)
            }
            "CmdMarbleGetDataScRsp" => Some(Self::CmdMarbleGetDataScRsp),
            "CmdKBECKAMICJF" => Some(Self::CmdKbeckamicjf),
            _ => None,
        }
    }
}
/// Obf: LCNKHDAOMKM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMarkChestType {
    LcnkhdaomkmNlcdgipgfdj = 0,
    CmdUpdateMarkChestCsReq = 8183,
    CmdGetMarkChestCsReq = 8198,
    CmdMarkChestChangedScNotify = 8182,
    CmdGetMarkChestScRsp = 8188,
    CmdUpdateMarkChestScRsp = 8192,
}
impl CmdMarkChestType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::LcnkhdaomkmNlcdgipgfdj => "LCNKHDAOMKM_NLCDGIPGFDJ",
            Self::CmdUpdateMarkChestCsReq => "CmdUpdateMarkChestCsReq",
            Self::CmdGetMarkChestCsReq => "CmdGetMarkChestCsReq",
            Self::CmdMarkChestChangedScNotify => "CmdMarkChestChangedScNotify",
            Self::CmdGetMarkChestScRsp => "CmdGetMarkChestScRsp",
            Self::CmdUpdateMarkChestScRsp => "CmdUpdateMarkChestScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCNKHDAOMKM_NLCDGIPGFDJ" => Some(Self::LcnkhdaomkmNlcdgipgfdj),
            "CmdUpdateMarkChestCsReq" => Some(Self::CmdUpdateMarkChestCsReq),
            "CmdGetMarkChestCsReq" => Some(Self::CmdGetMarkChestCsReq),
            "CmdMarkChestChangedScNotify" => Some(Self::CmdMarkChestChangedScNotify),
            "CmdGetMarkChestScRsp" => Some(Self::CmdGetMarkChestScRsp),
            "CmdUpdateMarkChestScRsp" => Some(Self::CmdUpdateMarkChestScRsp),
            _ => None,
        }
    }
}
/// Obf: OJCIGGAFGPN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchType {
    OjciggafgpnNlcdgipgfdj = 0,
    CmdStartMatchScRsp = 7323,
    CmdGetCrossInfoScRsp = 7303,
    CmdCancelMatchCsReq = 7337,
    CmdGetCrossInfoCsReq = 7348,
    CmdStartMatchCsReq = 7309,
    CmdCancelMatchScRsp = 7344,
}
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::OjciggafgpnNlcdgipgfdj => "OJCIGGAFGPN_NLCDGIPGFDJ",
            Self::CmdStartMatchScRsp => "CmdStartMatchScRsp",
            Self::CmdGetCrossInfoScRsp => "CmdGetCrossInfoScRsp",
            Self::CmdCancelMatchCsReq => "CmdCancelMatchCsReq",
            Self::CmdGetCrossInfoCsReq => "CmdGetCrossInfoCsReq",
            Self::CmdStartMatchCsReq => "CmdStartMatchCsReq",
            Self::CmdCancelMatchScRsp => "CmdCancelMatchScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OJCIGGAFGPN_NLCDGIPGFDJ" => Some(Self::OjciggafgpnNlcdgipgfdj),
            "CmdStartMatchScRsp" => Some(Self::CmdStartMatchScRsp),
            "CmdGetCrossInfoScRsp" => Some(Self::CmdGetCrossInfoScRsp),
            "CmdCancelMatchCsReq" => Some(Self::CmdCancelMatchCsReq),
            "CmdGetCrossInfoCsReq" => Some(Self::CmdGetCrossInfoCsReq),
            "CmdStartMatchCsReq" => Some(Self::CmdStartMatchCsReq),
            "CmdCancelMatchScRsp" => Some(Self::CmdCancelMatchScRsp),
            _ => None,
        }
    }
}
/// Obf: PLHKNANMNAO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMatchThreeModuleType {
    PlhknanmnaoNlcdgipgfdj = 0,
    CmdMatchThreeV2SetBirdPosCsReq = 7429,
    CmdMatchThreeV2LevelEndCsReq = 7420,
    CmdPogmmmgbnch = 7448,
    CmdDhfgmhfeheb = 7410,
    CmdMatchThreeGetDataDataCsReq = 7409,
    CmdMatchThreeV2ScNotify = 7406,
    CmdEehldboefgb = 7414,
    CmdMatchThreeV2BattleItemLevelUpScRsp = 7424,
    CmdMatchThreeV2SetBirdPosScRsp = 7433,
    CmdPbdkdfcoapb = 7407,
    CmdMatchThreeV2BattleItemLevelUpCsReq = 7421,
    CmdHdaoekoedho = 7403,
    CmdMatchThreeLevelEndCsReq = 7437,
    CmdMatchThreeGetDataDataScRsp = 7423,
    CmdMatchThreeV2LevelEndScRsp = 7417,
    CmdMatchThreeSyncDataScNotify = 7419,
    CmdMatchThreeV2PvpFinishScNotify = 7402,
    CmdMatchThreeLevelEndScRsp = 7444,
}
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::PlhknanmnaoNlcdgipgfdj => "PLHKNANMNAO_NLCDGIPGFDJ",
            Self::CmdMatchThreeV2SetBirdPosCsReq => "CmdMatchThreeV2SetBirdPosCsReq",
            Self::CmdMatchThreeV2LevelEndCsReq => "CmdMatchThreeV2LevelEndCsReq",
            Self::CmdPogmmmgbnch => "CmdPOGMMMGBNCH",
            Self::CmdDhfgmhfeheb => "CmdDHFGMHFEHEB",
            Self::CmdMatchThreeGetDataDataCsReq => "CmdMatchThreeGetDataDataCsReq",
            Self::CmdMatchThreeV2ScNotify => "CmdMatchThreeV2ScNotify",
            Self::CmdEehldboefgb => "CmdEEHLDBOEFGB",
            Self::CmdMatchThreeV2BattleItemLevelUpScRsp => {
                "CmdMatchThreeV2BattleItemLevelUpScRsp"
            }
            Self::CmdMatchThreeV2SetBirdPosScRsp => "CmdMatchThreeV2SetBirdPosScRsp",
            Self::CmdPbdkdfcoapb => "CmdPBDKDFCOAPB",
            Self::CmdMatchThreeV2BattleItemLevelUpCsReq => {
                "CmdMatchThreeV2BattleItemLevelUpCsReq"
            }
            Self::CmdHdaoekoedho => "CmdHDAOEKOEDHO",
            Self::CmdMatchThreeLevelEndCsReq => "CmdMatchThreeLevelEndCsReq",
            Self::CmdMatchThreeGetDataDataScRsp => "CmdMatchThreeGetDataDataScRsp",
            Self::CmdMatchThreeV2LevelEndScRsp => "CmdMatchThreeV2LevelEndScRsp",
            Self::CmdMatchThreeSyncDataScNotify => "CmdMatchThreeSyncDataScNotify",
            Self::CmdMatchThreeV2PvpFinishScNotify => "CmdMatchThreeV2PvpFinishScNotify",
            Self::CmdMatchThreeLevelEndScRsp => "CmdMatchThreeLevelEndScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PLHKNANMNAO_NLCDGIPGFDJ" => Some(Self::PlhknanmnaoNlcdgipgfdj),
            "CmdMatchThreeV2SetBirdPosCsReq" => {
                Some(Self::CmdMatchThreeV2SetBirdPosCsReq)
            }
            "CmdMatchThreeV2LevelEndCsReq" => Some(Self::CmdMatchThreeV2LevelEndCsReq),
            "CmdPOGMMMGBNCH" => Some(Self::CmdPogmmmgbnch),
            "CmdDHFGMHFEHEB" => Some(Self::CmdDhfgmhfeheb),
            "CmdMatchThreeGetDataDataCsReq" => Some(Self::CmdMatchThreeGetDataDataCsReq),
            "CmdMatchThreeV2ScNotify" => Some(Self::CmdMatchThreeV2ScNotify),
            "CmdEEHLDBOEFGB" => Some(Self::CmdEehldboefgb),
            "CmdMatchThreeV2BattleItemLevelUpScRsp" => {
                Some(Self::CmdMatchThreeV2BattleItemLevelUpScRsp)
            }
            "CmdMatchThreeV2SetBirdPosScRsp" => {
                Some(Self::CmdMatchThreeV2SetBirdPosScRsp)
            }
            "CmdPBDKDFCOAPB" => Some(Self::CmdPbdkdfcoapb),
            "CmdMatchThreeV2BattleItemLevelUpCsReq" => {
                Some(Self::CmdMatchThreeV2BattleItemLevelUpCsReq)
            }
            "CmdHDAOEKOEDHO" => Some(Self::CmdHdaoekoedho),
            "CmdMatchThreeLevelEndCsReq" => Some(Self::CmdMatchThreeLevelEndCsReq),
            "CmdMatchThreeGetDataDataScRsp" => Some(Self::CmdMatchThreeGetDataDataScRsp),
            "CmdMatchThreeV2LevelEndScRsp" => Some(Self::CmdMatchThreeV2LevelEndScRsp),
            "CmdMatchThreeSyncDataScNotify" => Some(Self::CmdMatchThreeSyncDataScNotify),
            "CmdMatchThreeV2PvpFinishScNotify" => {
                Some(Self::CmdMatchThreeV2PvpFinishScNotify)
            }
            "CmdMatchThreeLevelEndScRsp" => Some(Self::CmdMatchThreeLevelEndScRsp),
            _ => None,
        }
    }
}
/// Obf: JHGPKBIJHDE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MatchThreeStatisticsType {
    JhgpkbijhdeAkhaibhblfl = 0,
    JhgpkbijhdeIkgflpikbme = 1,
    JhgpkbijhdeFpbhkchpdjd = 2,
    JhgpkbijhdeCgmjaclcloi = 3,
    JhgpkbijhdeOemmeeejgjn = 4,
    JhgpkbijhdeGgcoalckjlg = 5,
    JhgpkbijhdeDedjlnbbfjd = 6,
    JhgpkbijhdeLcijppijbkc = 7,
    JhgpkbijhdeEakehnfbdbn = 8,
    JhgpkbijhdeAlmccadjlka = 9,
    JhgpkbijhdeColmjcgjdcc = 10,
    JhgpkbijhdeMdbafcnepjp = 11,
    JhgpkbijhdeOfokpffonkh = 12,
    JhgpkbijhdeDbnndmdfhek = 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::JhgpkbijhdeAkhaibhblfl => "JHGPKBIJHDE_AKHAIBHBLFL",
            Self::JhgpkbijhdeIkgflpikbme => "JHGPKBIJHDE_IKGFLPIKBME",
            Self::JhgpkbijhdeFpbhkchpdjd => "JHGPKBIJHDE_FPBHKCHPDJD",
            Self::JhgpkbijhdeCgmjaclcloi => "JHGPKBIJHDE_CGMJACLCLOI",
            Self::JhgpkbijhdeOemmeeejgjn => "JHGPKBIJHDE_OEMMEEEJGJN",
            Self::JhgpkbijhdeGgcoalckjlg => "JHGPKBIJHDE_GGCOALCKJLG",
            Self::JhgpkbijhdeDedjlnbbfjd => "JHGPKBIJHDE_DEDJLNBBFJD",
            Self::JhgpkbijhdeLcijppijbkc => "JHGPKBIJHDE_LCIJPPIJBKC",
            Self::JhgpkbijhdeEakehnfbdbn => "JHGPKBIJHDE_EAKEHNFBDBN",
            Self::JhgpkbijhdeAlmccadjlka => "JHGPKBIJHDE_ALMCCADJLKA",
            Self::JhgpkbijhdeColmjcgjdcc => "JHGPKBIJHDE_COLMJCGJDCC",
            Self::JhgpkbijhdeMdbafcnepjp => "JHGPKBIJHDE_MDBAFCNEPJP",
            Self::JhgpkbijhdeOfokpffonkh => "JHGPKBIJHDE_OFOKPFFONKH",
            Self::JhgpkbijhdeDbnndmdfhek => "JHGPKBIJHDE_DBNNDMDFHEK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHGPKBIJHDE_AKHAIBHBLFL" => Some(Self::JhgpkbijhdeAkhaibhblfl),
            "JHGPKBIJHDE_IKGFLPIKBME" => Some(Self::JhgpkbijhdeIkgflpikbme),
            "JHGPKBIJHDE_FPBHKCHPDJD" => Some(Self::JhgpkbijhdeFpbhkchpdjd),
            "JHGPKBIJHDE_CGMJACLCLOI" => Some(Self::JhgpkbijhdeCgmjaclcloi),
            "JHGPKBIJHDE_OEMMEEEJGJN" => Some(Self::JhgpkbijhdeOemmeeejgjn),
            "JHGPKBIJHDE_GGCOALCKJLG" => Some(Self::JhgpkbijhdeGgcoalckjlg),
            "JHGPKBIJHDE_DEDJLNBBFJD" => Some(Self::JhgpkbijhdeDedjlnbbfjd),
            "JHGPKBIJHDE_LCIJPPIJBKC" => Some(Self::JhgpkbijhdeLcijppijbkc),
            "JHGPKBIJHDE_EAKEHNFBDBN" => Some(Self::JhgpkbijhdeEakehnfbdbn),
            "JHGPKBIJHDE_ALMCCADJLKA" => Some(Self::JhgpkbijhdeAlmccadjlka),
            "JHGPKBIJHDE_COLMJCGJDCC" => Some(Self::JhgpkbijhdeColmjcgjdcc),
            "JHGPKBIJHDE_MDBAFCNEPJP" => Some(Self::JhgpkbijhdeMdbafcnepjp),
            "JHGPKBIJHDE_OFOKPFFONKH" => Some(Self::JhgpkbijhdeOfokpffonkh),
            "JHGPKBIJHDE_DBNNDMDFHEK" => Some(Self::JhgpkbijhdeDbnndmdfhek),
            _ => None,
        }
    }
}
/// Obf: GPNGEMMFFAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMazePuzzleType {
    GpngemmffakNlcdgipgfdj = 0,
    CmdCdjkljdmjho = 9071,
    CmdEgjjhfipcnb = 9065,
    GpngemmffakNboogobhmoe = 9085,
    CmdGetChenLingGameBoyDataScRsp = 9073,
    CmdFiveDimFluteDataChangeNotify = 9068,
    CmdFinishFiveDimMiniGameCsReq = 9083,
    CmdFinishChenLingGameBoyScRsp = 9094,
    GpngemmffakJcpgimagbhn = 9069,
    CmdMazeCrossFloorConditionChangeScNotify = 9093,
    CmdGetFiveDimMiniGameDataCsReq = 9053,
    GpngemmffakIpnfoojjgmc = 9063,
    GpngemmffakLdpoifpcehb = 9052,
    CmdChenLingGameBoyGetFriendRankingInfoScRsp = 9098,
    CmdOnaegkcmpnn = 9057,
    CmdNcgfpokhmbl = 9058,
    GpngemmffakBdfohfojbkk = 9074,
    CmdJhehacpkkbl = 9070,
    CmdFinishFiveDimMiniGameScRsp = 9056,
    CmdGetFiveDimMiniGameDataScRsp = 9079,
    GpngemmffakKgmeefcmpck = 9067,
    CmdGetFiveDimFluteDataScRsp = 9064,
    CmdFinishChenLingGameBoyCsReq = 9087,
    GpngemmffakDielfholcgg = 9059,
    GpngemmffakEeicodkondh = 9060,
}
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::GpngemmffakNlcdgipgfdj => "GPNGEMMFFAK_NLCDGIPGFDJ",
            Self::CmdCdjkljdmjho => "CmdCDJKLJDMJHO",
            Self::CmdEgjjhfipcnb => "CmdEGJJHFIPCNB",
            Self::GpngemmffakNboogobhmoe => "GPNGEMMFFAK_NBOOGOBHMOE",
            Self::CmdGetChenLingGameBoyDataScRsp => "CmdGetChenLingGameBoyDataScRsp",
            Self::CmdFiveDimFluteDataChangeNotify => "CmdFiveDimFluteDataChangeNotify",
            Self::CmdFinishFiveDimMiniGameCsReq => "CmdFinishFiveDimMiniGameCsReq",
            Self::CmdFinishChenLingGameBoyScRsp => "CmdFinishChenLingGameBoyScRsp",
            Self::GpngemmffakJcpgimagbhn => "GPNGEMMFFAK_JCPGIMAGBHN",
            Self::CmdMazeCrossFloorConditionChangeScNotify => {
                "CmdMazeCrossFloorConditionChangeScNotify"
            }
            Self::CmdGetFiveDimMiniGameDataCsReq => "CmdGetFiveDimMiniGameDataCsReq",
            Self::GpngemmffakIpnfoojjgmc => "GPNGEMMFFAK_IPNFOOJJGMC",
            Self::GpngemmffakLdpoifpcehb => "GPNGEMMFFAK_LDPOIFPCEHB",
            Self::CmdChenLingGameBoyGetFriendRankingInfoScRsp => {
                "CmdChenLingGameBoyGetFriendRankingInfoScRsp"
            }
            Self::CmdOnaegkcmpnn => "CmdONAEGKCMPNN",
            Self::CmdNcgfpokhmbl => "CmdNCGFPOKHMBL",
            Self::GpngemmffakBdfohfojbkk => "GPNGEMMFFAK_BDFOHFOJBKK",
            Self::CmdJhehacpkkbl => "CmdJHEHACPKKBL",
            Self::CmdFinishFiveDimMiniGameScRsp => "CmdFinishFiveDimMiniGameScRsp",
            Self::CmdGetFiveDimMiniGameDataScRsp => "CmdGetFiveDimMiniGameDataScRsp",
            Self::GpngemmffakKgmeefcmpck => "GPNGEMMFFAK_KGMEEFCMPCK",
            Self::CmdGetFiveDimFluteDataScRsp => "CmdGetFiveDimFluteDataScRsp",
            Self::CmdFinishChenLingGameBoyCsReq => "CmdFinishChenLingGameBoyCsReq",
            Self::GpngemmffakDielfholcgg => "GPNGEMMFFAK_DIELFHOLCGG",
            Self::GpngemmffakEeicodkondh => "GPNGEMMFFAK_EEICODKONDH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GPNGEMMFFAK_NLCDGIPGFDJ" => Some(Self::GpngemmffakNlcdgipgfdj),
            "CmdCDJKLJDMJHO" => Some(Self::CmdCdjkljdmjho),
            "CmdEGJJHFIPCNB" => Some(Self::CmdEgjjhfipcnb),
            "GPNGEMMFFAK_NBOOGOBHMOE" => Some(Self::GpngemmffakNboogobhmoe),
            "CmdGetChenLingGameBoyDataScRsp" => {
                Some(Self::CmdGetChenLingGameBoyDataScRsp)
            }
            "CmdFiveDimFluteDataChangeNotify" => {
                Some(Self::CmdFiveDimFluteDataChangeNotify)
            }
            "CmdFinishFiveDimMiniGameCsReq" => Some(Self::CmdFinishFiveDimMiniGameCsReq),
            "CmdFinishChenLingGameBoyScRsp" => Some(Self::CmdFinishChenLingGameBoyScRsp),
            "GPNGEMMFFAK_JCPGIMAGBHN" => Some(Self::GpngemmffakJcpgimagbhn),
            "CmdMazeCrossFloorConditionChangeScNotify" => {
                Some(Self::CmdMazeCrossFloorConditionChangeScNotify)
            }
            "CmdGetFiveDimMiniGameDataCsReq" => {
                Some(Self::CmdGetFiveDimMiniGameDataCsReq)
            }
            "GPNGEMMFFAK_IPNFOOJJGMC" => Some(Self::GpngemmffakIpnfoojjgmc),
            "GPNGEMMFFAK_LDPOIFPCEHB" => Some(Self::GpngemmffakLdpoifpcehb),
            "CmdChenLingGameBoyGetFriendRankingInfoScRsp" => {
                Some(Self::CmdChenLingGameBoyGetFriendRankingInfoScRsp)
            }
            "CmdONAEGKCMPNN" => Some(Self::CmdOnaegkcmpnn),
            "CmdNCGFPOKHMBL" => Some(Self::CmdNcgfpokhmbl),
            "GPNGEMMFFAK_BDFOHFOJBKK" => Some(Self::GpngemmffakBdfohfojbkk),
            "CmdJHEHACPKKBL" => Some(Self::CmdJhehacpkkbl),
            "CmdFinishFiveDimMiniGameScRsp" => Some(Self::CmdFinishFiveDimMiniGameScRsp),
            "CmdGetFiveDimMiniGameDataScRsp" => {
                Some(Self::CmdGetFiveDimMiniGameDataScRsp)
            }
            "GPNGEMMFFAK_KGMEEFCMPCK" => Some(Self::GpngemmffakKgmeefcmpck),
            "CmdGetFiveDimFluteDataScRsp" => Some(Self::CmdGetFiveDimFluteDataScRsp),
            "CmdFinishChenLingGameBoyCsReq" => Some(Self::CmdFinishChenLingGameBoyCsReq),
            "GPNGEMMFFAK_DIELFHOLCGG" => Some(Self::GpngemmffakDielfholcgg),
            "GPNGEMMFFAK_EEICODKONDH" => Some(Self::GpngemmffakEeicodkondh),
            _ => None,
        }
    }
}
/// Obf: BDIMOGEJAFG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMessageType {
    BdimogejafgNlcdgipgfdj = 0,
    CmdGetNpcStatusScRsp = 2758,
    CmdGetNpcMessageGroupScRsp = 2778,
    CmdFinishSectionIdScRsp = 2747,
    CmdFinishPerformSectionIdCsReq = 2726,
    CmdFinishItemIdScRsp = 2781,
    CmdGetMissionMessageScRsp = 2740,
    CmdFinishItemIdCsReq = 2788,
    CmdFinishPerformSectionIdScRsp = 2713,
    CmdGetNpcMessageGroupCsReq = 2725,
    CmdGetNpcStatusCsReq = 2793,
    CmdGetMissionMessageCsReq = 2771,
    CmdFinishSectionIdCsReq = 2786,
}
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::BdimogejafgNlcdgipgfdj => "BDIMOGEJAFG_NLCDGIPGFDJ",
            Self::CmdGetNpcStatusScRsp => "CmdGetNpcStatusScRsp",
            Self::CmdGetNpcMessageGroupScRsp => "CmdGetNpcMessageGroupScRsp",
            Self::CmdFinishSectionIdScRsp => "CmdFinishSectionIdScRsp",
            Self::CmdFinishPerformSectionIdCsReq => "CmdFinishPerformSectionIdCsReq",
            Self::CmdFinishItemIdScRsp => "CmdFinishItemIdScRsp",
            Self::CmdGetMissionMessageScRsp => "CmdGetMissionMessageScRsp",
            Self::CmdFinishItemIdCsReq => "CmdFinishItemIdCsReq",
            Self::CmdFinishPerformSectionIdScRsp => "CmdFinishPerformSectionIdScRsp",
            Self::CmdGetNpcMessageGroupCsReq => "CmdGetNpcMessageGroupCsReq",
            Self::CmdGetNpcStatusCsReq => "CmdGetNpcStatusCsReq",
            Self::CmdGetMissionMessageCsReq => "CmdGetMissionMessageCsReq",
            Self::CmdFinishSectionIdCsReq => "CmdFinishSectionIdCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BDIMOGEJAFG_NLCDGIPGFDJ" => Some(Self::BdimogejafgNlcdgipgfdj),
            "CmdGetNpcStatusScRsp" => Some(Self::CmdGetNpcStatusScRsp),
            "CmdGetNpcMessageGroupScRsp" => Some(Self::CmdGetNpcMessageGroupScRsp),
            "CmdFinishSectionIdScRsp" => Some(Self::CmdFinishSectionIdScRsp),
            "CmdFinishPerformSectionIdCsReq" => {
                Some(Self::CmdFinishPerformSectionIdCsReq)
            }
            "CmdFinishItemIdScRsp" => Some(Self::CmdFinishItemIdScRsp),
            "CmdGetMissionMessageScRsp" => Some(Self::CmdGetMissionMessageScRsp),
            "CmdFinishItemIdCsReq" => Some(Self::CmdFinishItemIdCsReq),
            "CmdFinishPerformSectionIdScRsp" => {
                Some(Self::CmdFinishPerformSectionIdScRsp)
            }
            "CmdGetNpcMessageGroupCsReq" => Some(Self::CmdGetNpcMessageGroupCsReq),
            "CmdGetNpcStatusCsReq" => Some(Self::CmdGetNpcStatusCsReq),
            "CmdGetMissionMessageCsReq" => Some(Self::CmdGetMissionMessageCsReq),
            "CmdFinishSectionIdCsReq" => Some(Self::CmdFinishSectionIdCsReq),
            _ => None,
        }
    }
}
/// Obf: LLGMNBFFNEL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMiscModuleType {
    LlgmnbffnelNlcdgipgfdj = 0,
    CmdLcbiejnjdif = 4120,
    CmdPiconflhmcd = 4153,
    CmdEabimapllll = 4189,
    CmdUpdateMovieRacingDataCsReq = 4130,
    CmdAlcdaeideam = 4118,
    CmdMgfaalhchef = 4136,
    CmdGetSwitchMascotDataCsReq = 4112,
    CmdGetMovieRacingDataScRsp = 4165,
    CmdMncfpnfgaoh = 4133,
    CmdJoigbkbegob = 4115,
    CmdUpdateGunPlayDataScRsp = 4121,
    CmdBmflffjiefc = 4138,
    CmdEhnlgmegijp = 4181,
    CmdGetChallangeTierceScRsp = 4149,
    CmdGetGunPlayDataCsReq = 4172,
    CmdGetMovieRacingDataCsReq = 4169,
    CmdShareCsReq = 4125,
    CmdNialcdgnnlc = 4104,
    CmdGetGunPlayDataScRsp = 4180,
    CmdGetShareDataCsReq = 4193,
    CmdLiogdhefogd = 4188,
    LlgmnbffnelCnhfapdgppm = 4171,
    CmdDifficultyAdjustmentUpdateDataCsReq = 4110,
    CmdFecgdojfdim = 4152,
    CmdInkeeekknkf = 4113,
    CmdMazeKillDirectScRsp = 4163,
    CmdDifficultyAdjustmentGetDataScRsp = 4141,
    CmdShareScRsp = 4178,
    CmdMazeKillDirectCsReq = 4129,
    CmdUpdateMovieRacingDataScRsp = 4142,
    CmdJdaaleacpkl = 4139,
    CmdGetSwitchMascotDataScRsp = 4135,
    CmdDifficultyAdjustmentUpdateDataScRsp = 4143,
    CmdGetChallangeTierceCsReq = 4144,
    CmdDirectDeliveryScNotify = 4134,
    CmdPimffpgepio = 4126,
    CmdDifficultyAdjustmentGetDataCsReq = 4105,
    CmdIdenfkijicm = 4140,
    CmdCancelDirectDeliveryNoticeScRsp = 4173,
    CmdDdooedokepf = 4114,
    CmdUpdateGunPlayDataCsReq = 4184,
    CmdSwitchMascotUpdateScNotify = 4175,
    CmdCancelDirectDeliveryNoticeCsReq = 4196,
    CmdGfgemcjlgpp = 4111,
    CmdGetShareDataScRsp = 4158,
}
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::LlgmnbffnelNlcdgipgfdj => "LLGMNBFFNEL_NLCDGIPGFDJ",
            Self::CmdLcbiejnjdif => "CmdLCBIEJNJDIF",
            Self::CmdPiconflhmcd => "CmdPICONFLHMCD",
            Self::CmdEabimapllll => "CmdEABIMAPLLLL",
            Self::CmdUpdateMovieRacingDataCsReq => "CmdUpdateMovieRacingDataCsReq",
            Self::CmdAlcdaeideam => "CmdALCDAEIDEAM",
            Self::CmdMgfaalhchef => "CmdMGFAALHCHEF",
            Self::CmdGetSwitchMascotDataCsReq => "CmdGetSwitchMascotDataCsReq",
            Self::CmdGetMovieRacingDataScRsp => "CmdGetMovieRacingDataScRsp",
            Self::CmdMncfpnfgaoh => "CmdMNCFPNFGAOH",
            Self::CmdJoigbkbegob => "CmdJOIGBKBEGOB",
            Self::CmdUpdateGunPlayDataScRsp => "CmdUpdateGunPlayDataScRsp",
            Self::CmdBmflffjiefc => "CmdBMFLFFJIEFC",
            Self::CmdEhnlgmegijp => "CmdEHNLGMEGIJP",
            Self::CmdGetChallangeTierceScRsp => "CmdGetChallangeTierceScRsp",
            Self::CmdGetGunPlayDataCsReq => "CmdGetGunPlayDataCsReq",
            Self::CmdGetMovieRacingDataCsReq => "CmdGetMovieRacingDataCsReq",
            Self::CmdShareCsReq => "CmdShareCsReq",
            Self::CmdNialcdgnnlc => "CmdNIALCDGNNLC",
            Self::CmdGetGunPlayDataScRsp => "CmdGetGunPlayDataScRsp",
            Self::CmdGetShareDataCsReq => "CmdGetShareDataCsReq",
            Self::CmdLiogdhefogd => "CmdLIOGDHEFOGD",
            Self::LlgmnbffnelCnhfapdgppm => "LLGMNBFFNEL_CNHFAPDGPPM",
            Self::CmdDifficultyAdjustmentUpdateDataCsReq => {
                "CmdDifficultyAdjustmentUpdateDataCsReq"
            }
            Self::CmdFecgdojfdim => "CmdFECGDOJFDIM",
            Self::CmdInkeeekknkf => "CmdINKEEEKKNKF",
            Self::CmdMazeKillDirectScRsp => "CmdMazeKillDirectScRsp",
            Self::CmdDifficultyAdjustmentGetDataScRsp => {
                "CmdDifficultyAdjustmentGetDataScRsp"
            }
            Self::CmdShareScRsp => "CmdShareScRsp",
            Self::CmdMazeKillDirectCsReq => "CmdMazeKillDirectCsReq",
            Self::CmdUpdateMovieRacingDataScRsp => "CmdUpdateMovieRacingDataScRsp",
            Self::CmdJdaaleacpkl => "CmdJDAALEACPKL",
            Self::CmdGetSwitchMascotDataScRsp => "CmdGetSwitchMascotDataScRsp",
            Self::CmdDifficultyAdjustmentUpdateDataScRsp => {
                "CmdDifficultyAdjustmentUpdateDataScRsp"
            }
            Self::CmdGetChallangeTierceCsReq => "CmdGetChallangeTierceCsReq",
            Self::CmdDirectDeliveryScNotify => "CmdDirectDeliveryScNotify",
            Self::CmdPimffpgepio => "CmdPIMFFPGEPIO",
            Self::CmdDifficultyAdjustmentGetDataCsReq => {
                "CmdDifficultyAdjustmentGetDataCsReq"
            }
            Self::CmdIdenfkijicm => "CmdIDENFKIJICM",
            Self::CmdCancelDirectDeliveryNoticeScRsp => {
                "CmdCancelDirectDeliveryNoticeScRsp"
            }
            Self::CmdDdooedokepf => "CmdDDOOEDOKEPF",
            Self::CmdUpdateGunPlayDataCsReq => "CmdUpdateGunPlayDataCsReq",
            Self::CmdSwitchMascotUpdateScNotify => "CmdSwitchMascotUpdateScNotify",
            Self::CmdCancelDirectDeliveryNoticeCsReq => {
                "CmdCancelDirectDeliveryNoticeCsReq"
            }
            Self::CmdGfgemcjlgpp => "CmdGFGEMCJLGPP",
            Self::CmdGetShareDataScRsp => "CmdGetShareDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LLGMNBFFNEL_NLCDGIPGFDJ" => Some(Self::LlgmnbffnelNlcdgipgfdj),
            "CmdLCBIEJNJDIF" => Some(Self::CmdLcbiejnjdif),
            "CmdPICONFLHMCD" => Some(Self::CmdPiconflhmcd),
            "CmdEABIMAPLLLL" => Some(Self::CmdEabimapllll),
            "CmdUpdateMovieRacingDataCsReq" => Some(Self::CmdUpdateMovieRacingDataCsReq),
            "CmdALCDAEIDEAM" => Some(Self::CmdAlcdaeideam),
            "CmdMGFAALHCHEF" => Some(Self::CmdMgfaalhchef),
            "CmdGetSwitchMascotDataCsReq" => Some(Self::CmdGetSwitchMascotDataCsReq),
            "CmdGetMovieRacingDataScRsp" => Some(Self::CmdGetMovieRacingDataScRsp),
            "CmdMNCFPNFGAOH" => Some(Self::CmdMncfpnfgaoh),
            "CmdJOIGBKBEGOB" => Some(Self::CmdJoigbkbegob),
            "CmdUpdateGunPlayDataScRsp" => Some(Self::CmdUpdateGunPlayDataScRsp),
            "CmdBMFLFFJIEFC" => Some(Self::CmdBmflffjiefc),
            "CmdEHNLGMEGIJP" => Some(Self::CmdEhnlgmegijp),
            "CmdGetChallangeTierceScRsp" => Some(Self::CmdGetChallangeTierceScRsp),
            "CmdGetGunPlayDataCsReq" => Some(Self::CmdGetGunPlayDataCsReq),
            "CmdGetMovieRacingDataCsReq" => Some(Self::CmdGetMovieRacingDataCsReq),
            "CmdShareCsReq" => Some(Self::CmdShareCsReq),
            "CmdNIALCDGNNLC" => Some(Self::CmdNialcdgnnlc),
            "CmdGetGunPlayDataScRsp" => Some(Self::CmdGetGunPlayDataScRsp),
            "CmdGetShareDataCsReq" => Some(Self::CmdGetShareDataCsReq),
            "CmdLIOGDHEFOGD" => Some(Self::CmdLiogdhefogd),
            "LLGMNBFFNEL_CNHFAPDGPPM" => Some(Self::LlgmnbffnelCnhfapdgppm),
            "CmdDifficultyAdjustmentUpdateDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataCsReq)
            }
            "CmdFECGDOJFDIM" => Some(Self::CmdFecgdojfdim),
            "CmdINKEEEKKNKF" => Some(Self::CmdInkeeekknkf),
            "CmdMazeKillDirectScRsp" => Some(Self::CmdMazeKillDirectScRsp),
            "CmdDifficultyAdjustmentGetDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentGetDataScRsp)
            }
            "CmdShareScRsp" => Some(Self::CmdShareScRsp),
            "CmdMazeKillDirectCsReq" => Some(Self::CmdMazeKillDirectCsReq),
            "CmdUpdateMovieRacingDataScRsp" => Some(Self::CmdUpdateMovieRacingDataScRsp),
            "CmdJDAALEACPKL" => Some(Self::CmdJdaaleacpkl),
            "CmdGetSwitchMascotDataScRsp" => Some(Self::CmdGetSwitchMascotDataScRsp),
            "CmdDifficultyAdjustmentUpdateDataScRsp" => {
                Some(Self::CmdDifficultyAdjustmentUpdateDataScRsp)
            }
            "CmdGetChallangeTierceCsReq" => Some(Self::CmdGetChallangeTierceCsReq),
            "CmdDirectDeliveryScNotify" => Some(Self::CmdDirectDeliveryScNotify),
            "CmdPIMFFPGEPIO" => Some(Self::CmdPimffpgepio),
            "CmdDifficultyAdjustmentGetDataCsReq" => {
                Some(Self::CmdDifficultyAdjustmentGetDataCsReq)
            }
            "CmdIDENFKIJICM" => Some(Self::CmdIdenfkijicm),
            "CmdCancelDirectDeliveryNoticeScRsp" => {
                Some(Self::CmdCancelDirectDeliveryNoticeScRsp)
            }
            "CmdDDOOEDOKEPF" => Some(Self::CmdDdooedokepf),
            "CmdUpdateGunPlayDataCsReq" => Some(Self::CmdUpdateGunPlayDataCsReq),
            "CmdSwitchMascotUpdateScNotify" => Some(Self::CmdSwitchMascotUpdateScNotify),
            "CmdCancelDirectDeliveryNoticeCsReq" => {
                Some(Self::CmdCancelDirectDeliveryNoticeCsReq)
            }
            "CmdGFGEMCJLGPP" => Some(Self::CmdGfgemcjlgpp),
            "CmdGetShareDataScRsp" => Some(Self::CmdGetShareDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bmhihbheckd {
    Nlcdgipgfdj = 0,
    Aoneonhehna = 1,
    Ngchdkkbacd = 2,
    Lhcchlaiain = 3,
}
impl Bmhihbheckd {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BMHIHBHECKD_NLCDGIPGFDJ",
            Self::Aoneonhehna => "BMHIHBHECKD_AONEONHEHNA",
            Self::Ngchdkkbacd => "BMHIHBHECKD_NGCHDKKBACD",
            Self::Lhcchlaiain => "BMHIHBHECKD_LHCCHLAIAIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BMHIHBHECKD_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BMHIHBHECKD_AONEONHEHNA" => Some(Self::Aoneonhehna),
            "BMHIHBHECKD_NGCHDKKBACD" => Some(Self::Ngchdkkbacd),
            "BMHIHBHECKD_LHCCHLAIAIN" => Some(Self::Lhcchlaiain),
            _ => None,
        }
    }
}
/// Obf: KKBNKEKDPFM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MovieRacingType {
    KkbnkekdpfmBiflglfobbm = 0,
    KkbnkekdpfmDnkhlgpjnjo = 1,
    KkbnkekdpfmFpgeonekipd = 2,
    KkbnkekdpfmCgmlghicnpn = 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::KkbnkekdpfmBiflglfobbm => "KKBNKEKDPFM_BIFLGLFOBBM",
            Self::KkbnkekdpfmDnkhlgpjnjo => "KKBNKEKDPFM_DNKHLGPJNJO",
            Self::KkbnkekdpfmFpgeonekipd => "KKBNKEKDPFM_FPGEONEKIPD",
            Self::KkbnkekdpfmCgmlghicnpn => "KKBNKEKDPFM_CGMLGHICNPN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KKBNKEKDPFM_BIFLGLFOBBM" => Some(Self::KkbnkekdpfmBiflglfobbm),
            "KKBNKEKDPFM_DNKHLGPJNJO" => Some(Self::KkbnkekdpfmDnkhlgpjnjo),
            "KKBNKEKDPFM_FPGEONEKIPD" => Some(Self::KkbnkekdpfmFpgeonekipd),
            "KKBNKEKDPFM_CGMLGHICNPN" => Some(Self::KkbnkekdpfmCgmlghicnpn),
            _ => None,
        }
    }
}
/// Obf: JNECPMMFEKP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DifficultyAdjustmentType {
    JnecpmmfekpAanhceghcfa = 0,
    JnecpmmfekpAeddonplofj = 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::JnecpmmfekpAanhceghcfa => "JNECPMMFEKP_AANHCEGHCFA",
            Self::JnecpmmfekpAeddonplofj => "JNECPMMFEKP_AEDDONPLOFJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNECPMMFEKP_AANHCEGHCFA" => Some(Self::JnecpmmfekpAanhceghcfa),
            "JNECPMMFEKP_AEDDONPLOFJ" => Some(Self::JnecpmmfekpAeddonplofj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cgogdjkalmh {
    Fhfjlaiageh = 0,
    Fmddnendjoj = 1,
    Jibjfdijcnm = 2,
}
impl Cgogdjkalmh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fhfjlaiageh => "CGOGDJKALMH_FHFJLAIAGEH",
            Self::Fmddnendjoj => "CGOGDJKALMH_FMDDNENDJOJ",
            Self::Jibjfdijcnm => "CGOGDJKALMH_JIBJFDIJCNM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CGOGDJKALMH_FHFJLAIAGEH" => Some(Self::Fhfjlaiageh),
            "CGOGDJKALMH_FMDDNENDJOJ" => Some(Self::Fmddnendjoj),
            "CGOGDJKALMH_JIBJFDIJCNM" => Some(Self::Jibjfdijcnm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fdjadoeaole {
    Oiddfjefipf = 0,
    Ahgeijfigke = 1,
    Pkhpjikjmdo = 2,
    Hfgbooljdna = 3,
    Endljoaknpi = 4,
}
impl Fdjadoeaole {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Oiddfjefipf => "FDJADOEAOLE_OIDDFJEFIPF",
            Self::Ahgeijfigke => "FDJADOEAOLE_AHGEIJFIGKE",
            Self::Pkhpjikjmdo => "FDJADOEAOLE_PKHPJIKJMDO",
            Self::Hfgbooljdna => "FDJADOEAOLE_HFGBOOLJDNA",
            Self::Endljoaknpi => "FDJADOEAOLE_ENDLJOAKNPI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDJADOEAOLE_OIDDFJEFIPF" => Some(Self::Oiddfjefipf),
            "FDJADOEAOLE_AHGEIJFIGKE" => Some(Self::Ahgeijfigke),
            "FDJADOEAOLE_PKHPJIKJMDO" => Some(Self::Pkhpjikjmdo),
            "FDJADOEAOLE_HFGBOOLJDNA" => Some(Self::Hfgbooljdna),
            "FDJADOEAOLE_ENDLJOAKNPI" => Some(Self::Endljoaknpi),
            _ => None,
        }
    }
}
/// Obf: LCPPDELLPFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMissionType {
    LcppdellpfcNlcdgipgfdj = 0,
    CmdMissionRewardScNotify = 1288,
    CmdFinishTalkMissionCsReq = 1293,
    CmdMissionSyncTaskCsReq = 1281,
    CmdFinishCosumeItemMissionCsReq = 1233,
    CmdStarPerformanceRelayCsReq = 1249,
    CmdUpdateMainMissionCustomValueScRsp = 1244,
    CmdStarPerformanceRelayScRsp = 1215,
    CmdGetMissionDataScRsp = 1278,
    CmdGetMissionDataCsReq = 1225,
    CmdMissionGroupWarnScNotify = 1240,
    CmdMainMissionAcceptNotify = 1234,
    CmdAcceptMainMissionScRsp = 1243,
    CmdStartFinishMainMissionScNotify = 1241,
    CmdStartFinishSubMissionScNotify = 1205,
    CmdGetMainMissionCustomValueCsReq = 1229,
    CmdFinishTalkMissionScRsp = 1258,
    CmdTeleportToMissionResetPointCsReq = 1284,
    CmdUpdateMainMissionCustomValueCsReq = 1275,
    CmdTeleportToMissionResetPointScRsp = 1221,
    CmdGetMissionStatusCsReq = 1245,
    CmdSubMissionRewardScNotify = 1280,
    CmdGetMissionStatusScRsp = 1269,
    CmdGetMainMissionCustomValueScRsp = 1263,
    CmdFinishCosumeItemMissionScRsp = 1238,
    CmdAcceptMainMissionCsReq = 1210,
    CmdUpdateTrackMainMissionCsReq = 1273,
    CmdFinishedMissionScNotify = 1235,
    CmdUpdateTrackMainMissionScRsp = 1212,
    CmdMissionSyncTaskScRsp = 1286,
}
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::LcppdellpfcNlcdgipgfdj => "LCPPDELLPFC_NLCDGIPGFDJ",
            Self::CmdMissionRewardScNotify => "CmdMissionRewardScNotify",
            Self::CmdFinishTalkMissionCsReq => "CmdFinishTalkMissionCsReq",
            Self::CmdMissionSyncTaskCsReq => "CmdMissionSyncTaskCsReq",
            Self::CmdFinishCosumeItemMissionCsReq => "CmdFinishCosumeItemMissionCsReq",
            Self::CmdStarPerformanceRelayCsReq => "CmdStarPerformanceRelayCsReq",
            Self::CmdUpdateMainMissionCustomValueScRsp => {
                "CmdUpdateMainMissionCustomValueScRsp"
            }
            Self::CmdStarPerformanceRelayScRsp => "CmdStarPerformanceRelayScRsp",
            Self::CmdGetMissionDataScRsp => "CmdGetMissionDataScRsp",
            Self::CmdGetMissionDataCsReq => "CmdGetMissionDataCsReq",
            Self::CmdMissionGroupWarnScNotify => "CmdMissionGroupWarnScNotify",
            Self::CmdMainMissionAcceptNotify => "CmdMainMissionAcceptNotify",
            Self::CmdAcceptMainMissionScRsp => "CmdAcceptMainMissionScRsp",
            Self::CmdStartFinishMainMissionScNotify => {
                "CmdStartFinishMainMissionScNotify"
            }
            Self::CmdStartFinishSubMissionScNotify => "CmdStartFinishSubMissionScNotify",
            Self::CmdGetMainMissionCustomValueCsReq => {
                "CmdGetMainMissionCustomValueCsReq"
            }
            Self::CmdFinishTalkMissionScRsp => "CmdFinishTalkMissionScRsp",
            Self::CmdTeleportToMissionResetPointCsReq => {
                "CmdTeleportToMissionResetPointCsReq"
            }
            Self::CmdUpdateMainMissionCustomValueCsReq => {
                "CmdUpdateMainMissionCustomValueCsReq"
            }
            Self::CmdTeleportToMissionResetPointScRsp => {
                "CmdTeleportToMissionResetPointScRsp"
            }
            Self::CmdGetMissionStatusCsReq => "CmdGetMissionStatusCsReq",
            Self::CmdSubMissionRewardScNotify => "CmdSubMissionRewardScNotify",
            Self::CmdGetMissionStatusScRsp => "CmdGetMissionStatusScRsp",
            Self::CmdGetMainMissionCustomValueScRsp => {
                "CmdGetMainMissionCustomValueScRsp"
            }
            Self::CmdFinishCosumeItemMissionScRsp => "CmdFinishCosumeItemMissionScRsp",
            Self::CmdAcceptMainMissionCsReq => "CmdAcceptMainMissionCsReq",
            Self::CmdUpdateTrackMainMissionCsReq => "CmdUpdateTrackMainMissionCsReq",
            Self::CmdFinishedMissionScNotify => "CmdFinishedMissionScNotify",
            Self::CmdUpdateTrackMainMissionScRsp => "CmdUpdateTrackMainMissionScRsp",
            Self::CmdMissionSyncTaskScRsp => "CmdMissionSyncTaskScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LCPPDELLPFC_NLCDGIPGFDJ" => Some(Self::LcppdellpfcNlcdgipgfdj),
            "CmdMissionRewardScNotify" => Some(Self::CmdMissionRewardScNotify),
            "CmdFinishTalkMissionCsReq" => Some(Self::CmdFinishTalkMissionCsReq),
            "CmdMissionSyncTaskCsReq" => Some(Self::CmdMissionSyncTaskCsReq),
            "CmdFinishCosumeItemMissionCsReq" => {
                Some(Self::CmdFinishCosumeItemMissionCsReq)
            }
            "CmdStarPerformanceRelayCsReq" => Some(Self::CmdStarPerformanceRelayCsReq),
            "CmdUpdateMainMissionCustomValueScRsp" => {
                Some(Self::CmdUpdateMainMissionCustomValueScRsp)
            }
            "CmdStarPerformanceRelayScRsp" => Some(Self::CmdStarPerformanceRelayScRsp),
            "CmdGetMissionDataScRsp" => Some(Self::CmdGetMissionDataScRsp),
            "CmdGetMissionDataCsReq" => Some(Self::CmdGetMissionDataCsReq),
            "CmdMissionGroupWarnScNotify" => Some(Self::CmdMissionGroupWarnScNotify),
            "CmdMainMissionAcceptNotify" => Some(Self::CmdMainMissionAcceptNotify),
            "CmdAcceptMainMissionScRsp" => Some(Self::CmdAcceptMainMissionScRsp),
            "CmdStartFinishMainMissionScNotify" => {
                Some(Self::CmdStartFinishMainMissionScNotify)
            }
            "CmdStartFinishSubMissionScNotify" => {
                Some(Self::CmdStartFinishSubMissionScNotify)
            }
            "CmdGetMainMissionCustomValueCsReq" => {
                Some(Self::CmdGetMainMissionCustomValueCsReq)
            }
            "CmdFinishTalkMissionScRsp" => Some(Self::CmdFinishTalkMissionScRsp),
            "CmdTeleportToMissionResetPointCsReq" => {
                Some(Self::CmdTeleportToMissionResetPointCsReq)
            }
            "CmdUpdateMainMissionCustomValueCsReq" => {
                Some(Self::CmdUpdateMainMissionCustomValueCsReq)
            }
            "CmdTeleportToMissionResetPointScRsp" => {
                Some(Self::CmdTeleportToMissionResetPointScRsp)
            }
            "CmdGetMissionStatusCsReq" => Some(Self::CmdGetMissionStatusCsReq),
            "CmdSubMissionRewardScNotify" => Some(Self::CmdSubMissionRewardScNotify),
            "CmdGetMissionStatusScRsp" => Some(Self::CmdGetMissionStatusScRsp),
            "CmdGetMainMissionCustomValueScRsp" => {
                Some(Self::CmdGetMainMissionCustomValueScRsp)
            }
            "CmdFinishCosumeItemMissionScRsp" => {
                Some(Self::CmdFinishCosumeItemMissionScRsp)
            }
            "CmdAcceptMainMissionCsReq" => Some(Self::CmdAcceptMainMissionCsReq),
            "CmdUpdateTrackMainMissionCsReq" => {
                Some(Self::CmdUpdateTrackMainMissionCsReq)
            }
            "CmdFinishedMissionScNotify" => Some(Self::CmdFinishedMissionScNotify),
            "CmdUpdateTrackMainMissionScRsp" => {
                Some(Self::CmdUpdateTrackMainMissionScRsp)
            }
            "CmdMissionSyncTaskScRsp" => Some(Self::CmdMissionSyncTaskScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MissionSyncRecord {
    Dojfcpkajen = 0,
    Hpbmplfigdo = 1,
    Bbfkoikpioa = 2,
    Lpjjpgjpmka = 3,
    Jcihfnmkakk = 4,
    Egdidgjeocg = 11,
    Jpjoopbllho = 12,
    Ebinjeaefoe = 13,
    Bjlcbiglbim = 14,
    Kpdhhapiigm = 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::Dojfcpkajen => "MissionSyncRecord_DOJFCPKAJEN",
            Self::Hpbmplfigdo => "MissionSyncRecord_HPBMPLFIGDO",
            Self::Bbfkoikpioa => "MissionSyncRecord_BBFKOIKPIOA",
            Self::Lpjjpgjpmka => "MissionSyncRecord_LPJJPGJPMKA",
            Self::Jcihfnmkakk => "MissionSyncRecord_JCIHFNMKAKK",
            Self::Egdidgjeocg => "MissionSyncRecord_EGDIDGJEOCG",
            Self::Jpjoopbllho => "MissionSyncRecord_JPJOOPBLLHO",
            Self::Ebinjeaefoe => "MissionSyncRecord_EBINJEAEFOE",
            Self::Bjlcbiglbim => "MissionSyncRecord_BJLCBIGLBIM",
            Self::Kpdhhapiigm => "MissionSyncRecord_KPDHHAPIIGM",
        }
    }
    /// 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_DOJFCPKAJEN" => Some(Self::Dojfcpkajen),
            "MissionSyncRecord_HPBMPLFIGDO" => Some(Self::Hpbmplfigdo),
            "MissionSyncRecord_BBFKOIKPIOA" => Some(Self::Bbfkoikpioa),
            "MissionSyncRecord_LPJJPGJPMKA" => Some(Self::Lpjjpgjpmka),
            "MissionSyncRecord_JCIHFNMKAKK" => Some(Self::Jcihfnmkakk),
            "MissionSyncRecord_EGDIDGJEOCG" => Some(Self::Egdidgjeocg),
            "MissionSyncRecord_JPJOOPBLLHO" => Some(Self::Jpjoopbllho),
            "MissionSyncRecord_EBINJEAEFOE" => Some(Self::Ebinjeaefoe),
            "MissionSyncRecord_BJLCBIGLBIM" => Some(Self::Bjlcbiglbim),
            "MissionSyncRecord_KPDHHAPIIGM" => Some(Self::Kpdhhapiigm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ppepceaapmj {
    Lhpkjobmkhc = 0,
    Kcmijcjmidc = 1,
}
impl Ppepceaapmj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lhpkjobmkhc => "PPEPCEAAPMJ_LHPKJOBMKHC",
            Self::Kcmijcjmidc => "PPEPCEAAPMJ_KCMIJCJMIDC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PPEPCEAAPMJ_LHPKJOBMKHC" => Some(Self::Lhpkjobmkhc),
            "PPEPCEAAPMJ_KCMIJCJMIDC" => Some(Self::Kcmijcjmidc),
            _ => None,
        }
    }
}
/// Obf: APHBPMBMLOM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrackMainMissionUpdateReasonId {
    AphbpmbmlomDjaokmdalmi = 0,
    AphbpmbmlomFefmpgiagbp = 1,
    AphbpmbmlomOgiadpffhef = 2,
    AphbpmbmlomOjbimioeabg = 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::AphbpmbmlomDjaokmdalmi => "APHBPMBMLOM_DJAOKMDALMI",
            Self::AphbpmbmlomFefmpgiagbp => "APHBPMBMLOM_FEFMPGIAGBP",
            Self::AphbpmbmlomOgiadpffhef => "APHBPMBMLOM_OGIADPFFHEF",
            Self::AphbpmbmlomOjbimioeabg => "APHBPMBMLOM_OJBIMIOEABG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "APHBPMBMLOM_DJAOKMDALMI" => Some(Self::AphbpmbmlomDjaokmdalmi),
            "APHBPMBMLOM_FEFMPGIAGBP" => Some(Self::AphbpmbmlomFefmpgiagbp),
            "APHBPMBMLOM_OGIADPFFHEF" => Some(Self::AphbpmbmlomOgiadpffhef),
            "APHBPMBMLOM_OJBIMIOEABG" => Some(Self::AphbpmbmlomOjbimioeabg),
            _ => None,
        }
    }
}
/// Obf: IOBAOPKJMAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMonopolyType {
    IobaopkjmakNlcdgipgfdj = 0,
    CmdMonopolyGameSettleScNotify = 7043,
    CmdMonopolyConfirmRandomScRsp = 7045,
    CmdGetMonopolyMbtiReportRewardCsReq = 7059,
    CmdMonopolyGetRafflePoolInfoScRsp = 7003,
    CmdMonopolyAcceptQuizScRsp = 7012,
    CmdGetMbtiReportScRsp = 7098,
    CmdGetMbtiReportCsReq = 7028,
    CmdMonopolyContentUpdateScNotify = 7005,
    CmdGetMonopolyDailyReportCsReq = 7079,
    CmdMonopolyCheatDiceScRsp = 7021,
    CmdMonopolyGuessChooseCsReq = 7075,
    CmdJhidmebbkpe = 7074,
    CmdMonopolyLikeCsReq = 7051,
    CmdMonopolySelectOptionCsReq = 7013,
    CmdMonopolyCheatDiceCsReq = 7084,
    CmdBbepmabcbgf = 7094,
    CmdOidpmkiojgk = 7030,
    CmdMonopolyGetRaffleTicketScRsp = 7083,
    CmdMonopolyActionResultScNotify = 7093,
    CmdMonopolyGetDailyInitItemCsReq = 7085,
    CmdMlbdfeobkij = 7015,
    CmdMonopolyGetRegionProgressCsReq = 7032,
    CmdMonopolyReRollRandomCsReq = 7011,
    CmdMonopolyGiveUpCurContentCsReq = 7072,
    CmdMonopolyTakeRaffleTicketRewardCsReq = 7095,
    CmdMonopolyClickCellCsReq = 7087,
    CmdMonopolyGameBingoFlipCardScRsp = 7096,
    CmdMonopolyScrachRaffleTicketCsReq = 7060,
    CmdMonopolyScrachRaffleTicketScRsp = 7090,
    CmdMonopolyLikeScRsp = 7046,
    CmdMonopolySelectOptionScRsp = 7071,
    CmdGetSocialEventServerCacheScRsp = 7006,
    CmdMonopolySocialEventEffectScNotify = 7055,
    CmdMonopolyEventLoadUpdateScNotify = 7068,
    CmdMonopolyGameCreateScNotify = 7035,
    CmdMonopolyConfirmRandomCsReq = 7048,
    CmdPdjfkffpdki = 7042,
    CmdMonopolyGameBingoFlipCardCsReq = 7034,
    CmdDnbhklfemlg = 7002,
    CmdMonopolyTakeRaffleTicketRewardScRsp = 7017,
    CmdMonopolyAcceptQuizCsReq = 7073,
    CmdMonopolyGuessChooseScRsp = 7044,
    CmdMonopolyConditionUpdateScNotify = 7031,
    CmdGetMonopolyMbtiReportRewardScRsp = 7009,
    CmdMonopolyTakePhaseRewardCsReq = 7001,
    CmdMonopolyBuyGoodsCsReq = 7069,
    CmdDailyFirstEnterMonopolyActivityScRsp = 7038,
    CmdMonopolyGetRafflePoolInfoCsReq = 7097,
    CmdGetMonopolyInfoCsReq = 7025,
    CmdMonopolyGetRaffleTicketCsReq = 7023,
    CmdMonopolyMoveCsReq = 7047,
    CmdDailyFirstEnterMonopolyActivityCsReq = 7033,
    CmdGetMonopolyInfoScRsp = 7078,
    CmdMonopolyEventSelectFriendScRsp = 7066,
    CmdGddeakmjoap = 7057,
    CmdMonopolyGuessDrawScNotify = 7018,
    CmdMonopolyRollRandomCsReq = 7039,
    CmdMonopolyClickCellScRsp = 7024,
    CmdGetMonopolyDailyReportScRsp = 7007,
    CmdMonopolyCellUpdateNotify = 7058,
    CmdMonopolyRollDiceCsReq = 7081,
    CmdMonopolyRollDiceScRsp = 7086,
    CmdGetMonopolyFriendRankingListScRsp = 7037,
    CmdMonopolyLikeScNotify = 7019,
    CmdMonopolyBuyGoodsScRsp = 7065,
    CmdNhkiadbinml = 7010,
    CmdMonopolyGiveUpCurContentScRsp = 7080,
    CmdMonopolyGameGachaScRsp = 7063,
    CmdMonopolyDailySettleScNotify = 7082,
    CmdMonopolySttUpdateScNotify = 7091,
    CmdEpaikohmldk = 7100,
    CmdMonopolyQuizDurationChangeScNotify = 7053,
    CmdPiljihglhja = 7041,
    CmdMonopolyTakePhaseRewardScRsp = 7064,
    CmdMonopolyGameGachaCsReq = 7029,
    CmdGetMonopolyFriendRankingListCsReq = 7049,
    CmdMonopolyRollRandomScRsp = 7004,
    CmdMonopolyMoveScRsp = 7026,
    CmdMonopolyEventSelectFriendCsReq = 7062,
    CmdMonopolyGetRegionProgressScRsp = 7070,
    CmdGetSocialEventServerCacheCsReq = 7016,
    CmdMonopolyGetDailyInitItemScRsp = 7077,
    CmdMonopolyReRollRandomScRsp = 7036,
}
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::IobaopkjmakNlcdgipgfdj => "IOBAOPKJMAK_NLCDGIPGFDJ",
            Self::CmdMonopolyGameSettleScNotify => "CmdMonopolyGameSettleScNotify",
            Self::CmdMonopolyConfirmRandomScRsp => "CmdMonopolyConfirmRandomScRsp",
            Self::CmdGetMonopolyMbtiReportRewardCsReq => {
                "CmdGetMonopolyMbtiReportRewardCsReq"
            }
            Self::CmdMonopolyGetRafflePoolInfoScRsp => {
                "CmdMonopolyGetRafflePoolInfoScRsp"
            }
            Self::CmdMonopolyAcceptQuizScRsp => "CmdMonopolyAcceptQuizScRsp",
            Self::CmdGetMbtiReportScRsp => "CmdGetMbtiReportScRsp",
            Self::CmdGetMbtiReportCsReq => "CmdGetMbtiReportCsReq",
            Self::CmdMonopolyContentUpdateScNotify => "CmdMonopolyContentUpdateScNotify",
            Self::CmdGetMonopolyDailyReportCsReq => "CmdGetMonopolyDailyReportCsReq",
            Self::CmdMonopolyCheatDiceScRsp => "CmdMonopolyCheatDiceScRsp",
            Self::CmdMonopolyGuessChooseCsReq => "CmdMonopolyGuessChooseCsReq",
            Self::CmdJhidmebbkpe => "CmdJHIDMEBBKPE",
            Self::CmdMonopolyLikeCsReq => "CmdMonopolyLikeCsReq",
            Self::CmdMonopolySelectOptionCsReq => "CmdMonopolySelectOptionCsReq",
            Self::CmdMonopolyCheatDiceCsReq => "CmdMonopolyCheatDiceCsReq",
            Self::CmdBbepmabcbgf => "CmdBBEPMABCBGF",
            Self::CmdOidpmkiojgk => "CmdOIDPMKIOJGK",
            Self::CmdMonopolyGetRaffleTicketScRsp => "CmdMonopolyGetRaffleTicketScRsp",
            Self::CmdMonopolyActionResultScNotify => "CmdMonopolyActionResultScNotify",
            Self::CmdMonopolyGetDailyInitItemCsReq => "CmdMonopolyGetDailyInitItemCsReq",
            Self::CmdMlbdfeobkij => "CmdMLBDFEOBKIJ",
            Self::CmdMonopolyGetRegionProgressCsReq => {
                "CmdMonopolyGetRegionProgressCsReq"
            }
            Self::CmdMonopolyReRollRandomCsReq => "CmdMonopolyReRollRandomCsReq",
            Self::CmdMonopolyGiveUpCurContentCsReq => "CmdMonopolyGiveUpCurContentCsReq",
            Self::CmdMonopolyTakeRaffleTicketRewardCsReq => {
                "CmdMonopolyTakeRaffleTicketRewardCsReq"
            }
            Self::CmdMonopolyClickCellCsReq => "CmdMonopolyClickCellCsReq",
            Self::CmdMonopolyGameBingoFlipCardScRsp => {
                "CmdMonopolyGameBingoFlipCardScRsp"
            }
            Self::CmdMonopolyScrachRaffleTicketCsReq => {
                "CmdMonopolyScrachRaffleTicketCsReq"
            }
            Self::CmdMonopolyScrachRaffleTicketScRsp => {
                "CmdMonopolyScrachRaffleTicketScRsp"
            }
            Self::CmdMonopolyLikeScRsp => "CmdMonopolyLikeScRsp",
            Self::CmdMonopolySelectOptionScRsp => "CmdMonopolySelectOptionScRsp",
            Self::CmdGetSocialEventServerCacheScRsp => {
                "CmdGetSocialEventServerCacheScRsp"
            }
            Self::CmdMonopolySocialEventEffectScNotify => {
                "CmdMonopolySocialEventEffectScNotify"
            }
            Self::CmdMonopolyEventLoadUpdateScNotify => {
                "CmdMonopolyEventLoadUpdateScNotify"
            }
            Self::CmdMonopolyGameCreateScNotify => "CmdMonopolyGameCreateScNotify",
            Self::CmdMonopolyConfirmRandomCsReq => "CmdMonopolyConfirmRandomCsReq",
            Self::CmdPdjfkffpdki => "CmdPDJFKFFPDKI",
            Self::CmdMonopolyGameBingoFlipCardCsReq => {
                "CmdMonopolyGameBingoFlipCardCsReq"
            }
            Self::CmdDnbhklfemlg => "CmdDNBHKLFEMLG",
            Self::CmdMonopolyTakeRaffleTicketRewardScRsp => {
                "CmdMonopolyTakeRaffleTicketRewardScRsp"
            }
            Self::CmdMonopolyAcceptQuizCsReq => "CmdMonopolyAcceptQuizCsReq",
            Self::CmdMonopolyGuessChooseScRsp => "CmdMonopolyGuessChooseScRsp",
            Self::CmdMonopolyConditionUpdateScNotify => {
                "CmdMonopolyConditionUpdateScNotify"
            }
            Self::CmdGetMonopolyMbtiReportRewardScRsp => {
                "CmdGetMonopolyMbtiReportRewardScRsp"
            }
            Self::CmdMonopolyTakePhaseRewardCsReq => "CmdMonopolyTakePhaseRewardCsReq",
            Self::CmdMonopolyBuyGoodsCsReq => "CmdMonopolyBuyGoodsCsReq",
            Self::CmdDailyFirstEnterMonopolyActivityScRsp => {
                "CmdDailyFirstEnterMonopolyActivityScRsp"
            }
            Self::CmdMonopolyGetRafflePoolInfoCsReq => {
                "CmdMonopolyGetRafflePoolInfoCsReq"
            }
            Self::CmdGetMonopolyInfoCsReq => "CmdGetMonopolyInfoCsReq",
            Self::CmdMonopolyGetRaffleTicketCsReq => "CmdMonopolyGetRaffleTicketCsReq",
            Self::CmdMonopolyMoveCsReq => "CmdMonopolyMoveCsReq",
            Self::CmdDailyFirstEnterMonopolyActivityCsReq => {
                "CmdDailyFirstEnterMonopolyActivityCsReq"
            }
            Self::CmdGetMonopolyInfoScRsp => "CmdGetMonopolyInfoScRsp",
            Self::CmdMonopolyEventSelectFriendScRsp => {
                "CmdMonopolyEventSelectFriendScRsp"
            }
            Self::CmdGddeakmjoap => "CmdGDDEAKMJOAP",
            Self::CmdMonopolyGuessDrawScNotify => "CmdMonopolyGuessDrawScNotify",
            Self::CmdMonopolyRollRandomCsReq => "CmdMonopolyRollRandomCsReq",
            Self::CmdMonopolyClickCellScRsp => "CmdMonopolyClickCellScRsp",
            Self::CmdGetMonopolyDailyReportScRsp => "CmdGetMonopolyDailyReportScRsp",
            Self::CmdMonopolyCellUpdateNotify => "CmdMonopolyCellUpdateNotify",
            Self::CmdMonopolyRollDiceCsReq => "CmdMonopolyRollDiceCsReq",
            Self::CmdMonopolyRollDiceScRsp => "CmdMonopolyRollDiceScRsp",
            Self::CmdGetMonopolyFriendRankingListScRsp => {
                "CmdGetMonopolyFriendRankingListScRsp"
            }
            Self::CmdMonopolyLikeScNotify => "CmdMonopolyLikeScNotify",
            Self::CmdMonopolyBuyGoodsScRsp => "CmdMonopolyBuyGoodsScRsp",
            Self::CmdNhkiadbinml => "CmdNHKIADBINML",
            Self::CmdMonopolyGiveUpCurContentScRsp => "CmdMonopolyGiveUpCurContentScRsp",
            Self::CmdMonopolyGameGachaScRsp => "CmdMonopolyGameGachaScRsp",
            Self::CmdMonopolyDailySettleScNotify => "CmdMonopolyDailySettleScNotify",
            Self::CmdMonopolySttUpdateScNotify => "CmdMonopolySttUpdateScNotify",
            Self::CmdEpaikohmldk => "CmdEPAIKOHMLDK",
            Self::CmdMonopolyQuizDurationChangeScNotify => {
                "CmdMonopolyQuizDurationChangeScNotify"
            }
            Self::CmdPiljihglhja => "CmdPILJIHGLHJA",
            Self::CmdMonopolyTakePhaseRewardScRsp => "CmdMonopolyTakePhaseRewardScRsp",
            Self::CmdMonopolyGameGachaCsReq => "CmdMonopolyGameGachaCsReq",
            Self::CmdGetMonopolyFriendRankingListCsReq => {
                "CmdGetMonopolyFriendRankingListCsReq"
            }
            Self::CmdMonopolyRollRandomScRsp => "CmdMonopolyRollRandomScRsp",
            Self::CmdMonopolyMoveScRsp => "CmdMonopolyMoveScRsp",
            Self::CmdMonopolyEventSelectFriendCsReq => {
                "CmdMonopolyEventSelectFriendCsReq"
            }
            Self::CmdMonopolyGetRegionProgressScRsp => {
                "CmdMonopolyGetRegionProgressScRsp"
            }
            Self::CmdGetSocialEventServerCacheCsReq => {
                "CmdGetSocialEventServerCacheCsReq"
            }
            Self::CmdMonopolyGetDailyInitItemScRsp => "CmdMonopolyGetDailyInitItemScRsp",
            Self::CmdMonopolyReRollRandomScRsp => "CmdMonopolyReRollRandomScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IOBAOPKJMAK_NLCDGIPGFDJ" => Some(Self::IobaopkjmakNlcdgipgfdj),
            "CmdMonopolyGameSettleScNotify" => Some(Self::CmdMonopolyGameSettleScNotify),
            "CmdMonopolyConfirmRandomScRsp" => Some(Self::CmdMonopolyConfirmRandomScRsp),
            "CmdGetMonopolyMbtiReportRewardCsReq" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardCsReq)
            }
            "CmdMonopolyGetRafflePoolInfoScRsp" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoScRsp)
            }
            "CmdMonopolyAcceptQuizScRsp" => Some(Self::CmdMonopolyAcceptQuizScRsp),
            "CmdGetMbtiReportScRsp" => Some(Self::CmdGetMbtiReportScRsp),
            "CmdGetMbtiReportCsReq" => Some(Self::CmdGetMbtiReportCsReq),
            "CmdMonopolyContentUpdateScNotify" => {
                Some(Self::CmdMonopolyContentUpdateScNotify)
            }
            "CmdGetMonopolyDailyReportCsReq" => {
                Some(Self::CmdGetMonopolyDailyReportCsReq)
            }
            "CmdMonopolyCheatDiceScRsp" => Some(Self::CmdMonopolyCheatDiceScRsp),
            "CmdMonopolyGuessChooseCsReq" => Some(Self::CmdMonopolyGuessChooseCsReq),
            "CmdJHIDMEBBKPE" => Some(Self::CmdJhidmebbkpe),
            "CmdMonopolyLikeCsReq" => Some(Self::CmdMonopolyLikeCsReq),
            "CmdMonopolySelectOptionCsReq" => Some(Self::CmdMonopolySelectOptionCsReq),
            "CmdMonopolyCheatDiceCsReq" => Some(Self::CmdMonopolyCheatDiceCsReq),
            "CmdBBEPMABCBGF" => Some(Self::CmdBbepmabcbgf),
            "CmdOIDPMKIOJGK" => Some(Self::CmdOidpmkiojgk),
            "CmdMonopolyGetRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyGetRaffleTicketScRsp)
            }
            "CmdMonopolyActionResultScNotify" => {
                Some(Self::CmdMonopolyActionResultScNotify)
            }
            "CmdMonopolyGetDailyInitItemCsReq" => {
                Some(Self::CmdMonopolyGetDailyInitItemCsReq)
            }
            "CmdMLBDFEOBKIJ" => Some(Self::CmdMlbdfeobkij),
            "CmdMonopolyGetRegionProgressCsReq" => {
                Some(Self::CmdMonopolyGetRegionProgressCsReq)
            }
            "CmdMonopolyReRollRandomCsReq" => Some(Self::CmdMonopolyReRollRandomCsReq),
            "CmdMonopolyGiveUpCurContentCsReq" => {
                Some(Self::CmdMonopolyGiveUpCurContentCsReq)
            }
            "CmdMonopolyTakeRaffleTicketRewardCsReq" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardCsReq)
            }
            "CmdMonopolyClickCellCsReq" => Some(Self::CmdMonopolyClickCellCsReq),
            "CmdMonopolyGameBingoFlipCardScRsp" => {
                Some(Self::CmdMonopolyGameBingoFlipCardScRsp)
            }
            "CmdMonopolyScrachRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyScrachRaffleTicketCsReq)
            }
            "CmdMonopolyScrachRaffleTicketScRsp" => {
                Some(Self::CmdMonopolyScrachRaffleTicketScRsp)
            }
            "CmdMonopolyLikeScRsp" => Some(Self::CmdMonopolyLikeScRsp),
            "CmdMonopolySelectOptionScRsp" => Some(Self::CmdMonopolySelectOptionScRsp),
            "CmdGetSocialEventServerCacheScRsp" => {
                Some(Self::CmdGetSocialEventServerCacheScRsp)
            }
            "CmdMonopolySocialEventEffectScNotify" => {
                Some(Self::CmdMonopolySocialEventEffectScNotify)
            }
            "CmdMonopolyEventLoadUpdateScNotify" => {
                Some(Self::CmdMonopolyEventLoadUpdateScNotify)
            }
            "CmdMonopolyGameCreateScNotify" => Some(Self::CmdMonopolyGameCreateScNotify),
            "CmdMonopolyConfirmRandomCsReq" => Some(Self::CmdMonopolyConfirmRandomCsReq),
            "CmdPDJFKFFPDKI" => Some(Self::CmdPdjfkffpdki),
            "CmdMonopolyGameBingoFlipCardCsReq" => {
                Some(Self::CmdMonopolyGameBingoFlipCardCsReq)
            }
            "CmdDNBHKLFEMLG" => Some(Self::CmdDnbhklfemlg),
            "CmdMonopolyTakeRaffleTicketRewardScRsp" => {
                Some(Self::CmdMonopolyTakeRaffleTicketRewardScRsp)
            }
            "CmdMonopolyAcceptQuizCsReq" => Some(Self::CmdMonopolyAcceptQuizCsReq),
            "CmdMonopolyGuessChooseScRsp" => Some(Self::CmdMonopolyGuessChooseScRsp),
            "CmdMonopolyConditionUpdateScNotify" => {
                Some(Self::CmdMonopolyConditionUpdateScNotify)
            }
            "CmdGetMonopolyMbtiReportRewardScRsp" => {
                Some(Self::CmdGetMonopolyMbtiReportRewardScRsp)
            }
            "CmdMonopolyTakePhaseRewardCsReq" => {
                Some(Self::CmdMonopolyTakePhaseRewardCsReq)
            }
            "CmdMonopolyBuyGoodsCsReq" => Some(Self::CmdMonopolyBuyGoodsCsReq),
            "CmdDailyFirstEnterMonopolyActivityScRsp" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityScRsp)
            }
            "CmdMonopolyGetRafflePoolInfoCsReq" => {
                Some(Self::CmdMonopolyGetRafflePoolInfoCsReq)
            }
            "CmdGetMonopolyInfoCsReq" => Some(Self::CmdGetMonopolyInfoCsReq),
            "CmdMonopolyGetRaffleTicketCsReq" => {
                Some(Self::CmdMonopolyGetRaffleTicketCsReq)
            }
            "CmdMonopolyMoveCsReq" => Some(Self::CmdMonopolyMoveCsReq),
            "CmdDailyFirstEnterMonopolyActivityCsReq" => {
                Some(Self::CmdDailyFirstEnterMonopolyActivityCsReq)
            }
            "CmdGetMonopolyInfoScRsp" => Some(Self::CmdGetMonopolyInfoScRsp),
            "CmdMonopolyEventSelectFriendScRsp" => {
                Some(Self::CmdMonopolyEventSelectFriendScRsp)
            }
            "CmdGDDEAKMJOAP" => Some(Self::CmdGddeakmjoap),
            "CmdMonopolyGuessDrawScNotify" => Some(Self::CmdMonopolyGuessDrawScNotify),
            "CmdMonopolyRollRandomCsReq" => Some(Self::CmdMonopolyRollRandomCsReq),
            "CmdMonopolyClickCellScRsp" => Some(Self::CmdMonopolyClickCellScRsp),
            "CmdGetMonopolyDailyReportScRsp" => {
                Some(Self::CmdGetMonopolyDailyReportScRsp)
            }
            "CmdMonopolyCellUpdateNotify" => Some(Self::CmdMonopolyCellUpdateNotify),
            "CmdMonopolyRollDiceCsReq" => Some(Self::CmdMonopolyRollDiceCsReq),
            "CmdMonopolyRollDiceScRsp" => Some(Self::CmdMonopolyRollDiceScRsp),
            "CmdGetMonopolyFriendRankingListScRsp" => {
                Some(Self::CmdGetMonopolyFriendRankingListScRsp)
            }
            "CmdMonopolyLikeScNotify" => Some(Self::CmdMonopolyLikeScNotify),
            "CmdMonopolyBuyGoodsScRsp" => Some(Self::CmdMonopolyBuyGoodsScRsp),
            "CmdNHKIADBINML" => Some(Self::CmdNhkiadbinml),
            "CmdMonopolyGiveUpCurContentScRsp" => {
                Some(Self::CmdMonopolyGiveUpCurContentScRsp)
            }
            "CmdMonopolyGameGachaScRsp" => Some(Self::CmdMonopolyGameGachaScRsp),
            "CmdMonopolyDailySettleScNotify" => {
                Some(Self::CmdMonopolyDailySettleScNotify)
            }
            "CmdMonopolySttUpdateScNotify" => Some(Self::CmdMonopolySttUpdateScNotify),
            "CmdEPAIKOHMLDK" => Some(Self::CmdEpaikohmldk),
            "CmdMonopolyQuizDurationChangeScNotify" => {
                Some(Self::CmdMonopolyQuizDurationChangeScNotify)
            }
            "CmdPILJIHGLHJA" => Some(Self::CmdPiljihglhja),
            "CmdMonopolyTakePhaseRewardScRsp" => {
                Some(Self::CmdMonopolyTakePhaseRewardScRsp)
            }
            "CmdMonopolyGameGachaCsReq" => Some(Self::CmdMonopolyGameGachaCsReq),
            "CmdGetMonopolyFriendRankingListCsReq" => {
                Some(Self::CmdGetMonopolyFriendRankingListCsReq)
            }
            "CmdMonopolyRollRandomScRsp" => Some(Self::CmdMonopolyRollRandomScRsp),
            "CmdMonopolyMoveScRsp" => Some(Self::CmdMonopolyMoveScRsp),
            "CmdMonopolyEventSelectFriendCsReq" => {
                Some(Self::CmdMonopolyEventSelectFriendCsReq)
            }
            "CmdMonopolyGetRegionProgressScRsp" => {
                Some(Self::CmdMonopolyGetRegionProgressScRsp)
            }
            "CmdGetSocialEventServerCacheCsReq" => {
                Some(Self::CmdGetSocialEventServerCacheCsReq)
            }
            "CmdMonopolyGetDailyInitItemScRsp" => {
                Some(Self::CmdMonopolyGetDailyInitItemScRsp)
            }
            "CmdMonopolyReRollRandomScRsp" => Some(Self::CmdMonopolyReRollRandomScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Laehiccbbfn {
    Nlcdgipgfdj = 0,
    Hhkfkgkfnji = 1,
}
impl Laehiccbbfn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "LAEHICCBBFN_NLCDGIPGFDJ",
            Self::Hhkfkgkfnji => "LAEHICCBBFN_HHKFKGKFNJI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LAEHICCBBFN_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "LAEHICCBBFN_HHKFKGKFNJI" => Some(Self::Hhkfkgkfnji),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Naddheilbbn {
    Bpocohfiaoh = 0,
    Hopagbfpbgp = 1,
    Mdjcikagekh = 2,
    Cihfgjdchia = 3,
}
impl Naddheilbbn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Bpocohfiaoh => "NADDHEILBBN_BPOCOHFIAOH",
            Self::Hopagbfpbgp => "NADDHEILBBN_HOPAGBFPBGP",
            Self::Mdjcikagekh => "NADDHEILBBN_MDJCIKAGEKH",
            Self::Cihfgjdchia => "NADDHEILBBN_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NADDHEILBBN_BPOCOHFIAOH" => Some(Self::Bpocohfiaoh),
            "NADDHEILBBN_HOPAGBFPBGP" => Some(Self::Hopagbfpbgp),
            "NADDHEILBBN_MDJCIKAGEKH" => Some(Self::Mdjcikagekh),
            "NADDHEILBBN_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bakaelimiji {
    Nlcdgipgfdj = 0,
    Heihbjeegpb = 1,
    Boggafjjpgc = 2,
    Hcebkfdjgio = 3,
    Cbkldcbekch = 4,
    Lggebocppda = 5,
    Bbdhkakkbea = 6,
    Bfpgghfahca = 7,
    Ppincghoobh = 8,
    Jcecchojpfk = 9,
    Jblefhfohgo = 10,
}
impl Bakaelimiji {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BAKAELIMIJI_NLCDGIPGFDJ",
            Self::Heihbjeegpb => "BAKAELIMIJI_HEIHBJEEGPB",
            Self::Boggafjjpgc => "BAKAELIMIJI_BOGGAFJJPGC",
            Self::Hcebkfdjgio => "BAKAELIMIJI_HCEBKFDJGIO",
            Self::Cbkldcbekch => "BAKAELIMIJI_CBKLDCBEKCH",
            Self::Lggebocppda => "BAKAELIMIJI_LGGEBOCPPDA",
            Self::Bbdhkakkbea => "BAKAELIMIJI_BBDHKAKKBEA",
            Self::Bfpgghfahca => "BAKAELIMIJI_BFPGGHFAHCA",
            Self::Ppincghoobh => "BAKAELIMIJI_PPINCGHOOBH",
            Self::Jcecchojpfk => "BAKAELIMIJI_JCECCHOJPFK",
            Self::Jblefhfohgo => "BAKAELIMIJI_JBLEFHFOHGO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BAKAELIMIJI_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BAKAELIMIJI_HEIHBJEEGPB" => Some(Self::Heihbjeegpb),
            "BAKAELIMIJI_BOGGAFJJPGC" => Some(Self::Boggafjjpgc),
            "BAKAELIMIJI_HCEBKFDJGIO" => Some(Self::Hcebkfdjgio),
            "BAKAELIMIJI_CBKLDCBEKCH" => Some(Self::Cbkldcbekch),
            "BAKAELIMIJI_LGGEBOCPPDA" => Some(Self::Lggebocppda),
            "BAKAELIMIJI_BBDHKAKKBEA" => Some(Self::Bbdhkakkbea),
            "BAKAELIMIJI_BFPGGHFAHCA" => Some(Self::Bfpgghfahca),
            "BAKAELIMIJI_PPINCGHOOBH" => Some(Self::Ppincghoobh),
            "BAKAELIMIJI_JCECCHOJPFK" => Some(Self::Jcecchojpfk),
            "BAKAELIMIJI_JBLEFHFOHGO" => Some(Self::Jblefhfohgo),
            _ => None,
        }
    }
}
/// Obf: EDCDMKFIOPH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultiplayerType {
    EdcdmkfiophNlcdgipgfdj = 0,
    CmdNenhkmefaec = 1026,
    CmdMatchPlayDataChangeNtf = 1040,
    CmdJjagfpldcaf = 1081,
    CmdHpgigmpbibo = 1058,
    CmdGetFriendRankingInfoRsp = 1038,
    CmdFightGameStateCsReq = 1025,
    CmdIhglpglpdff = 1088,
    CmdHffceacmeig = 1047,
    CmdFightGameStateScRsp = 1078,
    CmdFightGameStartScNotify = 1086,
    CmdGetMatchPlayDataCsReq = 1013,
    CmdNlopjlcmlen = 1093,
    CmdSelfRankChangeNtf = 1039,
    CmdGetMatchPlayDataRsp = 1071,
    CmdGetFriendRankingInfoCsReq = 1033,
}
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::EdcdmkfiophNlcdgipgfdj => "EDCDMKFIOPH_NLCDGIPGFDJ",
            Self::CmdNenhkmefaec => "CmdNENHKMEFAEC",
            Self::CmdMatchPlayDataChangeNtf => "CmdMatchPlayDataChangeNtf",
            Self::CmdJjagfpldcaf => "CmdJJAGFPLDCAF",
            Self::CmdHpgigmpbibo => "CmdHPGIGMPBIBO",
            Self::CmdGetFriendRankingInfoRsp => "CmdGetFriendRankingInfoRsp",
            Self::CmdFightGameStateCsReq => "CmdFightGameStateCsReq",
            Self::CmdIhglpglpdff => "CmdIHGLPGLPDFF",
            Self::CmdHffceacmeig => "CmdHFFCEACMEIG",
            Self::CmdFightGameStateScRsp => "CmdFightGameStateScRsp",
            Self::CmdFightGameStartScNotify => "CmdFightGameStartScNotify",
            Self::CmdGetMatchPlayDataCsReq => "CmdGetMatchPlayDataCsReq",
            Self::CmdNlopjlcmlen => "CmdNLOPJLCMLEN",
            Self::CmdSelfRankChangeNtf => "CmdSelfRankChangeNtf",
            Self::CmdGetMatchPlayDataRsp => "CmdGetMatchPlayDataRsp",
            Self::CmdGetFriendRankingInfoCsReq => "CmdGetFriendRankingInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDCDMKFIOPH_NLCDGIPGFDJ" => Some(Self::EdcdmkfiophNlcdgipgfdj),
            "CmdNENHKMEFAEC" => Some(Self::CmdNenhkmefaec),
            "CmdMatchPlayDataChangeNtf" => Some(Self::CmdMatchPlayDataChangeNtf),
            "CmdJJAGFPLDCAF" => Some(Self::CmdJjagfpldcaf),
            "CmdHPGIGMPBIBO" => Some(Self::CmdHpgigmpbibo),
            "CmdGetFriendRankingInfoRsp" => Some(Self::CmdGetFriendRankingInfoRsp),
            "CmdFightGameStateCsReq" => Some(Self::CmdFightGameStateCsReq),
            "CmdIHGLPGLPDFF" => Some(Self::CmdIhglpglpdff),
            "CmdHFFCEACMEIG" => Some(Self::CmdHffceacmeig),
            "CmdFightGameStateScRsp" => Some(Self::CmdFightGameStateScRsp),
            "CmdFightGameStartScNotify" => Some(Self::CmdFightGameStartScNotify),
            "CmdGetMatchPlayDataCsReq" => Some(Self::CmdGetMatchPlayDataCsReq),
            "CmdNLOPJLCMLEN" => Some(Self::CmdNlopjlcmlen),
            "CmdSelfRankChangeNtf" => Some(Self::CmdSelfRankChangeNtf),
            "CmdGetMatchPlayDataRsp" => Some(Self::CmdGetMatchPlayDataRsp),
            "CmdGetFriendRankingInfoCsReq" => Some(Self::CmdGetFriendRankingInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: ACIMFGFNPDF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMultipleDropType {
    AcimfgfnpdfNlcdgipgfdj = 0,
    CmdGetMultipleDropInfoCsReq = 4625,
    CmdGetPlayerReturnMultiDropInfoScRsp = 4688,
    CmdGetMultipleDropInfoScRsp = 4678,
    CmdMultipleDropInfoNotify = 4681,
    CmdGetPlayerReturnMultiDropInfoCsReq = 4658,
    CmdMultipleDropInfoScNotify = 4693,
}
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::AcimfgfnpdfNlcdgipgfdj => "ACIMFGFNPDF_NLCDGIPGFDJ",
            Self::CmdGetMultipleDropInfoCsReq => "CmdGetMultipleDropInfoCsReq",
            Self::CmdGetPlayerReturnMultiDropInfoScRsp => {
                "CmdGetPlayerReturnMultiDropInfoScRsp"
            }
            Self::CmdGetMultipleDropInfoScRsp => "CmdGetMultipleDropInfoScRsp",
            Self::CmdMultipleDropInfoNotify => "CmdMultipleDropInfoNotify",
            Self::CmdGetPlayerReturnMultiDropInfoCsReq => {
                "CmdGetPlayerReturnMultiDropInfoCsReq"
            }
            Self::CmdMultipleDropInfoScNotify => "CmdMultipleDropInfoScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACIMFGFNPDF_NLCDGIPGFDJ" => Some(Self::AcimfgfnpdfNlcdgipgfdj),
            "CmdGetMultipleDropInfoCsReq" => Some(Self::CmdGetMultipleDropInfoCsReq),
            "CmdGetPlayerReturnMultiDropInfoScRsp" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoScRsp)
            }
            "CmdGetMultipleDropInfoScRsp" => Some(Self::CmdGetMultipleDropInfoScRsp),
            "CmdMultipleDropInfoNotify" => Some(Self::CmdMultipleDropInfoNotify),
            "CmdGetPlayerReturnMultiDropInfoCsReq" => {
                Some(Self::CmdGetPlayerReturnMultiDropInfoCsReq)
            }
            "CmdMultipleDropInfoScNotify" => Some(Self::CmdMultipleDropInfoScNotify),
            _ => None,
        }
    }
}
/// Obf: CIILMLFIACA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMuseumType {
    CiilmlfiacaNlcdgipgfdj = 0,
    CmdTakeCollectRewardCsReq = 4321,
    CmdMuseumRandomEventSelectScRsp = 4330,
    CmdGetMuseumInfoCsReq = 4325,
    CmdSetStuffToAreaScRsp = 4381,
    CmdSyncGetExhibitScNotify = 4313,
    CmdUpgradeAreaStatCsReq = 4339,
    CmdSyncMuseumRandomEventStartScNotify = 4348,
    CmdUpgradeAreaStatScRsp = 4304,
    CmdSetStuffToAreaCsReq = 4388,
    CmdFinishCurTurnScRsp = 4340,
    CmdSyncMuseumTargetStartNotify = 4372,
    CmdSyncGetStuffScNotify = 4326,
    CmdTakeCollectRewardRsp = 4305,
    CmdGetMuseumInfoScRsp = 4378,
    CmdFinishCurTurnCsReq = 4371,
    CmdUpgradeAreaScRsp = 4338,
    CmdSyncMuseumFundsChangedScNotify = 4336,
    CmdRemoveStuffFromAreaScRsp = 4347,
    CmdBuyNpcStuffScRsp = 4358,
    CmdUpgradeAreaCsReq = 4333,
    CmdBuyNpcStuffCsReq = 4393,
    CmdRemoveStuffFromAreaCsReq = 4386,
    CmdSyncMuseumInfoChangedScNotify = 4311,
    CmdSyncMuseumTargetMissionFinishNotify = 4380,
    CmdMuseumRandomEventSelectCsReq = 4365,
    CmdSyncMuseumTargetRewardNotify = 4384,
    CmdMuseumRandomEventQueryCsReq = 4345,
    CmdMuseumRandomEventQueryScRsp = 4369,
}
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::CiilmlfiacaNlcdgipgfdj => "CIILMLFIACA_NLCDGIPGFDJ",
            Self::CmdTakeCollectRewardCsReq => "CmdTakeCollectRewardCsReq",
            Self::CmdMuseumRandomEventSelectScRsp => "CmdMuseumRandomEventSelectScRsp",
            Self::CmdGetMuseumInfoCsReq => "CmdGetMuseumInfoCsReq",
            Self::CmdSetStuffToAreaScRsp => "CmdSetStuffToAreaScRsp",
            Self::CmdSyncGetExhibitScNotify => "CmdSyncGetExhibitScNotify",
            Self::CmdUpgradeAreaStatCsReq => "CmdUpgradeAreaStatCsReq",
            Self::CmdSyncMuseumRandomEventStartScNotify => {
                "CmdSyncMuseumRandomEventStartScNotify"
            }
            Self::CmdUpgradeAreaStatScRsp => "CmdUpgradeAreaStatScRsp",
            Self::CmdSetStuffToAreaCsReq => "CmdSetStuffToAreaCsReq",
            Self::CmdFinishCurTurnScRsp => "CmdFinishCurTurnScRsp",
            Self::CmdSyncMuseumTargetStartNotify => "CmdSyncMuseumTargetStartNotify",
            Self::CmdSyncGetStuffScNotify => "CmdSyncGetStuffScNotify",
            Self::CmdTakeCollectRewardRsp => "CmdTakeCollectRewardRsp",
            Self::CmdGetMuseumInfoScRsp => "CmdGetMuseumInfoScRsp",
            Self::CmdFinishCurTurnCsReq => "CmdFinishCurTurnCsReq",
            Self::CmdUpgradeAreaScRsp => "CmdUpgradeAreaScRsp",
            Self::CmdSyncMuseumFundsChangedScNotify => {
                "CmdSyncMuseumFundsChangedScNotify"
            }
            Self::CmdRemoveStuffFromAreaScRsp => "CmdRemoveStuffFromAreaScRsp",
            Self::CmdBuyNpcStuffScRsp => "CmdBuyNpcStuffScRsp",
            Self::CmdUpgradeAreaCsReq => "CmdUpgradeAreaCsReq",
            Self::CmdBuyNpcStuffCsReq => "CmdBuyNpcStuffCsReq",
            Self::CmdRemoveStuffFromAreaCsReq => "CmdRemoveStuffFromAreaCsReq",
            Self::CmdSyncMuseumInfoChangedScNotify => "CmdSyncMuseumInfoChangedScNotify",
            Self::CmdSyncMuseumTargetMissionFinishNotify => {
                "CmdSyncMuseumTargetMissionFinishNotify"
            }
            Self::CmdMuseumRandomEventSelectCsReq => "CmdMuseumRandomEventSelectCsReq",
            Self::CmdSyncMuseumTargetRewardNotify => "CmdSyncMuseumTargetRewardNotify",
            Self::CmdMuseumRandomEventQueryCsReq => "CmdMuseumRandomEventQueryCsReq",
            Self::CmdMuseumRandomEventQueryScRsp => "CmdMuseumRandomEventQueryScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CIILMLFIACA_NLCDGIPGFDJ" => Some(Self::CiilmlfiacaNlcdgipgfdj),
            "CmdTakeCollectRewardCsReq" => Some(Self::CmdTakeCollectRewardCsReq),
            "CmdMuseumRandomEventSelectScRsp" => {
                Some(Self::CmdMuseumRandomEventSelectScRsp)
            }
            "CmdGetMuseumInfoCsReq" => Some(Self::CmdGetMuseumInfoCsReq),
            "CmdSetStuffToAreaScRsp" => Some(Self::CmdSetStuffToAreaScRsp),
            "CmdSyncGetExhibitScNotify" => Some(Self::CmdSyncGetExhibitScNotify),
            "CmdUpgradeAreaStatCsReq" => Some(Self::CmdUpgradeAreaStatCsReq),
            "CmdSyncMuseumRandomEventStartScNotify" => {
                Some(Self::CmdSyncMuseumRandomEventStartScNotify)
            }
            "CmdUpgradeAreaStatScRsp" => Some(Self::CmdUpgradeAreaStatScRsp),
            "CmdSetStuffToAreaCsReq" => Some(Self::CmdSetStuffToAreaCsReq),
            "CmdFinishCurTurnScRsp" => Some(Self::CmdFinishCurTurnScRsp),
            "CmdSyncMuseumTargetStartNotify" => {
                Some(Self::CmdSyncMuseumTargetStartNotify)
            }
            "CmdSyncGetStuffScNotify" => Some(Self::CmdSyncGetStuffScNotify),
            "CmdTakeCollectRewardRsp" => Some(Self::CmdTakeCollectRewardRsp),
            "CmdGetMuseumInfoScRsp" => Some(Self::CmdGetMuseumInfoScRsp),
            "CmdFinishCurTurnCsReq" => Some(Self::CmdFinishCurTurnCsReq),
            "CmdUpgradeAreaScRsp" => Some(Self::CmdUpgradeAreaScRsp),
            "CmdSyncMuseumFundsChangedScNotify" => {
                Some(Self::CmdSyncMuseumFundsChangedScNotify)
            }
            "CmdRemoveStuffFromAreaScRsp" => Some(Self::CmdRemoveStuffFromAreaScRsp),
            "CmdBuyNpcStuffScRsp" => Some(Self::CmdBuyNpcStuffScRsp),
            "CmdUpgradeAreaCsReq" => Some(Self::CmdUpgradeAreaCsReq),
            "CmdBuyNpcStuffCsReq" => Some(Self::CmdBuyNpcStuffCsReq),
            "CmdRemoveStuffFromAreaCsReq" => Some(Self::CmdRemoveStuffFromAreaCsReq),
            "CmdSyncMuseumInfoChangedScNotify" => {
                Some(Self::CmdSyncMuseumInfoChangedScNotify)
            }
            "CmdSyncMuseumTargetMissionFinishNotify" => {
                Some(Self::CmdSyncMuseumTargetMissionFinishNotify)
            }
            "CmdMuseumRandomEventSelectCsReq" => {
                Some(Self::CmdMuseumRandomEventSelectCsReq)
            }
            "CmdSyncMuseumTargetRewardNotify" => {
                Some(Self::CmdSyncMuseumTargetRewardNotify)
            }
            "CmdMuseumRandomEventQueryCsReq" => {
                Some(Self::CmdMuseumRandomEventQueryCsReq)
            }
            "CmdMuseumRandomEventQueryScRsp" => {
                Some(Self::CmdMuseumRandomEventQueryScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: NLAEDPNBHBP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MuseumRandomEventState {
    NlaedpnbhbpNlcdgipgfdj = 0,
    NlaedpnbhbpNpafmebnfob = 1,
    NlaedpnbhbpLooaknhdbll = 2,
    NlaedpnbhbpCihfgjdchia = 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::NlaedpnbhbpNlcdgipgfdj => "NLAEDPNBHBP_NLCDGIPGFDJ",
            Self::NlaedpnbhbpNpafmebnfob => "NLAEDPNBHBP_NPAFMEBNFOB",
            Self::NlaedpnbhbpLooaknhdbll => "NLAEDPNBHBP_LOOAKNHDBLL",
            Self::NlaedpnbhbpCihfgjdchia => "NLAEDPNBHBP_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NLAEDPNBHBP_NLCDGIPGFDJ" => Some(Self::NlaedpnbhbpNlcdgipgfdj),
            "NLAEDPNBHBP_NPAFMEBNFOB" => Some(Self::NlaedpnbhbpNpafmebnfob),
            "NLAEDPNBHBP_LOOAKNHDBLL" => Some(Self::NlaedpnbhbpLooaknhdbll),
            "NLAEDPNBHBP_CIHFGJDCHIA" => Some(Self::NlaedpnbhbpCihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gbaepolffmg {
    Nlcdgipgfdj = 0,
    Fblhlhcgmko = 1,
    Gneijhbgchg = 2,
    Jnkmjkbdgpl = 3,
}
impl Gbaepolffmg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GBAEPOLFFMG_NLCDGIPGFDJ",
            Self::Fblhlhcgmko => "GBAEPOLFFMG_FBLHLHCGMKO",
            Self::Gneijhbgchg => "GBAEPOLFFMG_GNEIJHBGCHG",
            Self::Jnkmjkbdgpl => "GBAEPOLFFMG_JNKMJKBDGPL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GBAEPOLFFMG_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GBAEPOLFFMG_FBLHLHCGMKO" => Some(Self::Fblhlhcgmko),
            "GBAEPOLFFMG_GNEIJHBGCHG" => Some(Self::Gneijhbgchg),
            "GBAEPOLFFMG_JNKMJKBDGPL" => Some(Self::Jnkmjkbdgpl),
            _ => None,
        }
    }
}
/// Obf: GOPHGIHIDPP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum StatType {
    GophgihidppNlcdgipgfdj = 0,
    GophgihidppInjomkcibpi = 1,
    GophgihidppGmkniihmcbo = 2,
    GophgihidppHnmlecbegpb = 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::GophgihidppNlcdgipgfdj => "GOPHGIHIDPP_NLCDGIPGFDJ",
            Self::GophgihidppInjomkcibpi => "GOPHGIHIDPP_INJOMKCIBPI",
            Self::GophgihidppGmkniihmcbo => "GOPHGIHIDPP_GMKNIIHMCBO",
            Self::GophgihidppHnmlecbegpb => "GOPHGIHIDPP_HNMLECBEGPB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GOPHGIHIDPP_NLCDGIPGFDJ" => Some(Self::GophgihidppNlcdgipgfdj),
            "GOPHGIHIDPP_INJOMKCIBPI" => Some(Self::GophgihidppInjomkcibpi),
            "GOPHGIHIDPP_GMKNIIHMCBO" => Some(Self::GophgihidppGmkniihmcbo),
            "GOPHGIHIDPP_HNMLECBEGPB" => Some(Self::GophgihidppHnmlecbegpb),
            _ => None,
        }
    }
}
/// Obf: FILBJDAJPAA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum GetStuffType {
    FilbjdajpaaAadoieidpkc = 0,
    FilbjdajpaaKleadaaonji = 1,
    FilbjdajpaaJijfolelohp = 2,
    FilbjdajpaaKcmipoeakom = 3,
    FilbjdajpaaMfcahccmcha = 4,
    FilbjdajpaaDcjdpbhneen = 5,
    FilbjdajpaaCbeclohpgnj = 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::FilbjdajpaaAadoieidpkc => "FILBJDAJPAA_AADOIEIDPKC",
            Self::FilbjdajpaaKleadaaonji => "FILBJDAJPAA_KLEADAAONJI",
            Self::FilbjdajpaaJijfolelohp => "FILBJDAJPAA_JIJFOLELOHP",
            Self::FilbjdajpaaKcmipoeakom => "FILBJDAJPAA_KCMIPOEAKOM",
            Self::FilbjdajpaaMfcahccmcha => "FILBJDAJPAA_MFCAHCCMCHA",
            Self::FilbjdajpaaDcjdpbhneen => "FILBJDAJPAA_DCJDPBHNEEN",
            Self::FilbjdajpaaCbeclohpgnj => "FILBJDAJPAA_CBECLOHPGNJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FILBJDAJPAA_AADOIEIDPKC" => Some(Self::FilbjdajpaaAadoieidpkc),
            "FILBJDAJPAA_KLEADAAONJI" => Some(Self::FilbjdajpaaKleadaaonji),
            "FILBJDAJPAA_JIJFOLELOHP" => Some(Self::FilbjdajpaaJijfolelohp),
            "FILBJDAJPAA_KCMIPOEAKOM" => Some(Self::FilbjdajpaaKcmipoeakom),
            "FILBJDAJPAA_MFCAHCCMCHA" => Some(Self::FilbjdajpaaMfcahccmcha),
            "FILBJDAJPAA_DCJDPBHNEEN" => Some(Self::FilbjdajpaaDcjdpbhneen),
            "FILBJDAJPAA_CBECLOHPGNJ" => Some(Self::FilbjdajpaaCbeclohpgnj),
            _ => None,
        }
    }
}
/// Obf: PHAPALJNLBE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdMusicRhythmType {
    PhapaljnlbeNlcdgipgfdj = 0,
    CmdMusicRhythmStartLevelScRsp = 7574,
    CmdMusicRhythmMaxDifficultyLevelsUnlockNotify = 7590,
    CmdMusicRhythmUnlockSongSfxScNotify = 7585,
    CmdMusicRhythmStartLevelCsReq = 7588,
    CmdMusicRhythmUnlockSongNotify = 7582,
    CmdMusicRhythmSaveSongConfigDataScRsp = 7591,
    CmdMusicRhythmFinishLevelScRsp = 7592,
    CmdMusicRhythmSaveSongConfigDataCsReq = 7599,
    CmdMusicRhythmUnlockTrackScNotify = 7577,
    CmdMusicRhythmFinishLevelCsReq = 7575,
    CmdMusicRhythmDataCsReq = 7579,
    CmdMusicRhythmDataScRsp = 7595,
}
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::PhapaljnlbeNlcdgipgfdj => "PHAPALJNLBE_NLCDGIPGFDJ",
            Self::CmdMusicRhythmStartLevelScRsp => "CmdMusicRhythmStartLevelScRsp",
            Self::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify => {
                "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify"
            }
            Self::CmdMusicRhythmUnlockSongSfxScNotify => {
                "CmdMusicRhythmUnlockSongSfxScNotify"
            }
            Self::CmdMusicRhythmStartLevelCsReq => "CmdMusicRhythmStartLevelCsReq",
            Self::CmdMusicRhythmUnlockSongNotify => "CmdMusicRhythmUnlockSongNotify",
            Self::CmdMusicRhythmSaveSongConfigDataScRsp => {
                "CmdMusicRhythmSaveSongConfigDataScRsp"
            }
            Self::CmdMusicRhythmFinishLevelScRsp => "CmdMusicRhythmFinishLevelScRsp",
            Self::CmdMusicRhythmSaveSongConfigDataCsReq => {
                "CmdMusicRhythmSaveSongConfigDataCsReq"
            }
            Self::CmdMusicRhythmUnlockTrackScNotify => {
                "CmdMusicRhythmUnlockTrackScNotify"
            }
            Self::CmdMusicRhythmFinishLevelCsReq => "CmdMusicRhythmFinishLevelCsReq",
            Self::CmdMusicRhythmDataCsReq => "CmdMusicRhythmDataCsReq",
            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 {
            "PHAPALJNLBE_NLCDGIPGFDJ" => Some(Self::PhapaljnlbeNlcdgipgfdj),
            "CmdMusicRhythmStartLevelScRsp" => Some(Self::CmdMusicRhythmStartLevelScRsp),
            "CmdMusicRhythmMaxDifficultyLevelsUnlockNotify" => {
                Some(Self::CmdMusicRhythmMaxDifficultyLevelsUnlockNotify)
            }
            "CmdMusicRhythmUnlockSongSfxScNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongSfxScNotify)
            }
            "CmdMusicRhythmStartLevelCsReq" => Some(Self::CmdMusicRhythmStartLevelCsReq),
            "CmdMusicRhythmUnlockSongNotify" => {
                Some(Self::CmdMusicRhythmUnlockSongNotify)
            }
            "CmdMusicRhythmSaveSongConfigDataScRsp" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataScRsp)
            }
            "CmdMusicRhythmFinishLevelScRsp" => {
                Some(Self::CmdMusicRhythmFinishLevelScRsp)
            }
            "CmdMusicRhythmSaveSongConfigDataCsReq" => {
                Some(Self::CmdMusicRhythmSaveSongConfigDataCsReq)
            }
            "CmdMusicRhythmUnlockTrackScNotify" => {
                Some(Self::CmdMusicRhythmUnlockTrackScNotify)
            }
            "CmdMusicRhythmFinishLevelCsReq" => {
                Some(Self::CmdMusicRhythmFinishLevelCsReq)
            }
            "CmdMusicRhythmDataCsReq" => Some(Self::CmdMusicRhythmDataCsReq),
            "CmdMusicRhythmDataScRsp" => Some(Self::CmdMusicRhythmDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Agbbjfoipii {
    Oaapndmliol = 0,
    Bhahgkjblad = 1,
}
impl Agbbjfoipii {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Oaapndmliol => "AGBBJFOIPII_OAAPNDMLIOL",
            Self::Bhahgkjblad => "AGBBJFOIPII_BHAHGKJBLAD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AGBBJFOIPII_OAAPNDMLIOL" => Some(Self::Oaapndmliol),
            "AGBBJFOIPII_BHAHGKJBLAD" => Some(Self::Bhahgkjblad),
            _ => None,
        }
    }
}
/// Obf: LIPONPBGOPN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdOfferingType {
    LiponpbgopnNlcdgipgfdj = 0,
    CmdSubmitOfferingItemScRsp = 6932,
    CmdGetOfferingInfoScRsp = 6928,
    CmdOfferingInfoScNotify = 6925,
    CmdSubmitOfferingItemCsReq = 6923,
    CmdTakeOfferingRewardScRsp = 6937,
    CmdGetOfferingInfoCsReq = 6938,
    CmdTakeOfferingRewardCsReq = 6922,
}
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::LiponpbgopnNlcdgipgfdj => "LIPONPBGOPN_NLCDGIPGFDJ",
            Self::CmdSubmitOfferingItemScRsp => "CmdSubmitOfferingItemScRsp",
            Self::CmdGetOfferingInfoScRsp => "CmdGetOfferingInfoScRsp",
            Self::CmdOfferingInfoScNotify => "CmdOfferingInfoScNotify",
            Self::CmdSubmitOfferingItemCsReq => "CmdSubmitOfferingItemCsReq",
            Self::CmdTakeOfferingRewardScRsp => "CmdTakeOfferingRewardScRsp",
            Self::CmdGetOfferingInfoCsReq => "CmdGetOfferingInfoCsReq",
            Self::CmdTakeOfferingRewardCsReq => "CmdTakeOfferingRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LIPONPBGOPN_NLCDGIPGFDJ" => Some(Self::LiponpbgopnNlcdgipgfdj),
            "CmdSubmitOfferingItemScRsp" => Some(Self::CmdSubmitOfferingItemScRsp),
            "CmdGetOfferingInfoScRsp" => Some(Self::CmdGetOfferingInfoScRsp),
            "CmdOfferingInfoScNotify" => Some(Self::CmdOfferingInfoScNotify),
            "CmdSubmitOfferingItemCsReq" => Some(Self::CmdSubmitOfferingItemCsReq),
            "CmdTakeOfferingRewardScRsp" => Some(Self::CmdTakeOfferingRewardScRsp),
            "CmdGetOfferingInfoCsReq" => Some(Self::CmdGetOfferingInfoCsReq),
            "CmdTakeOfferingRewardCsReq" => Some(Self::CmdTakeOfferingRewardCsReq),
            _ => 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: KMGNIGGHMBM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamMissionType {
    KmgnigghmbmNlcdgipgfdj = 0,
    CmdSyncAcceptedPamMissionNotify = 4093,
    CmdAcceptedPamMissionExpireCsReq = 4025,
    CmdAcceptedPamMissionExpireScRsp = 4078,
}
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::KmgnigghmbmNlcdgipgfdj => "KMGNIGGHMBM_NLCDGIPGFDJ",
            Self::CmdSyncAcceptedPamMissionNotify => "CmdSyncAcceptedPamMissionNotify",
            Self::CmdAcceptedPamMissionExpireCsReq => "CmdAcceptedPamMissionExpireCsReq",
            Self::CmdAcceptedPamMissionExpireScRsp => "CmdAcceptedPamMissionExpireScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KMGNIGGHMBM_NLCDGIPGFDJ" => Some(Self::KmgnigghmbmNlcdgipgfdj),
            "CmdSyncAcceptedPamMissionNotify" => {
                Some(Self::CmdSyncAcceptedPamMissionNotify)
            }
            "CmdAcceptedPamMissionExpireCsReq" => {
                Some(Self::CmdAcceptedPamMissionExpireCsReq)
            }
            "CmdAcceptedPamMissionExpireScRsp" => {
                Some(Self::CmdAcceptedPamMissionExpireScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: LIKMDKALNNI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPamSkinType {
    LikmdkalnniNlcdgipgfdj = 0,
    CmdUnlockPamSkinScNotify = 8122,
    CmdSelectPamSkinCsReq = 8123,
    CmdGetPamSkinDataScRsp = 8128,
    CmdSelectPamSkinScRsp = 8132,
    CmdGetPamSkinDataCsReq = 8138,
}
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::LikmdkalnniNlcdgipgfdj => "LIKMDKALNNI_NLCDGIPGFDJ",
            Self::CmdUnlockPamSkinScNotify => "CmdUnlockPamSkinScNotify",
            Self::CmdSelectPamSkinCsReq => "CmdSelectPamSkinCsReq",
            Self::CmdGetPamSkinDataScRsp => "CmdGetPamSkinDataScRsp",
            Self::CmdSelectPamSkinScRsp => "CmdSelectPamSkinScRsp",
            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 {
            "LIKMDKALNNI_NLCDGIPGFDJ" => Some(Self::LikmdkalnniNlcdgipgfdj),
            "CmdUnlockPamSkinScNotify" => Some(Self::CmdUnlockPamSkinScNotify),
            "CmdSelectPamSkinCsReq" => Some(Self::CmdSelectPamSkinCsReq),
            "CmdGetPamSkinDataScRsp" => Some(Self::CmdGetPamSkinDataScRsp),
            "CmdSelectPamSkinScRsp" => Some(Self::CmdSelectPamSkinScRsp),
            "CmdGetPamSkinDataCsReq" => Some(Self::CmdGetPamSkinDataCsReq),
            _ => None,
        }
    }
}
/// Obf: KCLDFMNECJB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdParkourType {
    KcldfmnecjbNlcdgipgfdj = 0,
    CmdParkourEndLevelScRsp = 8384,
    CmdParkourStartLevelScRsp = 8397,
    CmdParkourGetDataScRsp = 8388,
    CmdParkourGetDataCsReq = 8398,
    CmdParkourGetRankingInfoScRsp = 8392,
    CmdParkourStartLevelCsReq = 8382,
    CmdParkourGetRankingInfoCsReq = 8383,
    CmdParkourEndLevelCsReq = 8385,
}
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::KcldfmnecjbNlcdgipgfdj => "KCLDFMNECJB_NLCDGIPGFDJ",
            Self::CmdParkourEndLevelScRsp => "CmdParkourEndLevelScRsp",
            Self::CmdParkourStartLevelScRsp => "CmdParkourStartLevelScRsp",
            Self::CmdParkourGetDataScRsp => "CmdParkourGetDataScRsp",
            Self::CmdParkourGetDataCsReq => "CmdParkourGetDataCsReq",
            Self::CmdParkourGetRankingInfoScRsp => "CmdParkourGetRankingInfoScRsp",
            Self::CmdParkourStartLevelCsReq => "CmdParkourStartLevelCsReq",
            Self::CmdParkourGetRankingInfoCsReq => "CmdParkourGetRankingInfoCsReq",
            Self::CmdParkourEndLevelCsReq => "CmdParkourEndLevelCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KCLDFMNECJB_NLCDGIPGFDJ" => Some(Self::KcldfmnecjbNlcdgipgfdj),
            "CmdParkourEndLevelScRsp" => Some(Self::CmdParkourEndLevelScRsp),
            "CmdParkourStartLevelScRsp" => Some(Self::CmdParkourStartLevelScRsp),
            "CmdParkourGetDataScRsp" => Some(Self::CmdParkourGetDataScRsp),
            "CmdParkourGetDataCsReq" => Some(Self::CmdParkourGetDataCsReq),
            "CmdParkourGetRankingInfoScRsp" => Some(Self::CmdParkourGetRankingInfoScRsp),
            "CmdParkourStartLevelCsReq" => Some(Self::CmdParkourStartLevelCsReq),
            "CmdParkourGetRankingInfoCsReq" => Some(Self::CmdParkourGetRankingInfoCsReq),
            "CmdParkourEndLevelCsReq" => Some(Self::CmdParkourEndLevelCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ohfeckkadek {
    Nlcdgipgfdj = 0,
    Cihfgjdchia = 1,
    Inclhhdfcel = 2,
}
impl Ohfeckkadek {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OHFECKKADEK_NLCDGIPGFDJ",
            Self::Cihfgjdchia => "OHFECKKADEK_CIHFGJDCHIA",
            Self::Inclhhdfcel => "OHFECKKADEK_INCLHHDFCEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OHFECKKADEK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OHFECKKADEK_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            "OHFECKKADEK_INCLHHDFCEL" => Some(Self::Inclhhdfcel),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ejeghjpampi {
    Backhollhdc = 0,
    Haafijpejoo = 1,
    Fppdhdlgacm = 2,
}
impl Ejeghjpampi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Backhollhdc => "EJEGHJPAMPI_BACKHOLLHDC",
            Self::Haafijpejoo => "EJEGHJPAMPI_HAAFIJPEJOO",
            Self::Fppdhdlgacm => "EJEGHJPAMPI_FPPDHDLGACM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJEGHJPAMPI_BACKHOLLHDC" => Some(Self::Backhollhdc),
            "EJEGHJPAMPI_HAAFIJPEJOO" => Some(Self::Haafijpejoo),
            "EJEGHJPAMPI_FPPDHDLGACM" => Some(Self::Fppdhdlgacm),
            _ => None,
        }
    }
}
/// Obf: MAMMDADNGLP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPetType {
    MammdadnglpNlcdgipgfdj = 0,
    CmdSummonPetCsReq = 7612,
    CmdSummonPetScRsp = 7607,
    CmdGetPetDataScRsp = 7621,
    CmdGetPetDataCsReq = 7608,
    CmdCurPetChangedScNotify = 7619,
    CmdRecallPetScRsp = 7609,
    CmdRecallPetCsReq = 7605,
}
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::MammdadnglpNlcdgipgfdj => "MAMMDADNGLP_NLCDGIPGFDJ",
            Self::CmdSummonPetCsReq => "CmdSummonPetCsReq",
            Self::CmdSummonPetScRsp => "CmdSummonPetScRsp",
            Self::CmdGetPetDataScRsp => "CmdGetPetDataScRsp",
            Self::CmdGetPetDataCsReq => "CmdGetPetDataCsReq",
            Self::CmdCurPetChangedScNotify => "CmdCurPetChangedScNotify",
            Self::CmdRecallPetScRsp => "CmdRecallPetScRsp",
            Self::CmdRecallPetCsReq => "CmdRecallPetCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAMMDADNGLP_NLCDGIPGFDJ" => Some(Self::MammdadnglpNlcdgipgfdj),
            "CmdSummonPetCsReq" => Some(Self::CmdSummonPetCsReq),
            "CmdSummonPetScRsp" => Some(Self::CmdSummonPetScRsp),
            "CmdGetPetDataScRsp" => Some(Self::CmdGetPetDataScRsp),
            "CmdGetPetDataCsReq" => Some(Self::CmdGetPetDataCsReq),
            "CmdCurPetChangedScNotify" => Some(Self::CmdCurPetChangedScNotify),
            "CmdRecallPetScRsp" => Some(Self::CmdRecallPetScRsp),
            "CmdRecallPetCsReq" => Some(Self::CmdRecallPetCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ndgkmjpffli {
    Nlcdgipgfdj = 0,
    Ldpnbegmbjl = 1,
    Anajmpdkcod = 2,
}
impl Ndgkmjpffli {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "NDGKMJPFFLI_NLCDGIPGFDJ",
            Self::Ldpnbegmbjl => "NDGKMJPFFLI_LDPNBEGMBJL",
            Self::Anajmpdkcod => "NDGKMJPFFLI_ANAJMPDKCOD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NDGKMJPFFLI_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "NDGKMJPFFLI_LDPNBEGMBJL" => Some(Self::Ldpnbegmbjl),
            "NDGKMJPFFLI_ANAJMPDKCOD" => Some(Self::Anajmpdkcod),
            _ => None,
        }
    }
}
/// Obf: JADIINBLALB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPhoneType {
    JadiinblalbNlcdgipgfdj = 0,
    CmdSelectPhoneThemeCsReq = 5181,
    CmdGetPhoneDataScRsp = 5178,
    CmdGetPhoneDataCsReq = 5125,
    CmdSelectPhoneCaseScRsp = 5113,
    CmdSelectPhoneThemeScRsp = 5186,
    CmdSelectPhoneCaseCsReq = 5126,
    CmdSelectChatBubbleCsReq = 5193,
    CmdUnlockChatBubbleScNotify = 5188,
    CmdUnlockPhoneCaseScNotify = 5171,
    CmdUnlockPhoneThemeScNotify = 5147,
    CmdSelectChatBubbleScRsp = 5158,
}
impl CmdPhoneType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::JadiinblalbNlcdgipgfdj => "JADIINBLALB_NLCDGIPGFDJ",
            Self::CmdSelectPhoneThemeCsReq => "CmdSelectPhoneThemeCsReq",
            Self::CmdGetPhoneDataScRsp => "CmdGetPhoneDataScRsp",
            Self::CmdGetPhoneDataCsReq => "CmdGetPhoneDataCsReq",
            Self::CmdSelectPhoneCaseScRsp => "CmdSelectPhoneCaseScRsp",
            Self::CmdSelectPhoneThemeScRsp => "CmdSelectPhoneThemeScRsp",
            Self::CmdSelectPhoneCaseCsReq => "CmdSelectPhoneCaseCsReq",
            Self::CmdSelectChatBubbleCsReq => "CmdSelectChatBubbleCsReq",
            Self::CmdUnlockChatBubbleScNotify => "CmdUnlockChatBubbleScNotify",
            Self::CmdUnlockPhoneCaseScNotify => "CmdUnlockPhoneCaseScNotify",
            Self::CmdUnlockPhoneThemeScNotify => "CmdUnlockPhoneThemeScNotify",
            Self::CmdSelectChatBubbleScRsp => "CmdSelectChatBubbleScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JADIINBLALB_NLCDGIPGFDJ" => Some(Self::JadiinblalbNlcdgipgfdj),
            "CmdSelectPhoneThemeCsReq" => Some(Self::CmdSelectPhoneThemeCsReq),
            "CmdGetPhoneDataScRsp" => Some(Self::CmdGetPhoneDataScRsp),
            "CmdGetPhoneDataCsReq" => Some(Self::CmdGetPhoneDataCsReq),
            "CmdSelectPhoneCaseScRsp" => Some(Self::CmdSelectPhoneCaseScRsp),
            "CmdSelectPhoneThemeScRsp" => Some(Self::CmdSelectPhoneThemeScRsp),
            "CmdSelectPhoneCaseCsReq" => Some(Self::CmdSelectPhoneCaseCsReq),
            "CmdSelectChatBubbleCsReq" => Some(Self::CmdSelectChatBubbleCsReq),
            "CmdUnlockChatBubbleScNotify" => Some(Self::CmdUnlockChatBubbleScNotify),
            "CmdUnlockPhoneCaseScNotify" => Some(Self::CmdUnlockPhoneCaseScNotify),
            "CmdUnlockPhoneThemeScNotify" => Some(Self::CmdUnlockPhoneThemeScNotify),
            "CmdSelectChatBubbleScRsp" => Some(Self::CmdSelectChatBubbleScRsp),
            _ => None,
        }
    }
}
/// Obf: DDAEJOHMJBN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPixAirType {
    DdaejohmjbnNlcdgipgfdj = 0,
    CmdPixAirReenterStageCsReq = 9777,
    CmdFciblhjdpid = 9803,
    CmdIaopgeafecl = 9784,
    CmdHpekdmbcaei = 9772,
    CmdPixAirSwapEquipCsReq = 9790,
    DdaejohmjbnDjfanbnmakn = 9785,
    CmdEkmnfjipcmi = 9805,
    CmdHenhaifodig = 9794,
    CmdPixAirGetDataCsReq = 9779,
    CmdPixAirSwapEquipScRsp = 9787,
    CmdIlbjggehaek = 9799,
    CmdLifdllpaakf = 9818,
    CmdPixAirUnlockPlaneScRsp = 9788,
    CmdPixAirSyncChangeScNotify = 9807,
    CmdEkjmijbiiho = 9810,
    CmdIifhchdpkia = 9791,
    CmdNbbinllongi = 9776,
    CmdPixAirGetDataScRsp = 9793,
    CmdPixAirUnlockPlaneCsReq = 9778,
    CmdKnhfdinijol = 9813,
    CmdGncjnhiokdl = 9783,
    CmdPixAirStartStageScRsp = 9789,
    CmdPixAirStartStageCsReq = 9814,
    CmdPixAirReenterStageScRsp = 9780,
    CmdBfhpblanikg = 9773,
}
impl CmdPixAirType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::DdaejohmjbnNlcdgipgfdj => "DDAEJOHMJBN_NLCDGIPGFDJ",
            Self::CmdPixAirReenterStageCsReq => "CmdPixAirReenterStageCsReq",
            Self::CmdFciblhjdpid => "CmdFCIBLHJDPID",
            Self::CmdIaopgeafecl => "CmdIAOPGEAFECL",
            Self::CmdHpekdmbcaei => "CmdHPEKDMBCAEI",
            Self::CmdPixAirSwapEquipCsReq => "CmdPixAirSwapEquipCsReq",
            Self::DdaejohmjbnDjfanbnmakn => "DDAEJOHMJBN_DJFANBNMAKN",
            Self::CmdEkmnfjipcmi => "CmdEKMNFJIPCMI",
            Self::CmdHenhaifodig => "CmdHENHAIFODIG",
            Self::CmdPixAirGetDataCsReq => "CmdPixAirGetDataCsReq",
            Self::CmdPixAirSwapEquipScRsp => "CmdPixAirSwapEquipScRsp",
            Self::CmdIlbjggehaek => "CmdILBJGGEHAEK",
            Self::CmdLifdllpaakf => "CmdLIFDLLPAAKF",
            Self::CmdPixAirUnlockPlaneScRsp => "CmdPixAirUnlockPlaneScRsp",
            Self::CmdPixAirSyncChangeScNotify => "CmdPixAirSyncChangeScNotify",
            Self::CmdEkjmijbiiho => "CmdEKJMIJBIIHO",
            Self::CmdIifhchdpkia => "CmdIIFHCHDPKIA",
            Self::CmdNbbinllongi => "CmdNBBINLLONGI",
            Self::CmdPixAirGetDataScRsp => "CmdPixAirGetDataScRsp",
            Self::CmdPixAirUnlockPlaneCsReq => "CmdPixAirUnlockPlaneCsReq",
            Self::CmdKnhfdinijol => "CmdKNHFDINIJOL",
            Self::CmdGncjnhiokdl => "CmdGNCJNHIOKDL",
            Self::CmdPixAirStartStageScRsp => "CmdPixAirStartStageScRsp",
            Self::CmdPixAirStartStageCsReq => "CmdPixAirStartStageCsReq",
            Self::CmdPixAirReenterStageScRsp => "CmdPixAirReenterStageScRsp",
            Self::CmdBfhpblanikg => "CmdBFHPBLANIKG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DDAEJOHMJBN_NLCDGIPGFDJ" => Some(Self::DdaejohmjbnNlcdgipgfdj),
            "CmdPixAirReenterStageCsReq" => Some(Self::CmdPixAirReenterStageCsReq),
            "CmdFCIBLHJDPID" => Some(Self::CmdFciblhjdpid),
            "CmdIAOPGEAFECL" => Some(Self::CmdIaopgeafecl),
            "CmdHPEKDMBCAEI" => Some(Self::CmdHpekdmbcaei),
            "CmdPixAirSwapEquipCsReq" => Some(Self::CmdPixAirSwapEquipCsReq),
            "DDAEJOHMJBN_DJFANBNMAKN" => Some(Self::DdaejohmjbnDjfanbnmakn),
            "CmdEKMNFJIPCMI" => Some(Self::CmdEkmnfjipcmi),
            "CmdHENHAIFODIG" => Some(Self::CmdHenhaifodig),
            "CmdPixAirGetDataCsReq" => Some(Self::CmdPixAirGetDataCsReq),
            "CmdPixAirSwapEquipScRsp" => Some(Self::CmdPixAirSwapEquipScRsp),
            "CmdILBJGGEHAEK" => Some(Self::CmdIlbjggehaek),
            "CmdLIFDLLPAAKF" => Some(Self::CmdLifdllpaakf),
            "CmdPixAirUnlockPlaneScRsp" => Some(Self::CmdPixAirUnlockPlaneScRsp),
            "CmdPixAirSyncChangeScNotify" => Some(Self::CmdPixAirSyncChangeScNotify),
            "CmdEKJMIJBIIHO" => Some(Self::CmdEkjmijbiiho),
            "CmdIIFHCHDPKIA" => Some(Self::CmdIifhchdpkia),
            "CmdNBBINLLONGI" => Some(Self::CmdNbbinllongi),
            "CmdPixAirGetDataScRsp" => Some(Self::CmdPixAirGetDataScRsp),
            "CmdPixAirUnlockPlaneCsReq" => Some(Self::CmdPixAirUnlockPlaneCsReq),
            "CmdKNHFDINIJOL" => Some(Self::CmdKnhfdinijol),
            "CmdGNCJNHIOKDL" => Some(Self::CmdGncjnhiokdl),
            "CmdPixAirStartStageScRsp" => Some(Self::CmdPixAirStartStageScRsp),
            "CmdPixAirStartStageCsReq" => Some(Self::CmdPixAirStartStageCsReq),
            "CmdPixAirReenterStageScRsp" => Some(Self::CmdPixAirReenterStageScRsp),
            "CmdBFHPBLANIKG" => Some(Self::CmdBfhpblanikg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jdhjmnagiia {
    Cdchhnpnpln = 0,
    Eecedokmppi = 1,
    Pggeoddbmmk = 2,
    Pjgpleapeci = 3,
    Bfllfgojpcg = 4,
    Jaolofnicgd = 5,
    Kaphnbbnhbp = 6,
    Dajdhggfjgk = 7,
    Kedpgjccldc = 8,
    Mdmmeakjnoc = 9,
    Cdkpjhaemfe = 10,
    Ccjkibnafpj = 11,
    Nibdpfimofg = 12,
    Kgjcnjpfcno = 13,
    Cpbnigeikja = 14,
}
impl Jdhjmnagiia {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cdchhnpnpln => "JDHJMNAGIIA_CDCHHNPNPLN",
            Self::Eecedokmppi => "JDHJMNAGIIA_EECEDOKMPPI",
            Self::Pggeoddbmmk => "JDHJMNAGIIA_PGGEODDBMMK",
            Self::Pjgpleapeci => "JDHJMNAGIIA_PJGPLEAPECI",
            Self::Bfllfgojpcg => "JDHJMNAGIIA_BFLLFGOJPCG",
            Self::Jaolofnicgd => "JDHJMNAGIIA_JAOLOFNICGD",
            Self::Kaphnbbnhbp => "JDHJMNAGIIA_KAPHNBBNHBP",
            Self::Dajdhggfjgk => "JDHJMNAGIIA_DAJDHGGFJGK",
            Self::Kedpgjccldc => "JDHJMNAGIIA_KEDPGJCCLDC",
            Self::Mdmmeakjnoc => "JDHJMNAGIIA_MDMMEAKJNOC",
            Self::Cdkpjhaemfe => "JDHJMNAGIIA_CDKPJHAEMFE",
            Self::Ccjkibnafpj => "JDHJMNAGIIA_CCJKIBNAFPJ",
            Self::Nibdpfimofg => "JDHJMNAGIIA_NIBDPFIMOFG",
            Self::Kgjcnjpfcno => "JDHJMNAGIIA_KGJCNJPFCNO",
            Self::Cpbnigeikja => "JDHJMNAGIIA_CPBNIGEIKJA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JDHJMNAGIIA_CDCHHNPNPLN" => Some(Self::Cdchhnpnpln),
            "JDHJMNAGIIA_EECEDOKMPPI" => Some(Self::Eecedokmppi),
            "JDHJMNAGIIA_PGGEODDBMMK" => Some(Self::Pggeoddbmmk),
            "JDHJMNAGIIA_PJGPLEAPECI" => Some(Self::Pjgpleapeci),
            "JDHJMNAGIIA_BFLLFGOJPCG" => Some(Self::Bfllfgojpcg),
            "JDHJMNAGIIA_JAOLOFNICGD" => Some(Self::Jaolofnicgd),
            "JDHJMNAGIIA_KAPHNBBNHBP" => Some(Self::Kaphnbbnhbp),
            "JDHJMNAGIIA_DAJDHGGFJGK" => Some(Self::Dajdhggfjgk),
            "JDHJMNAGIIA_KEDPGJCCLDC" => Some(Self::Kedpgjccldc),
            "JDHJMNAGIIA_MDMMEAKJNOC" => Some(Self::Mdmmeakjnoc),
            "JDHJMNAGIIA_CDKPJHAEMFE" => Some(Self::Cdkpjhaemfe),
            "JDHJMNAGIIA_CCJKIBNAFPJ" => Some(Self::Ccjkibnafpj),
            "JDHJMNAGIIA_NIBDPFIMOFG" => Some(Self::Nibdpfimofg),
            "JDHJMNAGIIA_KGJCNJPFCNO" => Some(Self::Kgjcnjpfcno),
            "JDHJMNAGIIA_CPBNIGEIKJA" => Some(Self::Cpbnigeikja),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gjighknmilj {
    Ncmimmdphfm = 0,
    Pjfglbekece = 1,
    Inclhhdfcel = 2,
    Bgdcocgionk = 3,
}
impl Gjighknmilj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ncmimmdphfm => "GJIGHKNMILJ_NCMIMMDPHFM",
            Self::Pjfglbekece => "GJIGHKNMILJ_PJFGLBEKECE",
            Self::Inclhhdfcel => "GJIGHKNMILJ_INCLHHDFCEL",
            Self::Bgdcocgionk => "GJIGHKNMILJ_BGDCOCGIONK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJIGHKNMILJ_NCMIMMDPHFM" => Some(Self::Ncmimmdphfm),
            "GJIGHKNMILJ_PJFGLBEKECE" => Some(Self::Pjfglbekece),
            "GJIGHKNMILJ_INCLHHDFCEL" => Some(Self::Inclhhdfcel),
            "GJIGHKNMILJ_BGDCOCGIONK" => Some(Self::Bgdcocgionk),
            _ => None,
        }
    }
}
/// Obf: FEHEIOMNGHD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesType {
    FeheiomnghdNlcdgipgfdj = 0,
    CmdPlanetFesTakeRegionPhaseRewardCsReq = 8232,
    CmdPofdbdhojng = 8248,
    CmdPlanetFesSkillLevelUpScRsp = 8222,
    CmdLoffnnnidmm = 8210,
    CmdOleniplhipi = 8221,
    CmdPlanetFesSetCustomKeyValueScRsp = 8211,
    CmdPlanetFesSkillLevelUpCsReq = 8242,
    CmdPlanetFesGetFriendRankingInfoListScRsp = 8238,
    CmdPlanetFesFriendRankingInfoChangeScNotify = 8227,
    CmdPlanetFesBonusEventInteractCsReq = 8250,
    CmdGomidgnoenh = 8244,
    CmdPlanetFesGetAvatarStatScRsp = 8225,
    CmdPlanetFesDeliverPamCargoCsReq = 8243,
    CmdGhonfflamhb = 8249,
    CmdIhhbdejocgi = 8224,
    CmdEcjciapbfdj = 8203,
    CmdPlanetFesGetAvatarStatCsReq = 8231,
    CmdGetPlanetFesDataScRsp = 8223,
    CmdPlanetFesGetBusinessDayInfoCsReq = 8215,
    CmdPlanetFesTakeRegionPhaseRewardScRsp = 8236,
    CmdPlanetFesTakeQuestRewardScRsp = 8235,
    CmdPlanetFesAvatarLevelUpCsReq = 8206,
    CmdPlanetFesUseItemScRsp = 8212,
    CmdPlanetFesDoGachaScRsp = 8233,
    CmdPlanetFesTakeQuestRewardCsReq = 8214,
    CmdPlanetFesChooseAvatarEventOptionCsReq = 8226,
    CmdPlanetFesBusinessDayRefreshEventCsReq = 8208,
    CmdPlanetFesGameBingoFlipCsReq = 8216,
    CmdPlanetFesGameBingoFlipScRsp = 8201,
    CmdMoolkfodkik = 8220,
    CmdBgnamlhfldb = 8246,
    CmdPlanetFesGetFriendRankingInfoListCsReq = 8234,
    CmdNlagkojkhcn = 8217,
    CmdPlanetFesGetBusinessDayInfoScRsp = 8213,
    CmdPlanetFesSetCustomKeyValueCsReq = 8228,
    CmdDhhfamdcdpk = 8219,
    CmdFpmmpgaogch = 8207,
    CmdPlanetFesSyncChangeScNotify = 8237,
    CmdPlanetFesStartMiniGameScRsp = 8205,
    CmdPlanetFesUseItemCsReq = 8241,
    CmdPlanetFesChooseAvatarEventOptionScRsp = 8245,
    CmdPlanetFesDeliverPamCargoScRsp = 8240,
    CmdPlanetFesAvatarLevelUpScRsp = 8202,
    CmdPlanetFesStartMiniGameCsReq = 8230,
    CmdGetPlanetFesDataCsReq = 8209,
    CmdPlanetFesDealAvatarEventOptionItemScRsp = 8247,
    CmdPlanetFesDealAvatarEventOptionItemCsReq = 8239,
    CmdPlanetFesBonusEventInteractScRsp = 8204,
    CmdPlanetFesDoGachaCsReq = 8229,
    CmdPlanetFesBusinessDayRefreshEventScRsp = 8218,
}
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::FeheiomnghdNlcdgipgfdj => "FEHEIOMNGHD_NLCDGIPGFDJ",
            Self::CmdPlanetFesTakeRegionPhaseRewardCsReq => {
                "CmdPlanetFesTakeRegionPhaseRewardCsReq"
            }
            Self::CmdPofdbdhojng => "CmdPOFDBDHOJNG",
            Self::CmdPlanetFesSkillLevelUpScRsp => "CmdPlanetFesSkillLevelUpScRsp",
            Self::CmdLoffnnnidmm => "CmdLOFFNNNIDMM",
            Self::CmdOleniplhipi => "CmdOLENIPLHIPI",
            Self::CmdPlanetFesSetCustomKeyValueScRsp => {
                "CmdPlanetFesSetCustomKeyValueScRsp"
            }
            Self::CmdPlanetFesSkillLevelUpCsReq => "CmdPlanetFesSkillLevelUpCsReq",
            Self::CmdPlanetFesGetFriendRankingInfoListScRsp => {
                "CmdPlanetFesGetFriendRankingInfoListScRsp"
            }
            Self::CmdPlanetFesFriendRankingInfoChangeScNotify => {
                "CmdPlanetFesFriendRankingInfoChangeScNotify"
            }
            Self::CmdPlanetFesBonusEventInteractCsReq => {
                "CmdPlanetFesBonusEventInteractCsReq"
            }
            Self::CmdGomidgnoenh => "CmdGOMIDGNOENH",
            Self::CmdPlanetFesGetAvatarStatScRsp => "CmdPlanetFesGetAvatarStatScRsp",
            Self::CmdPlanetFesDeliverPamCargoCsReq => "CmdPlanetFesDeliverPamCargoCsReq",
            Self::CmdGhonfflamhb => "CmdGHONFFLAMHB",
            Self::CmdIhhbdejocgi => "CmdIHHBDEJOCGI",
            Self::CmdEcjciapbfdj => "CmdECJCIAPBFDJ",
            Self::CmdPlanetFesGetAvatarStatCsReq => "CmdPlanetFesGetAvatarStatCsReq",
            Self::CmdGetPlanetFesDataScRsp => "CmdGetPlanetFesDataScRsp",
            Self::CmdPlanetFesGetBusinessDayInfoCsReq => {
                "CmdPlanetFesGetBusinessDayInfoCsReq"
            }
            Self::CmdPlanetFesTakeRegionPhaseRewardScRsp => {
                "CmdPlanetFesTakeRegionPhaseRewardScRsp"
            }
            Self::CmdPlanetFesTakeQuestRewardScRsp => "CmdPlanetFesTakeQuestRewardScRsp",
            Self::CmdPlanetFesAvatarLevelUpCsReq => "CmdPlanetFesAvatarLevelUpCsReq",
            Self::CmdPlanetFesUseItemScRsp => "CmdPlanetFesUseItemScRsp",
            Self::CmdPlanetFesDoGachaScRsp => "CmdPlanetFesDoGachaScRsp",
            Self::CmdPlanetFesTakeQuestRewardCsReq => "CmdPlanetFesTakeQuestRewardCsReq",
            Self::CmdPlanetFesChooseAvatarEventOptionCsReq => {
                "CmdPlanetFesChooseAvatarEventOptionCsReq"
            }
            Self::CmdPlanetFesBusinessDayRefreshEventCsReq => {
                "CmdPlanetFesBusinessDayRefreshEventCsReq"
            }
            Self::CmdPlanetFesGameBingoFlipCsReq => "CmdPlanetFesGameBingoFlipCsReq",
            Self::CmdPlanetFesGameBingoFlipScRsp => "CmdPlanetFesGameBingoFlipScRsp",
            Self::CmdMoolkfodkik => "CmdMOOLKFODKIK",
            Self::CmdBgnamlhfldb => "CmdBGNAMLHFLDB",
            Self::CmdPlanetFesGetFriendRankingInfoListCsReq => {
                "CmdPlanetFesGetFriendRankingInfoListCsReq"
            }
            Self::CmdNlagkojkhcn => "CmdNLAGKOJKHCN",
            Self::CmdPlanetFesGetBusinessDayInfoScRsp => {
                "CmdPlanetFesGetBusinessDayInfoScRsp"
            }
            Self::CmdPlanetFesSetCustomKeyValueCsReq => {
                "CmdPlanetFesSetCustomKeyValueCsReq"
            }
            Self::CmdDhhfamdcdpk => "CmdDHHFAMDCDPK",
            Self::CmdFpmmpgaogch => "CmdFPMMPGAOGCH",
            Self::CmdPlanetFesSyncChangeScNotify => "CmdPlanetFesSyncChangeScNotify",
            Self::CmdPlanetFesStartMiniGameScRsp => "CmdPlanetFesStartMiniGameScRsp",
            Self::CmdPlanetFesUseItemCsReq => "CmdPlanetFesUseItemCsReq",
            Self::CmdPlanetFesChooseAvatarEventOptionScRsp => {
                "CmdPlanetFesChooseAvatarEventOptionScRsp"
            }
            Self::CmdPlanetFesDeliverPamCargoScRsp => "CmdPlanetFesDeliverPamCargoScRsp",
            Self::CmdPlanetFesAvatarLevelUpScRsp => "CmdPlanetFesAvatarLevelUpScRsp",
            Self::CmdPlanetFesStartMiniGameCsReq => "CmdPlanetFesStartMiniGameCsReq",
            Self::CmdGetPlanetFesDataCsReq => "CmdGetPlanetFesDataCsReq",
            Self::CmdPlanetFesDealAvatarEventOptionItemScRsp => {
                "CmdPlanetFesDealAvatarEventOptionItemScRsp"
            }
            Self::CmdPlanetFesDealAvatarEventOptionItemCsReq => {
                "CmdPlanetFesDealAvatarEventOptionItemCsReq"
            }
            Self::CmdPlanetFesBonusEventInteractScRsp => {
                "CmdPlanetFesBonusEventInteractScRsp"
            }
            Self::CmdPlanetFesDoGachaCsReq => "CmdPlanetFesDoGachaCsReq",
            Self::CmdPlanetFesBusinessDayRefreshEventScRsp => {
                "CmdPlanetFesBusinessDayRefreshEventScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEHEIOMNGHD_NLCDGIPGFDJ" => Some(Self::FeheiomnghdNlcdgipgfdj),
            "CmdPlanetFesTakeRegionPhaseRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardCsReq)
            }
            "CmdPOFDBDHOJNG" => Some(Self::CmdPofdbdhojng),
            "CmdPlanetFesSkillLevelUpScRsp" => Some(Self::CmdPlanetFesSkillLevelUpScRsp),
            "CmdLOFFNNNIDMM" => Some(Self::CmdLoffnnnidmm),
            "CmdOLENIPLHIPI" => Some(Self::CmdOleniplhipi),
            "CmdPlanetFesSetCustomKeyValueScRsp" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueScRsp)
            }
            "CmdPlanetFesSkillLevelUpCsReq" => Some(Self::CmdPlanetFesSkillLevelUpCsReq),
            "CmdPlanetFesGetFriendRankingInfoListScRsp" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListScRsp)
            }
            "CmdPlanetFesFriendRankingInfoChangeScNotify" => {
                Some(Self::CmdPlanetFesFriendRankingInfoChangeScNotify)
            }
            "CmdPlanetFesBonusEventInteractCsReq" => {
                Some(Self::CmdPlanetFesBonusEventInteractCsReq)
            }
            "CmdGOMIDGNOENH" => Some(Self::CmdGomidgnoenh),
            "CmdPlanetFesGetAvatarStatScRsp" => {
                Some(Self::CmdPlanetFesGetAvatarStatScRsp)
            }
            "CmdPlanetFesDeliverPamCargoCsReq" => {
                Some(Self::CmdPlanetFesDeliverPamCargoCsReq)
            }
            "CmdGHONFFLAMHB" => Some(Self::CmdGhonfflamhb),
            "CmdIHHBDEJOCGI" => Some(Self::CmdIhhbdejocgi),
            "CmdECJCIAPBFDJ" => Some(Self::CmdEcjciapbfdj),
            "CmdPlanetFesGetAvatarStatCsReq" => {
                Some(Self::CmdPlanetFesGetAvatarStatCsReq)
            }
            "CmdGetPlanetFesDataScRsp" => Some(Self::CmdGetPlanetFesDataScRsp),
            "CmdPlanetFesGetBusinessDayInfoCsReq" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoCsReq)
            }
            "CmdPlanetFesTakeRegionPhaseRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeRegionPhaseRewardScRsp)
            }
            "CmdPlanetFesTakeQuestRewardScRsp" => {
                Some(Self::CmdPlanetFesTakeQuestRewardScRsp)
            }
            "CmdPlanetFesAvatarLevelUpCsReq" => {
                Some(Self::CmdPlanetFesAvatarLevelUpCsReq)
            }
            "CmdPlanetFesUseItemScRsp" => Some(Self::CmdPlanetFesUseItemScRsp),
            "CmdPlanetFesDoGachaScRsp" => Some(Self::CmdPlanetFesDoGachaScRsp),
            "CmdPlanetFesTakeQuestRewardCsReq" => {
                Some(Self::CmdPlanetFesTakeQuestRewardCsReq)
            }
            "CmdPlanetFesChooseAvatarEventOptionCsReq" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionCsReq)
            }
            "CmdPlanetFesBusinessDayRefreshEventCsReq" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventCsReq)
            }
            "CmdPlanetFesGameBingoFlipCsReq" => {
                Some(Self::CmdPlanetFesGameBingoFlipCsReq)
            }
            "CmdPlanetFesGameBingoFlipScRsp" => {
                Some(Self::CmdPlanetFesGameBingoFlipScRsp)
            }
            "CmdMOOLKFODKIK" => Some(Self::CmdMoolkfodkik),
            "CmdBGNAMLHFLDB" => Some(Self::CmdBgnamlhfldb),
            "CmdPlanetFesGetFriendRankingInfoListCsReq" => {
                Some(Self::CmdPlanetFesGetFriendRankingInfoListCsReq)
            }
            "CmdNLAGKOJKHCN" => Some(Self::CmdNlagkojkhcn),
            "CmdPlanetFesGetBusinessDayInfoScRsp" => {
                Some(Self::CmdPlanetFesGetBusinessDayInfoScRsp)
            }
            "CmdPlanetFesSetCustomKeyValueCsReq" => {
                Some(Self::CmdPlanetFesSetCustomKeyValueCsReq)
            }
            "CmdDHHFAMDCDPK" => Some(Self::CmdDhhfamdcdpk),
            "CmdFPMMPGAOGCH" => Some(Self::CmdFpmmpgaogch),
            "CmdPlanetFesSyncChangeScNotify" => {
                Some(Self::CmdPlanetFesSyncChangeScNotify)
            }
            "CmdPlanetFesStartMiniGameScRsp" => {
                Some(Self::CmdPlanetFesStartMiniGameScRsp)
            }
            "CmdPlanetFesUseItemCsReq" => Some(Self::CmdPlanetFesUseItemCsReq),
            "CmdPlanetFesChooseAvatarEventOptionScRsp" => {
                Some(Self::CmdPlanetFesChooseAvatarEventOptionScRsp)
            }
            "CmdPlanetFesDeliverPamCargoScRsp" => {
                Some(Self::CmdPlanetFesDeliverPamCargoScRsp)
            }
            "CmdPlanetFesAvatarLevelUpScRsp" => {
                Some(Self::CmdPlanetFesAvatarLevelUpScRsp)
            }
            "CmdPlanetFesStartMiniGameCsReq" => {
                Some(Self::CmdPlanetFesStartMiniGameCsReq)
            }
            "CmdGetPlanetFesDataCsReq" => Some(Self::CmdGetPlanetFesDataCsReq),
            "CmdPlanetFesDealAvatarEventOptionItemScRsp" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemScRsp)
            }
            "CmdPlanetFesDealAvatarEventOptionItemCsReq" => {
                Some(Self::CmdPlanetFesDealAvatarEventOptionItemCsReq)
            }
            "CmdPlanetFesBonusEventInteractScRsp" => {
                Some(Self::CmdPlanetFesBonusEventInteractScRsp)
            }
            "CmdPlanetFesDoGachaCsReq" => Some(Self::CmdPlanetFesDoGachaCsReq),
            "CmdPlanetFesBusinessDayRefreshEventScRsp" => {
                Some(Self::CmdPlanetFesBusinessDayRefreshEventScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: CNLAEDCLICP
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesQuestState {
    CnlaedclicpMdpjcgemolg = 0,
    CnlaedclicpGbjihfoighd = 1,
    CnlaedclicpBilkpnljbfa = 2,
    CnlaedclicpCgiikahoikl = 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::CnlaedclicpMdpjcgemolg => "CNLAEDCLICP_MDPJCGEMOLG",
            Self::CnlaedclicpGbjihfoighd => "CNLAEDCLICP_GBJIHFOIGHD",
            Self::CnlaedclicpBilkpnljbfa => "CNLAEDCLICP_BILKPNLJBFA",
            Self::CnlaedclicpCgiikahoikl => "CNLAEDCLICP_CGIIKAHOIKL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CNLAEDCLICP_MDPJCGEMOLG" => Some(Self::CnlaedclicpMdpjcgemolg),
            "CNLAEDCLICP_GBJIHFOIGHD" => Some(Self::CnlaedclicpGbjihfoighd),
            "CNLAEDCLICP_BILKPNLJBFA" => Some(Self::CnlaedclicpBilkpnljbfa),
            "CNLAEDCLICP_CGIIKAHOIKL" => Some(Self::CnlaedclicpCgiikahoikl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gjjeoaneddo {
    Nlcdgipgfdj = 0,
    Ghdepagokbe = 1,
    Ggekfbgijid = 2,
}
impl Gjjeoaneddo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GJJEOANEDDO_NLCDGIPGFDJ",
            Self::Ghdepagokbe => "GJJEOANEDDO_GHDEPAGOKBE",
            Self::Ggekfbgijid => "GJJEOANEDDO_GGEKFBGIJID",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJJEOANEDDO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GJJEOANEDDO_GHDEPAGOKBE" => Some(Self::Ghdepagokbe),
            "GJJEOANEDDO_GGEKFBGIJID" => Some(Self::Ggekfbgijid),
            _ => None,
        }
    }
}
/// Obf: FEGJOAPIMCK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PlanetFesCustomKey {
    FegjoapimckNlcdgipgfdj = 0,
    FegjoapimckHhbcddhgfeo = 1,
    FegjoapimckDhhogpfpjgl = 2,
    FegjoapimckOangmedlobl = 3,
    FegjoapimckCfolblcapfb = 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::FegjoapimckNlcdgipgfdj => "FEGJOAPIMCK_NLCDGIPGFDJ",
            Self::FegjoapimckHhbcddhgfeo => "FEGJOAPIMCK_HHBCDDHGFEO",
            Self::FegjoapimckDhhogpfpjgl => "FEGJOAPIMCK_DHHOGPFPJGL",
            Self::FegjoapimckOangmedlobl => "FEGJOAPIMCK_OANGMEDLOBL",
            Self::FegjoapimckCfolblcapfb => "FEGJOAPIMCK_CFOLBLCAPFB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEGJOAPIMCK_NLCDGIPGFDJ" => Some(Self::FegjoapimckNlcdgipgfdj),
            "FEGJOAPIMCK_HHBCDDHGFEO" => Some(Self::FegjoapimckHhbcddhgfeo),
            "FEGJOAPIMCK_DHHOGPFPJGL" => Some(Self::FegjoapimckDhhogpfpjgl),
            "FEGJOAPIMCK_OANGMEDLOBL" => Some(Self::FegjoapimckOangmedlobl),
            "FEGJOAPIMCK_CFOLBLCAPFB" => Some(Self::FegjoapimckCfolblcapfb),
            _ => None,
        }
    }
}
/// Obf: FINKPKBICHJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlanetFesExtType {
    FinkpkbichjNlcdgipgfdj = 0,
    CmdPlanetFesGetOfferedCardPieceScRsp = 8310,
    CmdPlanetFesHandleCardPieceApplyCsReq = 8300,
    CmdPlanetFesGiveCardPieceScRsp = 8319,
    CmdAahpjecondn = 8304,
    CmdPlanetFesGetExtraCardPieceInfoScRsp = 8313,
    CmdPlanetFesGetFriendCardPieceCsReq = 8327,
    CmdJjibnoegflk = 8292,
    CmdPlanetFesLargeBonusInteractScRsp = 8296,
    CmdPlanetFesGiveCardPieceCsReq = 8307,
    CmdPlanetFesApplyCardPieceScRsp = 8297,
    CmdPlanetFesApplyCardPieceCsReq = 8293,
    CmdPlanetFesGetOfferedCardPieceCsReq = 8314,
    CmdPlanetFesChangeCardPieceApplyPermissionCsReq = 8309,
    CmdPlanetFesHandleCardPieceApplyScRsp = 8311,
    CmdPlanetFesChangeCardPieceApplyPermissionScRsp = 8338,
    CmdPlanetFesGetFriendCardPieceScRsp = 8334,
    CmdPlanetFesLargeBonusInteractCsReq = 8323,
    CmdPlanetFesGetExtraCardPieceInfoCsReq = 8299,
}
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::FinkpkbichjNlcdgipgfdj => "FINKPKBICHJ_NLCDGIPGFDJ",
            Self::CmdPlanetFesGetOfferedCardPieceScRsp => {
                "CmdPlanetFesGetOfferedCardPieceScRsp"
            }
            Self::CmdPlanetFesHandleCardPieceApplyCsReq => {
                "CmdPlanetFesHandleCardPieceApplyCsReq"
            }
            Self::CmdPlanetFesGiveCardPieceScRsp => "CmdPlanetFesGiveCardPieceScRsp",
            Self::CmdAahpjecondn => "CmdAAHPJECONDN",
            Self::CmdPlanetFesGetExtraCardPieceInfoScRsp => {
                "CmdPlanetFesGetExtraCardPieceInfoScRsp"
            }
            Self::CmdPlanetFesGetFriendCardPieceCsReq => {
                "CmdPlanetFesGetFriendCardPieceCsReq"
            }
            Self::CmdJjibnoegflk => "CmdJJIBNOEGFLK",
            Self::CmdPlanetFesLargeBonusInteractScRsp => {
                "CmdPlanetFesLargeBonusInteractScRsp"
            }
            Self::CmdPlanetFesGiveCardPieceCsReq => "CmdPlanetFesGiveCardPieceCsReq",
            Self::CmdPlanetFesApplyCardPieceScRsp => "CmdPlanetFesApplyCardPieceScRsp",
            Self::CmdPlanetFesApplyCardPieceCsReq => "CmdPlanetFesApplyCardPieceCsReq",
            Self::CmdPlanetFesGetOfferedCardPieceCsReq => {
                "CmdPlanetFesGetOfferedCardPieceCsReq"
            }
            Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq => {
                "CmdPlanetFesChangeCardPieceApplyPermissionCsReq"
            }
            Self::CmdPlanetFesHandleCardPieceApplyScRsp => {
                "CmdPlanetFesHandleCardPieceApplyScRsp"
            }
            Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp => {
                "CmdPlanetFesChangeCardPieceApplyPermissionScRsp"
            }
            Self::CmdPlanetFesGetFriendCardPieceScRsp => {
                "CmdPlanetFesGetFriendCardPieceScRsp"
            }
            Self::CmdPlanetFesLargeBonusInteractCsReq => {
                "CmdPlanetFesLargeBonusInteractCsReq"
            }
            Self::CmdPlanetFesGetExtraCardPieceInfoCsReq => {
                "CmdPlanetFesGetExtraCardPieceInfoCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FINKPKBICHJ_NLCDGIPGFDJ" => Some(Self::FinkpkbichjNlcdgipgfdj),
            "CmdPlanetFesGetOfferedCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceScRsp)
            }
            "CmdPlanetFesHandleCardPieceApplyCsReq" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyCsReq)
            }
            "CmdPlanetFesGiveCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGiveCardPieceScRsp)
            }
            "CmdAAHPJECONDN" => Some(Self::CmdAahpjecondn),
            "CmdPlanetFesGetExtraCardPieceInfoScRsp" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoScRsp)
            }
            "CmdPlanetFesGetFriendCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceCsReq)
            }
            "CmdJJIBNOEGFLK" => Some(Self::CmdJjibnoegflk),
            "CmdPlanetFesLargeBonusInteractScRsp" => {
                Some(Self::CmdPlanetFesLargeBonusInteractScRsp)
            }
            "CmdPlanetFesGiveCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGiveCardPieceCsReq)
            }
            "CmdPlanetFesApplyCardPieceScRsp" => {
                Some(Self::CmdPlanetFesApplyCardPieceScRsp)
            }
            "CmdPlanetFesApplyCardPieceCsReq" => {
                Some(Self::CmdPlanetFesApplyCardPieceCsReq)
            }
            "CmdPlanetFesGetOfferedCardPieceCsReq" => {
                Some(Self::CmdPlanetFesGetOfferedCardPieceCsReq)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionCsReq" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionCsReq)
            }
            "CmdPlanetFesHandleCardPieceApplyScRsp" => {
                Some(Self::CmdPlanetFesHandleCardPieceApplyScRsp)
            }
            "CmdPlanetFesChangeCardPieceApplyPermissionScRsp" => {
                Some(Self::CmdPlanetFesChangeCardPieceApplyPermissionScRsp)
            }
            "CmdPlanetFesGetFriendCardPieceScRsp" => {
                Some(Self::CmdPlanetFesGetFriendCardPieceScRsp)
            }
            "CmdPlanetFesLargeBonusInteractCsReq" => {
                Some(Self::CmdPlanetFesLargeBonusInteractCsReq)
            }
            "CmdPlanetFesGetExtraCardPieceInfoCsReq" => {
                Some(Self::CmdPlanetFesGetExtraCardPieceInfoCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nbhffadknei {
    Ddogjodjeoh = 0,
    Kbhekicihol = 1,
    Odhpkjjflkl = 2,
}
impl Nbhffadknei {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ddogjodjeoh => "NBHFFADKNEI_DDOGJODJEOH",
            Self::Kbhekicihol => "NBHFFADKNEI_KBHEKICIHOL",
            Self::Odhpkjjflkl => "NBHFFADKNEI_ODHPKJJFLKL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NBHFFADKNEI_DDOGJODJEOH" => Some(Self::Ddogjodjeoh),
            "NBHFFADKNEI_KBHEKICIHOL" => Some(Self::Kbhekicihol),
            "NBHFFADKNEI_ODHPKJJFLKL" => Some(Self::Odhpkjjflkl),
            _ => None,
        }
    }
}
/// Obf: KIDBFKJEJJD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerType {
    KidbfkjejjdNlcdgipgfdj = 0,
    CmdPlayerHeartBeatScRsp = 98,
    KidbfkjejjdOnnnlncmmgj = 58,
    CmdPlayerGetTokenCsReq = 88,
    CmdForceSyncGameStateFinishScRsp = 56,
    CmdUpdateFeatureSwitchScNotify = 52,
    CmdJkjmakhanpb = 47,
    CmdSetPlayerInfoScRsp = 44,
    CmdGetBasicInfoScRsp = 14,
    CmdSetRedPointStatusScNotify = 95,
    KidbfkjejjdAbakfmhmhpd = 67,
    CmdSetLanguageScRsp = 5,
    CmdClientDownloadDataScNotify = 53,
    CmdGetLevelRewardScRsp = 72,
    CmdGetLevelRewardCsReq = 42,
    CmdGetLevelRewardTakenListCsReq = 65,
    CmdGgihckpgacf = 76,
    CmdGetAuthkeyCsReq = 4,
    CmdGetBasicInfoCsReq = 20,
    CmdQueryProductInfoScRsp = 18,
    CmdPlayerGetTokenScRsp = 81,
    CmdGetSecretKeyInfoScRsp = 74,
    CmdExchangeStaminaCsReq = 38,
    CmdExchangeStaminaScRsp = 39,
    CmdMonthCardRewardNotify = 46,
    CmdReserveStaminaExchangeCsReq = 90,
    CmdPlayerLoginFinishCsReq = 57,
    CmdRegionStopScNotify = 36,
    CmdAntiAddictScNotify = 48,
    CmdPlayerLoginScRsp = 78,
    CmdIdaihhggpij = 59,
    CmdEnterStageScRsp = 71,
    CmdPlayerLoginCsReq = 25,
    CmdPlayerHeartBeatCsReq = 28,
    CmdSetGenderCsReq = 12,
    CmdPlayerLogoutCsReq = 93,
    CmdMhmfplekoil = 51,
    CmdSetNicknameScRsp = 69,
    CmdPlayerSqueezedScNotify = 26,
    CmdQueryProductInfoCsReq = 15,
    CmdSetGameplayBirthdayCsReq = 82,
    CmdSetLanguageCsReq = 21,
    CmdKekfnkdldom = 91,
    CmdGetVideoVersionKeyCsReq = 23,
    CmdUpdatePlayerSettingScRsp = 3,
    CmdFeatureSwitchClosedScNotify = 66,
    CmdServerAnnounceNotify = 41,
    CmdSetPlayerInfoCsReq = 75,
    CmdGetSecretKeyInfoCsReq = 6,
    CmdGateServerScNotify = 62,
    CmdFlmodpllmnf = 37,
    CmdClientObjUploadCsReq = 64,
    CmdUpdatePlayerSettingCsReq = 97,
    CmdEnterStageCsReq = 13,
    CmdGetVideoVersionKeyScRsp = 83,
    CmdForceSyncGameStateFinishCsReq = 54,
    CmdGetAuthkeyScRsp = 11,
    CmdReserveStaminaExchangeScRsp = 32,
    CmdStaminaInfoScNotify = 70,
    CmdSetGenderScRsp = 35,
    CmdSetGameplayBirthdayScRsp = 94,
    CmdClientObjUploadScRsp = 68,
    CmdIaochinipgk = 19,
    CmdClientObjDownloadDataScNotify = 1,
    CmdDailyRefreshNotify = 89,
    CmdGetLevelRewardTakenListScRsp = 30,
    CmdPlayerLoginFinishScRsp = 27,
    CmdSetNicknameCsReq = 45,
}
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::KidbfkjejjdNlcdgipgfdj => "KIDBFKJEJJD_NLCDGIPGFDJ",
            Self::CmdPlayerHeartBeatScRsp => "CmdPlayerHeartBeatScRsp",
            Self::KidbfkjejjdOnnnlncmmgj => "KIDBFKJEJJD_ONNNLNCMMGJ",
            Self::CmdPlayerGetTokenCsReq => "CmdPlayerGetTokenCsReq",
            Self::CmdForceSyncGameStateFinishScRsp => "CmdForceSyncGameStateFinishScRsp",
            Self::CmdUpdateFeatureSwitchScNotify => "CmdUpdateFeatureSwitchScNotify",
            Self::CmdJkjmakhanpb => "CmdJKJMAKHANPB",
            Self::CmdSetPlayerInfoScRsp => "CmdSetPlayerInfoScRsp",
            Self::CmdGetBasicInfoScRsp => "CmdGetBasicInfoScRsp",
            Self::CmdSetRedPointStatusScNotify => "CmdSetRedPointStatusScNotify",
            Self::KidbfkjejjdAbakfmhmhpd => "KIDBFKJEJJD_ABAKFMHMHPD",
            Self::CmdSetLanguageScRsp => "CmdSetLanguageScRsp",
            Self::CmdClientDownloadDataScNotify => "CmdClientDownloadDataScNotify",
            Self::CmdGetLevelRewardScRsp => "CmdGetLevelRewardScRsp",
            Self::CmdGetLevelRewardCsReq => "CmdGetLevelRewardCsReq",
            Self::CmdGetLevelRewardTakenListCsReq => "CmdGetLevelRewardTakenListCsReq",
            Self::CmdGgihckpgacf => "CmdGGIHCKPGACF",
            Self::CmdGetAuthkeyCsReq => "CmdGetAuthkeyCsReq",
            Self::CmdGetBasicInfoCsReq => "CmdGetBasicInfoCsReq",
            Self::CmdQueryProductInfoScRsp => "CmdQueryProductInfoScRsp",
            Self::CmdPlayerGetTokenScRsp => "CmdPlayerGetTokenScRsp",
            Self::CmdGetSecretKeyInfoScRsp => "CmdGetSecretKeyInfoScRsp",
            Self::CmdExchangeStaminaCsReq => "CmdExchangeStaminaCsReq",
            Self::CmdExchangeStaminaScRsp => "CmdExchangeStaminaScRsp",
            Self::CmdMonthCardRewardNotify => "CmdMonthCardRewardNotify",
            Self::CmdReserveStaminaExchangeCsReq => "CmdReserveStaminaExchangeCsReq",
            Self::CmdPlayerLoginFinishCsReq => "CmdPlayerLoginFinishCsReq",
            Self::CmdRegionStopScNotify => "CmdRegionStopScNotify",
            Self::CmdAntiAddictScNotify => "CmdAntiAddictScNotify",
            Self::CmdPlayerLoginScRsp => "CmdPlayerLoginScRsp",
            Self::CmdIdaihhggpij => "CmdIDAIHHGGPIJ",
            Self::CmdEnterStageScRsp => "CmdEnterStageScRsp",
            Self::CmdPlayerLoginCsReq => "CmdPlayerLoginCsReq",
            Self::CmdPlayerHeartBeatCsReq => "CmdPlayerHeartBeatCsReq",
            Self::CmdSetGenderCsReq => "CmdSetGenderCsReq",
            Self::CmdPlayerLogoutCsReq => "CmdPlayerLogoutCsReq",
            Self::CmdMhmfplekoil => "CmdMHMFPLEKOIL",
            Self::CmdSetNicknameScRsp => "CmdSetNicknameScRsp",
            Self::CmdPlayerSqueezedScNotify => "CmdPlayerSqueezedScNotify",
            Self::CmdQueryProductInfoCsReq => "CmdQueryProductInfoCsReq",
            Self::CmdSetGameplayBirthdayCsReq => "CmdSetGameplayBirthdayCsReq",
            Self::CmdSetLanguageCsReq => "CmdSetLanguageCsReq",
            Self::CmdKekfnkdldom => "CmdKEKFNKDLDOM",
            Self::CmdGetVideoVersionKeyCsReq => "CmdGetVideoVersionKeyCsReq",
            Self::CmdUpdatePlayerSettingScRsp => "CmdUpdatePlayerSettingScRsp",
            Self::CmdFeatureSwitchClosedScNotify => "CmdFeatureSwitchClosedScNotify",
            Self::CmdServerAnnounceNotify => "CmdServerAnnounceNotify",
            Self::CmdSetPlayerInfoCsReq => "CmdSetPlayerInfoCsReq",
            Self::CmdGetSecretKeyInfoCsReq => "CmdGetSecretKeyInfoCsReq",
            Self::CmdGateServerScNotify => "CmdGateServerScNotify",
            Self::CmdFlmodpllmnf => "CmdFLMODPLLMNF",
            Self::CmdClientObjUploadCsReq => "CmdClientObjUploadCsReq",
            Self::CmdUpdatePlayerSettingCsReq => "CmdUpdatePlayerSettingCsReq",
            Self::CmdEnterStageCsReq => "CmdEnterStageCsReq",
            Self::CmdGetVideoVersionKeyScRsp => "CmdGetVideoVersionKeyScRsp",
            Self::CmdForceSyncGameStateFinishCsReq => "CmdForceSyncGameStateFinishCSReq",
            Self::CmdGetAuthkeyScRsp => "CmdGetAuthkeyScRsp",
            Self::CmdReserveStaminaExchangeScRsp => "CmdReserveStaminaExchangeScRsp",
            Self::CmdStaminaInfoScNotify => "CmdStaminaInfoScNotify",
            Self::CmdSetGenderScRsp => "CmdSetGenderScRsp",
            Self::CmdSetGameplayBirthdayScRsp => "CmdSetGameplayBirthdayScRsp",
            Self::CmdClientObjUploadScRsp => "CmdClientObjUploadScRsp",
            Self::CmdIaochinipgk => "CmdIAOCHINIPGK",
            Self::CmdClientObjDownloadDataScNotify => "CmdClientObjDownloadDataScNotify",
            Self::CmdDailyRefreshNotify => "CmdDailyRefreshNotify",
            Self::CmdGetLevelRewardTakenListScRsp => "CmdGetLevelRewardTakenListScRsp",
            Self::CmdPlayerLoginFinishScRsp => "CmdPlayerLoginFinishScRsp",
            Self::CmdSetNicknameCsReq => "CmdSetNicknameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KIDBFKJEJJD_NLCDGIPGFDJ" => Some(Self::KidbfkjejjdNlcdgipgfdj),
            "CmdPlayerHeartBeatScRsp" => Some(Self::CmdPlayerHeartBeatScRsp),
            "KIDBFKJEJJD_ONNNLNCMMGJ" => Some(Self::KidbfkjejjdOnnnlncmmgj),
            "CmdPlayerGetTokenCsReq" => Some(Self::CmdPlayerGetTokenCsReq),
            "CmdForceSyncGameStateFinishScRsp" => {
                Some(Self::CmdForceSyncGameStateFinishScRsp)
            }
            "CmdUpdateFeatureSwitchScNotify" => {
                Some(Self::CmdUpdateFeatureSwitchScNotify)
            }
            "CmdJKJMAKHANPB" => Some(Self::CmdJkjmakhanpb),
            "CmdSetPlayerInfoScRsp" => Some(Self::CmdSetPlayerInfoScRsp),
            "CmdGetBasicInfoScRsp" => Some(Self::CmdGetBasicInfoScRsp),
            "CmdSetRedPointStatusScNotify" => Some(Self::CmdSetRedPointStatusScNotify),
            "KIDBFKJEJJD_ABAKFMHMHPD" => Some(Self::KidbfkjejjdAbakfmhmhpd),
            "CmdSetLanguageScRsp" => Some(Self::CmdSetLanguageScRsp),
            "CmdClientDownloadDataScNotify" => Some(Self::CmdClientDownloadDataScNotify),
            "CmdGetLevelRewardScRsp" => Some(Self::CmdGetLevelRewardScRsp),
            "CmdGetLevelRewardCsReq" => Some(Self::CmdGetLevelRewardCsReq),
            "CmdGetLevelRewardTakenListCsReq" => {
                Some(Self::CmdGetLevelRewardTakenListCsReq)
            }
            "CmdGGIHCKPGACF" => Some(Self::CmdGgihckpgacf),
            "CmdGetAuthkeyCsReq" => Some(Self::CmdGetAuthkeyCsReq),
            "CmdGetBasicInfoCsReq" => Some(Self::CmdGetBasicInfoCsReq),
            "CmdQueryProductInfoScRsp" => Some(Self::CmdQueryProductInfoScRsp),
            "CmdPlayerGetTokenScRsp" => Some(Self::CmdPlayerGetTokenScRsp),
            "CmdGetSecretKeyInfoScRsp" => Some(Self::CmdGetSecretKeyInfoScRsp),
            "CmdExchangeStaminaCsReq" => Some(Self::CmdExchangeStaminaCsReq),
            "CmdExchangeStaminaScRsp" => Some(Self::CmdExchangeStaminaScRsp),
            "CmdMonthCardRewardNotify" => Some(Self::CmdMonthCardRewardNotify),
            "CmdReserveStaminaExchangeCsReq" => {
                Some(Self::CmdReserveStaminaExchangeCsReq)
            }
            "CmdPlayerLoginFinishCsReq" => Some(Self::CmdPlayerLoginFinishCsReq),
            "CmdRegionStopScNotify" => Some(Self::CmdRegionStopScNotify),
            "CmdAntiAddictScNotify" => Some(Self::CmdAntiAddictScNotify),
            "CmdPlayerLoginScRsp" => Some(Self::CmdPlayerLoginScRsp),
            "CmdIDAIHHGGPIJ" => Some(Self::CmdIdaihhggpij),
            "CmdEnterStageScRsp" => Some(Self::CmdEnterStageScRsp),
            "CmdPlayerLoginCsReq" => Some(Self::CmdPlayerLoginCsReq),
            "CmdPlayerHeartBeatCsReq" => Some(Self::CmdPlayerHeartBeatCsReq),
            "CmdSetGenderCsReq" => Some(Self::CmdSetGenderCsReq),
            "CmdPlayerLogoutCsReq" => Some(Self::CmdPlayerLogoutCsReq),
            "CmdMHMFPLEKOIL" => Some(Self::CmdMhmfplekoil),
            "CmdSetNicknameScRsp" => Some(Self::CmdSetNicknameScRsp),
            "CmdPlayerSqueezedScNotify" => Some(Self::CmdPlayerSqueezedScNotify),
            "CmdQueryProductInfoCsReq" => Some(Self::CmdQueryProductInfoCsReq),
            "CmdSetGameplayBirthdayCsReq" => Some(Self::CmdSetGameplayBirthdayCsReq),
            "CmdSetLanguageCsReq" => Some(Self::CmdSetLanguageCsReq),
            "CmdKEKFNKDLDOM" => Some(Self::CmdKekfnkdldom),
            "CmdGetVideoVersionKeyCsReq" => Some(Self::CmdGetVideoVersionKeyCsReq),
            "CmdUpdatePlayerSettingScRsp" => Some(Self::CmdUpdatePlayerSettingScRsp),
            "CmdFeatureSwitchClosedScNotify" => {
                Some(Self::CmdFeatureSwitchClosedScNotify)
            }
            "CmdServerAnnounceNotify" => Some(Self::CmdServerAnnounceNotify),
            "CmdSetPlayerInfoCsReq" => Some(Self::CmdSetPlayerInfoCsReq),
            "CmdGetSecretKeyInfoCsReq" => Some(Self::CmdGetSecretKeyInfoCsReq),
            "CmdGateServerScNotify" => Some(Self::CmdGateServerScNotify),
            "CmdFLMODPLLMNF" => Some(Self::CmdFlmodpllmnf),
            "CmdClientObjUploadCsReq" => Some(Self::CmdClientObjUploadCsReq),
            "CmdUpdatePlayerSettingCsReq" => Some(Self::CmdUpdatePlayerSettingCsReq),
            "CmdEnterStageCsReq" => Some(Self::CmdEnterStageCsReq),
            "CmdGetVideoVersionKeyScRsp" => Some(Self::CmdGetVideoVersionKeyScRsp),
            "CmdForceSyncGameStateFinishCSReq" => {
                Some(Self::CmdForceSyncGameStateFinishCsReq)
            }
            "CmdGetAuthkeyScRsp" => Some(Self::CmdGetAuthkeyScRsp),
            "CmdReserveStaminaExchangeScRsp" => {
                Some(Self::CmdReserveStaminaExchangeScRsp)
            }
            "CmdStaminaInfoScNotify" => Some(Self::CmdStaminaInfoScNotify),
            "CmdSetGenderScRsp" => Some(Self::CmdSetGenderScRsp),
            "CmdSetGameplayBirthdayScRsp" => Some(Self::CmdSetGameplayBirthdayScRsp),
            "CmdClientObjUploadScRsp" => Some(Self::CmdClientObjUploadScRsp),
            "CmdIAOCHINIPGK" => Some(Self::CmdIaochinipgk),
            "CmdClientObjDownloadDataScNotify" => {
                Some(Self::CmdClientObjDownloadDataScNotify)
            }
            "CmdDailyRefreshNotify" => Some(Self::CmdDailyRefreshNotify),
            "CmdGetLevelRewardTakenListScRsp" => {
                Some(Self::CmdGetLevelRewardTakenListScRsp)
            }
            "CmdPlayerLoginFinishScRsp" => Some(Self::CmdPlayerLoginFinishScRsp),
            "CmdSetNicknameCsReq" => Some(Self::CmdSetNicknameCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cmpnmgfgdlj {
    Nlcdgipgfdj = 0,
    Hglifjghade = 1,
    Jfndmbpokpe = 2,
}
impl Cmpnmgfgdlj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "CMPNMGFGDLJ_NLCDGIPGFDJ",
            Self::Hglifjghade => "CMPNMGFGDLJ_HGLIFJGHADE",
            Self::Jfndmbpokpe => "CMPNMGFGDLJ_JFNDMBPOKPE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CMPNMGFGDLJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "CMPNMGFGDLJ_HGLIFJGHADE" => Some(Self::Hglifjghade),
            "CMPNMGFGDLJ_JFNDMBPOKPE" => Some(Self::Jfndmbpokpe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Geoockillef {
    Dajiegljfak = 0,
    Aiannaingkk = 1,
    Bgodpdmeehd = 2,
    Cknbodhnoak = 3,
    Ddljicialfa = 4,
    Mknlifhbnnh = 5,
    Fpcchgcpelo = 6,
    Fmmgpfplaji = 7,
    Fagnghedeip = 9,
    Lahlppedggo = 10,
}
impl Geoockillef {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dajiegljfak => "GEOOCKILLEF_DAJIEGLJFAK",
            Self::Aiannaingkk => "GEOOCKILLEF_AIANNAINGKK",
            Self::Bgodpdmeehd => "GEOOCKILLEF_BGODPDMEEHD",
            Self::Cknbodhnoak => "GEOOCKILLEF_CKNBODHNOAK",
            Self::Ddljicialfa => "GEOOCKILLEF_DDLJICIALFA",
            Self::Mknlifhbnnh => "GEOOCKILLEF_MKNLIFHBNNH",
            Self::Fpcchgcpelo => "GEOOCKILLEF_FPCCHGCPELO",
            Self::Fmmgpfplaji => "GEOOCKILLEF_FMMGPFPLAJI",
            Self::Fagnghedeip => "GEOOCKILLEF_FAGNGHEDEIP",
            Self::Lahlppedggo => "GEOOCKILLEF_LAHLPPEDGGO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GEOOCKILLEF_DAJIEGLJFAK" => Some(Self::Dajiegljfak),
            "GEOOCKILLEF_AIANNAINGKK" => Some(Self::Aiannaingkk),
            "GEOOCKILLEF_BGODPDMEEHD" => Some(Self::Bgodpdmeehd),
            "GEOOCKILLEF_CKNBODHNOAK" => Some(Self::Cknbodhnoak),
            "GEOOCKILLEF_DDLJICIALFA" => Some(Self::Ddljicialfa),
            "GEOOCKILLEF_MKNLIFHBNNH" => Some(Self::Mknlifhbnnh),
            "GEOOCKILLEF_FPCCHGCPELO" => Some(Self::Fpcchgcpelo),
            "GEOOCKILLEF_FMMGPFPLAJI" => Some(Self::Fmmgpfplaji),
            "GEOOCKILLEF_FAGNGHEDEIP" => Some(Self::Fagnghedeip),
            "GEOOCKILLEF_LAHLPPEDGGO" => Some(Self::Lahlppedggo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Algmickcabi {
    Flankpmjbmh = 0,
    Lmhjfbbdlnh = 1,
}
impl Algmickcabi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Flankpmjbmh => "ALGMICKCABI_FLANKPMJBMH",
            Self::Lmhjfbbdlnh => "ALGMICKCABI_LMHJFBBDLNH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALGMICKCABI_FLANKPMJBMH" => Some(Self::Flankpmjbmh),
            "ALGMICKCABI_LMHJFBBDLNH" => Some(Self::Lmhjfbbdlnh),
            _ => None,
        }
    }
}
/// Obf: BBNLGADEMFF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerBoardType {
    BbnlgademffNlcdgipgfdj = 0,
    CmdSetSignatureCsReq = 2813,
    CmdSetIsDisplayAvatarInfoCsReq = 2886,
    CmdSetHeadIconCsReq = 2893,
    BbnlgademffOjkcpgjlcdi = 2826,
    CmdSetPersonalCardCsReq = 2838,
    CmdSetPersonalCardScRsp = 2839,
    CmdSetDisplayAvatarCsReq = 2888,
    CmdSetAssistAvatarScRsp = 2833,
    CmdSetHeadIconScRsp = 2858,
    CmdSetSignatureScRsp = 2871,
    CmdSetDisplayAvatarScRsp = 2881,
    CmdGetPlayerBoardDataCsReq = 2825,
    CmdSetAssistAvatarCsReq = 2840,
    CmdGetPlayerBoardDataScRsp = 2878,
    CmdSetIsDisplayAvatarInfoScRsp = 2847,
}
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::BbnlgademffNlcdgipgfdj => "BBNLGADEMFF_NLCDGIPGFDJ",
            Self::CmdSetSignatureCsReq => "CmdSetSignatureCsReq",
            Self::CmdSetIsDisplayAvatarInfoCsReq => "CmdSetIsDisplayAvatarInfoCsReq",
            Self::CmdSetHeadIconCsReq => "CmdSetHeadIconCsReq",
            Self::BbnlgademffOjkcpgjlcdi => "BBNLGADEMFF_OJKCPGJLCDI",
            Self::CmdSetPersonalCardCsReq => "CmdSetPersonalCardCsReq",
            Self::CmdSetPersonalCardScRsp => "CmdSetPersonalCardScRsp",
            Self::CmdSetDisplayAvatarCsReq => "CmdSetDisplayAvatarCsReq",
            Self::CmdSetAssistAvatarScRsp => "CmdSetAssistAvatarScRsp",
            Self::CmdSetHeadIconScRsp => "CmdSetHeadIconScRsp",
            Self::CmdSetSignatureScRsp => "CmdSetSignatureScRsp",
            Self::CmdSetDisplayAvatarScRsp => "CmdSetDisplayAvatarScRsp",
            Self::CmdGetPlayerBoardDataCsReq => "CmdGetPlayerBoardDataCsReq",
            Self::CmdSetAssistAvatarCsReq => "CmdSetAssistAvatarCsReq",
            Self::CmdGetPlayerBoardDataScRsp => "CmdGetPlayerBoardDataScRsp",
            Self::CmdSetIsDisplayAvatarInfoScRsp => "CmdSetIsDisplayAvatarInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BBNLGADEMFF_NLCDGIPGFDJ" => Some(Self::BbnlgademffNlcdgipgfdj),
            "CmdSetSignatureCsReq" => Some(Self::CmdSetSignatureCsReq),
            "CmdSetIsDisplayAvatarInfoCsReq" => {
                Some(Self::CmdSetIsDisplayAvatarInfoCsReq)
            }
            "CmdSetHeadIconCsReq" => Some(Self::CmdSetHeadIconCsReq),
            "BBNLGADEMFF_OJKCPGJLCDI" => Some(Self::BbnlgademffOjkcpgjlcdi),
            "CmdSetPersonalCardCsReq" => Some(Self::CmdSetPersonalCardCsReq),
            "CmdSetPersonalCardScRsp" => Some(Self::CmdSetPersonalCardScRsp),
            "CmdSetDisplayAvatarCsReq" => Some(Self::CmdSetDisplayAvatarCsReq),
            "CmdSetAssistAvatarScRsp" => Some(Self::CmdSetAssistAvatarScRsp),
            "CmdSetHeadIconScRsp" => Some(Self::CmdSetHeadIconScRsp),
            "CmdSetSignatureScRsp" => Some(Self::CmdSetSignatureScRsp),
            "CmdSetDisplayAvatarScRsp" => Some(Self::CmdSetDisplayAvatarScRsp),
            "CmdGetPlayerBoardDataCsReq" => Some(Self::CmdGetPlayerBoardDataCsReq),
            "CmdSetAssistAvatarCsReq" => Some(Self::CmdSetAssistAvatarCsReq),
            "CmdGetPlayerBoardDataScRsp" => Some(Self::CmdGetPlayerBoardDataScRsp),
            "CmdSetIsDisplayAvatarInfoScRsp" => {
                Some(Self::CmdSetIsDisplayAvatarInfoScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: JGDHIFOCFMM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerReturnType {
    JgdhifocfmmNlcdgipgfdj = 0,
    CmdPlayerReturnExtraHcoinProgressScNotify = 4569,
    CmdCeinlellflf = 4565,
    CmdFeihgoepani = 4525,
    CmdPlayerReturnInfoQueryCsReq = 4526,
    CmdPlayerReturnTakeCustomRelicCsReq = 4539,
    CmdPlayerReturnForceFinishScNotify = 4571,
    CmdPlayerReturnTakeExtraHcoinScNotify = 4538,
    CmdPlayerReturnInfoQueryScRsp = 4513,
    CmdTakeReturnExtraHcoinRewardScRsp = 4545,
    CmdTakeReturnExtraHcoinRewardCsReq = 4548,
    CmdPlayerReturnSignCsReq = 4578,
    CmdKffeedheooh = 4530,
    CmdPlayerReturnTakePointRewardScRsp = 4581,
    CmdPlayerReturnPointChangeScNotify = 4558,
    CmdPlayerReturnTakeRelicScRsp = 4533,
    CmdPlayerReturnSignScRsp = 4593,
    CmdPlayerReturnTakeRelicCsReq = 4540,
    CmdPlayerReturnTakeCustomRelicScRsp = 4504,
    CmdPlayerReturnTakePointRewardCsReq = 4588,
    CmdPlayerReturnTakeRewardScRsp = 4547,
    CmdPlayerReturnTakeRewardCsReq = 4586,
}
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::JgdhifocfmmNlcdgipgfdj => "JGDHIFOCFMM_NLCDGIPGFDJ",
            Self::CmdPlayerReturnExtraHcoinProgressScNotify => {
                "CmdPlayerReturnExtraHcoinProgressScNotify"
            }
            Self::CmdCeinlellflf => "CmdCEINLELLFLF",
            Self::CmdFeihgoepani => "CmdFEIHGOEPANI",
            Self::CmdPlayerReturnInfoQueryCsReq => "CmdPlayerReturnInfoQueryCsReq",
            Self::CmdPlayerReturnTakeCustomRelicCsReq => {
                "CmdPlayerReturnTakeCustomRelicCsReq"
            }
            Self::CmdPlayerReturnForceFinishScNotify => {
                "CmdPlayerReturnForceFinishScNotify"
            }
            Self::CmdPlayerReturnTakeExtraHcoinScNotify => {
                "CmdPlayerReturnTakeExtraHcoinScNotify"
            }
            Self::CmdPlayerReturnInfoQueryScRsp => "CmdPlayerReturnInfoQueryScRsp",
            Self::CmdTakeReturnExtraHcoinRewardScRsp => {
                "CmdTakeReturnExtraHcoinRewardScRsp"
            }
            Self::CmdTakeReturnExtraHcoinRewardCsReq => {
                "CmdTakeReturnExtraHcoinRewardCsReq"
            }
            Self::CmdPlayerReturnSignCsReq => "CmdPlayerReturnSignCsReq",
            Self::CmdKffeedheooh => "CmdKFFEEDHEOOH",
            Self::CmdPlayerReturnTakePointRewardScRsp => {
                "CmdPlayerReturnTakePointRewardScRsp"
            }
            Self::CmdPlayerReturnPointChangeScNotify => {
                "CmdPlayerReturnPointChangeScNotify"
            }
            Self::CmdPlayerReturnTakeRelicScRsp => "CmdPlayerReturnTakeRelicScRsp",
            Self::CmdPlayerReturnSignScRsp => "CmdPlayerReturnSignScRsp",
            Self::CmdPlayerReturnTakeRelicCsReq => "CmdPlayerReturnTakeRelicCsReq",
            Self::CmdPlayerReturnTakeCustomRelicScRsp => {
                "CmdPlayerReturnTakeCustomRelicScRsp"
            }
            Self::CmdPlayerReturnTakePointRewardCsReq => {
                "CmdPlayerReturnTakePointRewardCsReq"
            }
            Self::CmdPlayerReturnTakeRewardScRsp => "CmdPlayerReturnTakeRewardScRsp",
            Self::CmdPlayerReturnTakeRewardCsReq => "CmdPlayerReturnTakeRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JGDHIFOCFMM_NLCDGIPGFDJ" => Some(Self::JgdhifocfmmNlcdgipgfdj),
            "CmdPlayerReturnExtraHcoinProgressScNotify" => {
                Some(Self::CmdPlayerReturnExtraHcoinProgressScNotify)
            }
            "CmdCEINLELLFLF" => Some(Self::CmdCeinlellflf),
            "CmdFEIHGOEPANI" => Some(Self::CmdFeihgoepani),
            "CmdPlayerReturnInfoQueryCsReq" => Some(Self::CmdPlayerReturnInfoQueryCsReq),
            "CmdPlayerReturnTakeCustomRelicCsReq" => {
                Some(Self::CmdPlayerReturnTakeCustomRelicCsReq)
            }
            "CmdPlayerReturnForceFinishScNotify" => {
                Some(Self::CmdPlayerReturnForceFinishScNotify)
            }
            "CmdPlayerReturnTakeExtraHcoinScNotify" => {
                Some(Self::CmdPlayerReturnTakeExtraHcoinScNotify)
            }
            "CmdPlayerReturnInfoQueryScRsp" => Some(Self::CmdPlayerReturnInfoQueryScRsp),
            "CmdTakeReturnExtraHcoinRewardScRsp" => {
                Some(Self::CmdTakeReturnExtraHcoinRewardScRsp)
            }
            "CmdTakeReturnExtraHcoinRewardCsReq" => {
                Some(Self::CmdTakeReturnExtraHcoinRewardCsReq)
            }
            "CmdPlayerReturnSignCsReq" => Some(Self::CmdPlayerReturnSignCsReq),
            "CmdKFFEEDHEOOH" => Some(Self::CmdKffeedheooh),
            "CmdPlayerReturnTakePointRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakePointRewardScRsp)
            }
            "CmdPlayerReturnPointChangeScNotify" => {
                Some(Self::CmdPlayerReturnPointChangeScNotify)
            }
            "CmdPlayerReturnTakeRelicScRsp" => Some(Self::CmdPlayerReturnTakeRelicScRsp),
            "CmdPlayerReturnSignScRsp" => Some(Self::CmdPlayerReturnSignScRsp),
            "CmdPlayerReturnTakeRelicCsReq" => Some(Self::CmdPlayerReturnTakeRelicCsReq),
            "CmdPlayerReturnTakeCustomRelicScRsp" => {
                Some(Self::CmdPlayerReturnTakeCustomRelicScRsp)
            }
            "CmdPlayerReturnTakePointRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakePointRewardCsReq)
            }
            "CmdPlayerReturnTakeRewardScRsp" => {
                Some(Self::CmdPlayerReturnTakeRewardScRsp)
            }
            "CmdPlayerReturnTakeRewardCsReq" => {
                Some(Self::CmdPlayerReturnTakeRewardCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pjimobkfdnp {
    Opiimbhecnj = 0,
    Fikagkikfij = 1,
    Ndbnmmjcaic = 2,
}
impl Pjimobkfdnp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Opiimbhecnj => "PJIMOBKFDNP_OPIIMBHECNJ",
            Self::Fikagkikfij => "PJIMOBKFDNP_FIKAGKIKFIJ",
            Self::Ndbnmmjcaic => "PJIMOBKFDNP_NDBNMMJCAIC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PJIMOBKFDNP_OPIIMBHECNJ" => Some(Self::Opiimbhecnj),
            "PJIMOBKFDNP_FIKAGKIKFIJ" => Some(Self::Fikagkikfij),
            "PJIMOBKFDNP_NDBNMMJCAIC" => Some(Self::Ndbnmmjcaic),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mmlapdebfjm {
    Nlcdgipgfdj = 0,
    Reward = 1,
    Ieikapndpci = 2,
}
impl Mmlapdebfjm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MMLAPDEBFJM_NLCDGIPGFDJ",
            Self::Reward => "MMLAPDEBFJM_reward",
            Self::Ieikapndpci => "MMLAPDEBFJM_IEIKAPNDPCI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MMLAPDEBFJM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MMLAPDEBFJM_reward" => Some(Self::Reward),
            "MMLAPDEBFJM_IEIKAPNDPCI" => Some(Self::Ieikapndpci),
            _ => None,
        }
    }
}
/// Obf: MENMKJOIJBE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlotType {
    MenmkjoijbeNlcdgipgfdj = 0,
    CmdOnnidpkmopb = 1178,
    CmdHpofmgoohan = 1125,
}
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::MenmkjoijbeNlcdgipgfdj => "MENMKJOIJBE_NLCDGIPGFDJ",
            Self::CmdOnnidpkmopb => "CmdONNIDPKMOPB",
            Self::CmdHpofmgoohan => "CmdHPOFMGOOHAN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MENMKJOIJBE_NLCDGIPGFDJ" => Some(Self::MenmkjoijbeNlcdgipgfdj),
            "CmdONNIDPKMOPB" => Some(Self::CmdOnnidpkmopb),
            "CmdHPOFMGOOHAN" => Some(Self::CmdHpofmgoohan),
            _ => None,
        }
    }
}
/// Obf: JICHKOBOBNA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPunkLordType {
    JichkobobnaNlcdgipgfdj = 0,
    CmdPunkLordMonsterKilledNotify = 3221,
    CmdPunkLordBattleResultScNotify = 3230,
    CmdTakeKilledPunkLordMonsterScoreCsReq = 3205,
    CmdPunkLordDataChangeNotify = 3210,
    CmdStartPunkLordRaidScRsp = 3258,
    CmdSummonPunkLordMonsterScRsp = 3247,
    CmdGetPunkLordMonsterDataScRsp = 3278,
    CmdTakePunkLordPointRewardScRsp = 3238,
    CmdGetKilledPunkLordMonsterDataCsReq = 3242,
    CmdSharePunkLordMonsterCsReq = 3288,
    CmdGetPunkLordBattleRecordScRsp = 3229,
    CmdGetPunkLordMonsterDataCsReq = 3225,
    CmdGetKilledPunkLordMonsterDataScRsp = 3272,
    CmdSharePunkLordMonsterScRsp = 3281,
    CmdGetPunkLordDataScRsp = 3211,
    CmdGetPunkLordBattleRecordCsReq = 3243,
    CmdPunkLordMonsterInfoScNotify = 3239,
    CmdSummonPunkLordMonsterCsReq = 3286,
    CmdStartPunkLordRaidCsReq = 3293,
    CmdTakeKilledPunkLordMonsterScoreScRsp = 3241,
    CmdTakePunkLordPointRewardCsReq = 3233,
    CmdGetPunkLordDataCsReq = 3204,
    CmdPunkLordRaidTimeOutScNotify = 3248,
}
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::JichkobobnaNlcdgipgfdj => "JICHKOBOBNA_NLCDGIPGFDJ",
            Self::CmdPunkLordMonsterKilledNotify => "CmdPunkLordMonsterKilledNotify",
            Self::CmdPunkLordBattleResultScNotify => "CmdPunkLordBattleResultScNotify",
            Self::CmdTakeKilledPunkLordMonsterScoreCsReq => {
                "CmdTakeKilledPunkLordMonsterScoreCsReq"
            }
            Self::CmdPunkLordDataChangeNotify => "CmdPunkLordDataChangeNotify",
            Self::CmdStartPunkLordRaidScRsp => "CmdStartPunkLordRaidScRsp",
            Self::CmdSummonPunkLordMonsterScRsp => "CmdSummonPunkLordMonsterScRsp",
            Self::CmdGetPunkLordMonsterDataScRsp => "CmdGetPunkLordMonsterDataScRsp",
            Self::CmdTakePunkLordPointRewardScRsp => "CmdTakePunkLordPointRewardScRsp",
            Self::CmdGetKilledPunkLordMonsterDataCsReq => {
                "CmdGetKilledPunkLordMonsterDataCsReq"
            }
            Self::CmdSharePunkLordMonsterCsReq => "CmdSharePunkLordMonsterCsReq",
            Self::CmdGetPunkLordBattleRecordScRsp => "CmdGetPunkLordBattleRecordScRsp",
            Self::CmdGetPunkLordMonsterDataCsReq => "CmdGetPunkLordMonsterDataCsReq",
            Self::CmdGetKilledPunkLordMonsterDataScRsp => {
                "CmdGetKilledPunkLordMonsterDataScRsp"
            }
            Self::CmdSharePunkLordMonsterScRsp => "CmdSharePunkLordMonsterScRsp",
            Self::CmdGetPunkLordDataScRsp => "CmdGetPunkLordDataScRsp",
            Self::CmdGetPunkLordBattleRecordCsReq => "CmdGetPunkLordBattleRecordCsReq",
            Self::CmdPunkLordMonsterInfoScNotify => "CmdPunkLordMonsterInfoScNotify",
            Self::CmdSummonPunkLordMonsterCsReq => "CmdSummonPunkLordMonsterCsReq",
            Self::CmdStartPunkLordRaidCsReq => "CmdStartPunkLordRaidCsReq",
            Self::CmdTakeKilledPunkLordMonsterScoreScRsp => {
                "CmdTakeKilledPunkLordMonsterScoreScRsp"
            }
            Self::CmdTakePunkLordPointRewardCsReq => "CmdTakePunkLordPointRewardCsReq",
            Self::CmdGetPunkLordDataCsReq => "CmdGetPunkLordDataCsReq",
            Self::CmdPunkLordRaidTimeOutScNotify => "CmdPunkLordRaidTimeOutScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JICHKOBOBNA_NLCDGIPGFDJ" => Some(Self::JichkobobnaNlcdgipgfdj),
            "CmdPunkLordMonsterKilledNotify" => {
                Some(Self::CmdPunkLordMonsterKilledNotify)
            }
            "CmdPunkLordBattleResultScNotify" => {
                Some(Self::CmdPunkLordBattleResultScNotify)
            }
            "CmdTakeKilledPunkLordMonsterScoreCsReq" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreCsReq)
            }
            "CmdPunkLordDataChangeNotify" => Some(Self::CmdPunkLordDataChangeNotify),
            "CmdStartPunkLordRaidScRsp" => Some(Self::CmdStartPunkLordRaidScRsp),
            "CmdSummonPunkLordMonsterScRsp" => Some(Self::CmdSummonPunkLordMonsterScRsp),
            "CmdGetPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetPunkLordMonsterDataScRsp)
            }
            "CmdTakePunkLordPointRewardScRsp" => {
                Some(Self::CmdTakePunkLordPointRewardScRsp)
            }
            "CmdGetKilledPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataCsReq)
            }
            "CmdSharePunkLordMonsterCsReq" => Some(Self::CmdSharePunkLordMonsterCsReq),
            "CmdGetPunkLordBattleRecordScRsp" => {
                Some(Self::CmdGetPunkLordBattleRecordScRsp)
            }
            "CmdGetPunkLordMonsterDataCsReq" => {
                Some(Self::CmdGetPunkLordMonsterDataCsReq)
            }
            "CmdGetKilledPunkLordMonsterDataScRsp" => {
                Some(Self::CmdGetKilledPunkLordMonsterDataScRsp)
            }
            "CmdSharePunkLordMonsterScRsp" => Some(Self::CmdSharePunkLordMonsterScRsp),
            "CmdGetPunkLordDataScRsp" => Some(Self::CmdGetPunkLordDataScRsp),
            "CmdGetPunkLordBattleRecordCsReq" => {
                Some(Self::CmdGetPunkLordBattleRecordCsReq)
            }
            "CmdPunkLordMonsterInfoScNotify" => {
                Some(Self::CmdPunkLordMonsterInfoScNotify)
            }
            "CmdSummonPunkLordMonsterCsReq" => Some(Self::CmdSummonPunkLordMonsterCsReq),
            "CmdStartPunkLordRaidCsReq" => Some(Self::CmdStartPunkLordRaidCsReq),
            "CmdTakeKilledPunkLordMonsterScoreScRsp" => {
                Some(Self::CmdTakeKilledPunkLordMonsterScoreScRsp)
            }
            "CmdTakePunkLordPointRewardCsReq" => {
                Some(Self::CmdTakePunkLordPointRewardCsReq)
            }
            "CmdGetPunkLordDataCsReq" => Some(Self::CmdGetPunkLordDataCsReq),
            "CmdPunkLordRaidTimeOutScNotify" => {
                Some(Self::CmdPunkLordRaidTimeOutScNotify)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Okjkpoegbck {
    Nlcdgipgfdj = 0,
    Ljbcdjnnbjh = 1,
    Pdbdefeoaia = 2,
    Oioodgopihk = 3,
    Mfkmjikdhng = 4,
}
impl Okjkpoegbck {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "OKJKPOEGBCK_NLCDGIPGFDJ",
            Self::Ljbcdjnnbjh => "OKJKPOEGBCK_LJBCDJNNBJH",
            Self::Pdbdefeoaia => "OKJKPOEGBCK_PDBDEFEOAIA",
            Self::Oioodgopihk => "OKJKPOEGBCK_OIOODGOPIHK",
            Self::Mfkmjikdhng => "OKJKPOEGBCK_MFKMJIKDHNG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OKJKPOEGBCK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "OKJKPOEGBCK_LJBCDJNNBJH" => Some(Self::Ljbcdjnnbjh),
            "OKJKPOEGBCK_PDBDEFEOAIA" => Some(Self::Pdbdefeoaia),
            "OKJKPOEGBCK_OIOODGOPIHK" => Some(Self::Oioodgopihk),
            "OKJKPOEGBCK_MFKMJIKDHNG" => Some(Self::Mfkmjikdhng),
            _ => None,
        }
    }
}
/// Obf: HNJJNHPFBGO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdQuestType {
    HnjjnhpfbgoNlcdgipgfdj = 0,
    CmdTakeQuestOptionalRewardScRsp = 933,
    CmdTakeQuestRewardScRsp = 958,
    CmdTakeQuestOptionalRewardCsReq = 940,
    CmdGetQuestRecordScRsp = 947,
    CmdFinishQuestCsReq = 913,
    HnjjnhpfbgoOjkcekkdlel = 939,
    CmdBatchGetQuestDataScRsp = 904,
    CmdGetQuestRecordCsReq = 986,
    CmdTakeQuestRewardCsReq = 993,
    CmdGetQuestDataCsReq = 925,
    CmdGetQuestDataScRsp = 978,
    CmdFinishQuestScRsp = 971,
    CmdQuestRecordScNotify = 926,
}
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::HnjjnhpfbgoNlcdgipgfdj => "HNJJNHPFBGO_NLCDGIPGFDJ",
            Self::CmdTakeQuestOptionalRewardScRsp => "CmdTakeQuestOptionalRewardScRsp",
            Self::CmdTakeQuestRewardScRsp => "CmdTakeQuestRewardScRsp",
            Self::CmdTakeQuestOptionalRewardCsReq => "CmdTakeQuestOptionalRewardCsReq",
            Self::CmdGetQuestRecordScRsp => "CmdGetQuestRecordScRsp",
            Self::CmdFinishQuestCsReq => "CmdFinishQuestCsReq",
            Self::HnjjnhpfbgoOjkcekkdlel => "HNJJNHPFBGO_OJKCEKKDLEL",
            Self::CmdBatchGetQuestDataScRsp => "CmdBatchGetQuestDataScRsp",
            Self::CmdGetQuestRecordCsReq => "CmdGetQuestRecordCsReq",
            Self::CmdTakeQuestRewardCsReq => "CmdTakeQuestRewardCsReq",
            Self::CmdGetQuestDataCsReq => "CmdGetQuestDataCsReq",
            Self::CmdGetQuestDataScRsp => "CmdGetQuestDataScRsp",
            Self::CmdFinishQuestScRsp => "CmdFinishQuestScRsp",
            Self::CmdQuestRecordScNotify => "CmdQuestRecordScNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HNJJNHPFBGO_NLCDGIPGFDJ" => Some(Self::HnjjnhpfbgoNlcdgipgfdj),
            "CmdTakeQuestOptionalRewardScRsp" => {
                Some(Self::CmdTakeQuestOptionalRewardScRsp)
            }
            "CmdTakeQuestRewardScRsp" => Some(Self::CmdTakeQuestRewardScRsp),
            "CmdTakeQuestOptionalRewardCsReq" => {
                Some(Self::CmdTakeQuestOptionalRewardCsReq)
            }
            "CmdGetQuestRecordScRsp" => Some(Self::CmdGetQuestRecordScRsp),
            "CmdFinishQuestCsReq" => Some(Self::CmdFinishQuestCsReq),
            "HNJJNHPFBGO_OJKCEKKDLEL" => Some(Self::HnjjnhpfbgoOjkcekkdlel),
            "CmdBatchGetQuestDataScRsp" => Some(Self::CmdBatchGetQuestDataScRsp),
            "CmdGetQuestRecordCsReq" => Some(Self::CmdGetQuestRecordCsReq),
            "CmdTakeQuestRewardCsReq" => Some(Self::CmdTakeQuestRewardCsReq),
            "CmdGetQuestDataCsReq" => Some(Self::CmdGetQuestDataCsReq),
            "CmdGetQuestDataScRsp" => Some(Self::CmdGetQuestDataScRsp),
            "CmdFinishQuestScRsp" => Some(Self::CmdFinishQuestScRsp),
            "CmdQuestRecordScNotify" => Some(Self::CmdQuestRecordScNotify),
            _ => None,
        }
    }
}
/// Obf: AKFLCCJFKNF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuestStatus {
    QuestNone = 0,
    QuestDoing = 1,
    QuestFinish = 2,
    QuestClose = 3,
    QuestDelete = 4,
}
impl QuestStatus {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::QuestNone => "QUEST_NONE",
            Self::QuestDoing => "QUEST_DOING",
            Self::QuestFinish => "QUEST_FINISH",
            Self::QuestClose => "QUEST_CLOSE",
            Self::QuestDelete => "QUEST_DELETE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "QUEST_NONE" => Some(Self::QuestNone),
            "QUEST_DOING" => Some(Self::QuestDoing),
            "QUEST_FINISH" => Some(Self::QuestFinish),
            "QUEST_CLOSE" => Some(Self::QuestClose),
            "QUEST_DELETE" => Some(Self::QuestDelete),
            _ => None,
        }
    }
}
/// Obf: ENMOIIMEDKD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidType {
    EnmoiimedkdNlcdgipgfdj = 0,
    CmdSetClientRaidTargetCountScRsp = 2229,
    CmdGetRaidInfoCsReq = 2224,
    CmdRaidKickByServer = 2215,
    CmdChallengeRaidNotify = 2221,
    CmdGetAllSaveRaidScRsp = 2214,
    CmdRaidInfoNotify = 2219,
    EnmoiimedkdGdjcofkgjcg = 2248,
    CmdGetRaidInfoScRsp = 2220,
    CmdLeaveRaidScRsp = 2244,
    CmdStartRaidScRsp = 2223,
    CmdGetAllSaveRaidCsReq = 2202,
    CmdStartRaidCsReq = 2209,
    CmdSetClientRaidTargetCountCsReq = 2217,
    CmdTakeChallengeRaidRewardScRsp = 2210,
    CmdDelSaveRaidScNotify = 2235,
    CmdGetSaveRaidScRsp = 2206,
    CmdLeaveRaidCsReq = 2237,
    CmdTakeChallengeRaidRewardCsReq = 2207,
    CmdGetSaveRaidCsReq = 2233,
    CmdPmliefofjhf = 2203,
}
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::EnmoiimedkdNlcdgipgfdj => "ENMOIIMEDKD_NLCDGIPGFDJ",
            Self::CmdSetClientRaidTargetCountScRsp => "CmdSetClientRaidTargetCountScRsp",
            Self::CmdGetRaidInfoCsReq => "CmdGetRaidInfoCsReq",
            Self::CmdRaidKickByServer => "CmdRaidKickByServer",
            Self::CmdChallengeRaidNotify => "CmdChallengeRaidNotify",
            Self::CmdGetAllSaveRaidScRsp => "CmdGetAllSaveRaidScRsp",
            Self::CmdRaidInfoNotify => "CmdRaidInfoNotify",
            Self::EnmoiimedkdGdjcofkgjcg => "ENMOIIMEDKD_GDJCOFKGJCG",
            Self::CmdGetRaidInfoScRsp => "CmdGetRaidInfoScRsp",
            Self::CmdLeaveRaidScRsp => "CmdLeaveRaidScRsp",
            Self::CmdStartRaidScRsp => "CmdStartRaidScRsp",
            Self::CmdGetAllSaveRaidCsReq => "CmdGetAllSaveRaidCsReq",
            Self::CmdStartRaidCsReq => "CmdStartRaidCsReq",
            Self::CmdSetClientRaidTargetCountCsReq => "CmdSetClientRaidTargetCountCsReq",
            Self::CmdTakeChallengeRaidRewardScRsp => "CmdTakeChallengeRaidRewardScRsp",
            Self::CmdDelSaveRaidScNotify => "CmdDelSaveRaidScNotify",
            Self::CmdGetSaveRaidScRsp => "CmdGetSaveRaidScRsp",
            Self::CmdLeaveRaidCsReq => "CmdLeaveRaidCsReq",
            Self::CmdTakeChallengeRaidRewardCsReq => "CmdTakeChallengeRaidRewardCsReq",
            Self::CmdGetSaveRaidCsReq => "CmdGetSaveRaidCsReq",
            Self::CmdPmliefofjhf => "CmdPMLIEFOFJHF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENMOIIMEDKD_NLCDGIPGFDJ" => Some(Self::EnmoiimedkdNlcdgipgfdj),
            "CmdSetClientRaidTargetCountScRsp" => {
                Some(Self::CmdSetClientRaidTargetCountScRsp)
            }
            "CmdGetRaidInfoCsReq" => Some(Self::CmdGetRaidInfoCsReq),
            "CmdRaidKickByServer" => Some(Self::CmdRaidKickByServer),
            "CmdChallengeRaidNotify" => Some(Self::CmdChallengeRaidNotify),
            "CmdGetAllSaveRaidScRsp" => Some(Self::CmdGetAllSaveRaidScRsp),
            "CmdRaidInfoNotify" => Some(Self::CmdRaidInfoNotify),
            "ENMOIIMEDKD_GDJCOFKGJCG" => Some(Self::EnmoiimedkdGdjcofkgjcg),
            "CmdGetRaidInfoScRsp" => Some(Self::CmdGetRaidInfoScRsp),
            "CmdLeaveRaidScRsp" => Some(Self::CmdLeaveRaidScRsp),
            "CmdStartRaidScRsp" => Some(Self::CmdStartRaidScRsp),
            "CmdGetAllSaveRaidCsReq" => Some(Self::CmdGetAllSaveRaidCsReq),
            "CmdStartRaidCsReq" => Some(Self::CmdStartRaidCsReq),
            "CmdSetClientRaidTargetCountCsReq" => {
                Some(Self::CmdSetClientRaidTargetCountCsReq)
            }
            "CmdTakeChallengeRaidRewardScRsp" => {
                Some(Self::CmdTakeChallengeRaidRewardScRsp)
            }
            "CmdDelSaveRaidScNotify" => Some(Self::CmdDelSaveRaidScNotify),
            "CmdGetSaveRaidScRsp" => Some(Self::CmdGetSaveRaidScRsp),
            "CmdLeaveRaidCsReq" => Some(Self::CmdLeaveRaidCsReq),
            "CmdTakeChallengeRaidRewardCsReq" => {
                Some(Self::CmdTakeChallengeRaidRewardCsReq)
            }
            "CmdGetSaveRaidCsReq" => Some(Self::CmdGetSaveRaidCsReq),
            "CmdPMLIEFOFJHF" => Some(Self::CmdPmliefofjhf),
            _ => 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 Mjpgdjiglko {
    Nlcdgipgfdj = 0,
    Bmoogbnpeaa = 1,
    Cihfgjdchia = 2,
}
impl Mjpgdjiglko {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MJPGDJIGLKO_NLCDGIPGFDJ",
            Self::Bmoogbnpeaa => "MJPGDJIGLKO_BMOOGBNPEAA",
            Self::Cihfgjdchia => "MJPGDJIGLKO_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MJPGDJIGLKO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MJPGDJIGLKO_BMOOGBNPEAA" => Some(Self::Bmoogbnpeaa),
            "MJPGDJIGLKO_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gmfmppkaehe {
    Nlcdgipgfdj = 0,
    Hnadcahhkij = 1,
}
impl Gmfmppkaehe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GMFMPPKAEHE_NLCDGIPGFDJ",
            Self::Hnadcahhkij => "GMFMPPKAEHE_HNADCAHHKIJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GMFMPPKAEHE_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GMFMPPKAEHE_HNADCAHHKIJ" => Some(Self::Hnadcahhkij),
            _ => None,
        }
    }
}
/// Obf: ONNDCODLMGD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRaidCollectionType {
    OnndcodlmgdNlcdgipgfdj = 0,
    CmdRaidCollectionEnterNextRaidCsReq = 6952,
    CmdRaidCollectionDataCsReq = 6958,
    CmdRaidCollectionDataScRsp = 6948,
    CmdRaidCollectionEnterNextRaidScRsp = 6942,
}
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::OnndcodlmgdNlcdgipgfdj => "ONNDCODLMGD_NLCDGIPGFDJ",
            Self::CmdRaidCollectionEnterNextRaidCsReq => {
                "CmdRaidCollectionEnterNextRaidCsReq"
            }
            Self::CmdRaidCollectionDataCsReq => "CmdRaidCollectionDataCsReq",
            Self::CmdRaidCollectionDataScRsp => "CmdRaidCollectionDataScRsp",
            Self::CmdRaidCollectionEnterNextRaidScRsp => {
                "CmdRaidCollectionEnterNextRaidScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ONNDCODLMGD_NLCDGIPGFDJ" => Some(Self::OnndcodlmgdNlcdgipgfdj),
            "CmdRaidCollectionEnterNextRaidCsReq" => {
                Some(Self::CmdRaidCollectionEnterNextRaidCsReq)
            }
            "CmdRaidCollectionDataCsReq" => Some(Self::CmdRaidCollectionDataCsReq),
            "CmdRaidCollectionDataScRsp" => Some(Self::CmdRaidCollectionDataScRsp),
            "CmdRaidCollectionEnterNextRaidScRsp" => {
                Some(Self::CmdRaidCollectionEnterNextRaidScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: OOCIMJEDCHK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRechargeGiftType {
    OocimjedchkNlcdgipgfdj = 0,
    CmdGetRechargeBenefitInfoScRsp = 8377,
    CmdTakeRechargeBenefitRewardCsReq = 8364,
    CmdTakeRechargeGiftRewardCsReq = 8363,
    CmdGetRechargeBenefitInfoCsReq = 8362,
    CmdTakeRechargeGiftRewardScRsp = 8372,
    CmdGetRechargeGiftInfoScRsp = 8368,
    CmdGetRechargeGiftInfoCsReq = 8378,
    CmdTakeRechargeBenefitRewardScRsp = 8371,
    CmdSyncRechargeBenefitInfoScNotify = 8365,
}
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::OocimjedchkNlcdgipgfdj => "OOCIMJEDCHK_NLCDGIPGFDJ",
            Self::CmdGetRechargeBenefitInfoScRsp => "CmdGetRechargeBenefitInfoScRsp",
            Self::CmdTakeRechargeBenefitRewardCsReq => {
                "CmdTakeRechargeBenefitRewardCsReq"
            }
            Self::CmdTakeRechargeGiftRewardCsReq => "CmdTakeRechargeGiftRewardCsReq",
            Self::CmdGetRechargeBenefitInfoCsReq => "CmdGetRechargeBenefitInfoCsReq",
            Self::CmdTakeRechargeGiftRewardScRsp => "CmdTakeRechargeGiftRewardScRsp",
            Self::CmdGetRechargeGiftInfoScRsp => "CmdGetRechargeGiftInfoScRsp",
            Self::CmdGetRechargeGiftInfoCsReq => "CmdGetRechargeGiftInfoCsReq",
            Self::CmdTakeRechargeBenefitRewardScRsp => {
                "CmdTakeRechargeBenefitRewardScRsp"
            }
            Self::CmdSyncRechargeBenefitInfoScNotify => {
                "CmdSyncRechargeBenefitInfoScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OOCIMJEDCHK_NLCDGIPGFDJ" => Some(Self::OocimjedchkNlcdgipgfdj),
            "CmdGetRechargeBenefitInfoScRsp" => {
                Some(Self::CmdGetRechargeBenefitInfoScRsp)
            }
            "CmdTakeRechargeBenefitRewardCsReq" => {
                Some(Self::CmdTakeRechargeBenefitRewardCsReq)
            }
            "CmdTakeRechargeGiftRewardCsReq" => {
                Some(Self::CmdTakeRechargeGiftRewardCsReq)
            }
            "CmdGetRechargeBenefitInfoCsReq" => {
                Some(Self::CmdGetRechargeBenefitInfoCsReq)
            }
            "CmdTakeRechargeGiftRewardScRsp" => {
                Some(Self::CmdTakeRechargeGiftRewardScRsp)
            }
            "CmdGetRechargeGiftInfoScRsp" => Some(Self::CmdGetRechargeGiftInfoScRsp),
            "CmdGetRechargeGiftInfoCsReq" => Some(Self::CmdGetRechargeGiftInfoCsReq),
            "CmdTakeRechargeBenefitRewardScRsp" => {
                Some(Self::CmdTakeRechargeBenefitRewardScRsp)
            }
            "CmdSyncRechargeBenefitInfoScNotify" => {
                Some(Self::CmdSyncRechargeBenefitInfoScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: APDINKHBHGC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRecommendType {
    ApdinkhbhgcNlcdgipgfdj = 0,
    CmdGetBigDataRecommendCsReq = 2403,
    CmdGetBigDataRecommendScRsp = 2407,
    CmdGetBigDataAllRecommendCsReq = 2410,
    CmdGetBigDataAllRecommendScRsp = 2421,
}
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::ApdinkhbhgcNlcdgipgfdj => "APDINKHBHGC_NLCDGIPGFDJ",
            Self::CmdGetBigDataRecommendCsReq => "CmdGetBigDataRecommendCsReq",
            Self::CmdGetBigDataRecommendScRsp => "CmdGetBigDataRecommendScRsp",
            Self::CmdGetBigDataAllRecommendCsReq => "CmdGetBigDataAllRecommendCsReq",
            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 {
            "APDINKHBHGC_NLCDGIPGFDJ" => Some(Self::ApdinkhbhgcNlcdgipgfdj),
            "CmdGetBigDataRecommendCsReq" => Some(Self::CmdGetBigDataRecommendCsReq),
            "CmdGetBigDataRecommendScRsp" => Some(Self::CmdGetBigDataRecommendScRsp),
            "CmdGetBigDataAllRecommendCsReq" => {
                Some(Self::CmdGetBigDataAllRecommendCsReq)
            }
            "CmdGetBigDataAllRecommendScRsp" => {
                Some(Self::CmdGetBigDataAllRecommendScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: BigDataRecommendType
#[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,
    Igdneoelfkc = 10,
}
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",
            Self::Igdneoelfkc => "BIG_DATA_RECOMMEND_TYPE_IGDNEOELFKC",
        }
    }
    /// 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),
            "BIG_DATA_RECOMMEND_TYPE_IGDNEOELFKC" => Some(Self::Igdneoelfkc),
            _ => None,
        }
    }
}
/// Obf: AAGDLGIHHOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRedDotType {
    AagdlgihhoeNlcdgipgfdj = 0,
    AagdlgihhoeKabnelbbnkh = 5937,
    AagdlgihhoeEjdahcibgof = 5919,
    CmdGetAllRedDotDataCsReq = 5909,
    CmdEgelhckmlnk = 5944,
    CmdLlcohlnbngm = 5948,
    CmdGetAllRedDotDataScRsp = 5923,
}
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::AagdlgihhoeNlcdgipgfdj => "AAGDLGIHHOE_NLCDGIPGFDJ",
            Self::AagdlgihhoeKabnelbbnkh => "AAGDLGIHHOE_KABNELBBNKH",
            Self::AagdlgihhoeEjdahcibgof => "AAGDLGIHHOE_EJDAHCIBGOF",
            Self::CmdGetAllRedDotDataCsReq => "CmdGetAllRedDotDataCsReq",
            Self::CmdEgelhckmlnk => "CmdEGELHCKMLNK",
            Self::CmdLlcohlnbngm => "CmdLLCOHLNBNGM",
            Self::CmdGetAllRedDotDataScRsp => "CmdGetAllRedDotDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AAGDLGIHHOE_NLCDGIPGFDJ" => Some(Self::AagdlgihhoeNlcdgipgfdj),
            "AAGDLGIHHOE_KABNELBBNKH" => Some(Self::AagdlgihhoeKabnelbbnkh),
            "AAGDLGIHHOE_EJDAHCIBGOF" => Some(Self::AagdlgihhoeEjdahcibgof),
            "CmdGetAllRedDotDataCsReq" => Some(Self::CmdGetAllRedDotDataCsReq),
            "CmdEGELHCKMLNK" => Some(Self::CmdEgelhckmlnk),
            "CmdLLCOHLNBNGM" => Some(Self::CmdLlcohlnbngm),
            "CmdGetAllRedDotDataScRsp" => Some(Self::CmdGetAllRedDotDataScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kfmhmjlphog {
    Lfgokfcpbog = 0,
    Pfnpblmeojb = 1,
    Cbhmacjnejg = 2,
}
impl Kfmhmjlphog {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Lfgokfcpbog => "KFMHMJLPHOG_LFGOKFCPBOG",
            Self::Pfnpblmeojb => "KFMHMJLPHOG_PFNPBLMEOJB",
            Self::Cbhmacjnejg => "KFMHMJLPHOG_CBHMACJNEJG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KFMHMJLPHOG_LFGOKFCPBOG" => Some(Self::Lfgokfcpbog),
            "KFMHMJLPHOG_PFNPBLMEOJB" => Some(Self::Pfnpblmeojb),
            "KFMHMJLPHOG_CBHMACJNEJG" => Some(Self::Cbhmacjnejg),
            _ => None,
        }
    }
}
/// Obf: MHMAOPPIBCL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicBoxType {
    MhmaoppibclNlcdgipgfdj = 0,
    CmdSetRelicBoxTargetCsReq = 8952,
    CmdConfirmRelicBoxCsReq = 8951,
    CmdGetRelicBoxDataCsReq = 8968,
    CmdRelicBoxRegularScNotify = 8964,
    CmdGetRelicBoxDataScRsp = 8958,
    CmdOpenRelicBoxScRsp = 8965,
    CmdSetRelicBoxTargetScRsp = 8967,
    CmdSetRelicBoxCustomScRsp = 8962,
    CmdReportRelicBoxActionScRsp = 8957,
    CmdSetRelicBoxCustomCsReq = 8953,
    CmdConfirmRelicBoxScRsp = 8959,
    CmdOpenRelicBoxCsReq = 8961,
    CmdReportRelicBoxActionCsReq = 8960,
}
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::MhmaoppibclNlcdgipgfdj => "MHMAOPPIBCL_NLCDGIPGFDJ",
            Self::CmdSetRelicBoxTargetCsReq => "CmdSetRelicBoxTargetCsReq",
            Self::CmdConfirmRelicBoxCsReq => "CmdConfirmRelicBoxCsReq",
            Self::CmdGetRelicBoxDataCsReq => "CmdGetRelicBoxDataCsReq",
            Self::CmdRelicBoxRegularScNotify => "CmdRelicBoxRegularScNotify",
            Self::CmdGetRelicBoxDataScRsp => "CmdGetRelicBoxDataScRsp",
            Self::CmdOpenRelicBoxScRsp => "CmdOpenRelicBoxScRsp",
            Self::CmdSetRelicBoxTargetScRsp => "CmdSetRelicBoxTargetScRsp",
            Self::CmdSetRelicBoxCustomScRsp => "CmdSetRelicBoxCustomScRsp",
            Self::CmdReportRelicBoxActionScRsp => "CmdReportRelicBoxActionScRsp",
            Self::CmdSetRelicBoxCustomCsReq => "CmdSetRelicBoxCustomCsReq",
            Self::CmdConfirmRelicBoxScRsp => "CmdConfirmRelicBoxScRsp",
            Self::CmdOpenRelicBoxCsReq => "CmdOpenRelicBoxCsReq",
            Self::CmdReportRelicBoxActionCsReq => "CmdReportRelicBoxActionCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MHMAOPPIBCL_NLCDGIPGFDJ" => Some(Self::MhmaoppibclNlcdgipgfdj),
            "CmdSetRelicBoxTargetCsReq" => Some(Self::CmdSetRelicBoxTargetCsReq),
            "CmdConfirmRelicBoxCsReq" => Some(Self::CmdConfirmRelicBoxCsReq),
            "CmdGetRelicBoxDataCsReq" => Some(Self::CmdGetRelicBoxDataCsReq),
            "CmdRelicBoxRegularScNotify" => Some(Self::CmdRelicBoxRegularScNotify),
            "CmdGetRelicBoxDataScRsp" => Some(Self::CmdGetRelicBoxDataScRsp),
            "CmdOpenRelicBoxScRsp" => Some(Self::CmdOpenRelicBoxScRsp),
            "CmdSetRelicBoxTargetScRsp" => Some(Self::CmdSetRelicBoxTargetScRsp),
            "CmdSetRelicBoxCustomScRsp" => Some(Self::CmdSetRelicBoxCustomScRsp),
            "CmdReportRelicBoxActionScRsp" => Some(Self::CmdReportRelicBoxActionScRsp),
            "CmdSetRelicBoxCustomCsReq" => Some(Self::CmdSetRelicBoxCustomCsReq),
            "CmdConfirmRelicBoxScRsp" => Some(Self::CmdConfirmRelicBoxScRsp),
            "CmdOpenRelicBoxCsReq" => Some(Self::CmdOpenRelicBoxCsReq),
            "CmdReportRelicBoxActionCsReq" => Some(Self::CmdReportRelicBoxActionCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bdfgbphepdi {
    Pdkldmnajbo = 0,
    Kccehpabikb = 1,
    Iegnmooddak = 2,
}
impl Bdfgbphepdi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Pdkldmnajbo => "BDFGBPHEPDI_PDKLDMNAJBO",
            Self::Kccehpabikb => "BDFGBPHEPDI_KCCEHPABIKB",
            Self::Iegnmooddak => "BDFGBPHEPDI_IEGNMOODDAK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BDFGBPHEPDI_PDKLDMNAJBO" => Some(Self::Pdkldmnajbo),
            "BDFGBPHEPDI_KCCEHPABIKB" => Some(Self::Kccehpabikb),
            "BDFGBPHEPDI_IEGNMOODDAK" => Some(Self::Iegnmooddak),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jfiiihfblpa {
    Neodnifgdjc = 0,
    Bpkkhffjggi = 1,
}
impl Jfiiihfblpa {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Neodnifgdjc => "JFIIIHFBLPA_NEODNIFGDJC",
            Self::Bpkkhffjggi => "JFIIIHFBLPA_BPKKHFFJGGI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JFIIIHFBLPA_NEODNIFGDJC" => Some(Self::Neodnifgdjc),
            "JFIIIHFBLPA_BPKKHFFJGGI" => Some(Self::Bpkkhffjggi),
            _ => None,
        }
    }
}
/// Obf: IHFPHIPHDCE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicPresetType {
    IhfphiphdceNlcdgipgfdj = 0,
    CmdRelicPresetUpdatePlanCsReq = 9845,
    CmdRelicPresetUpdatePlanScRsp = 9844,
    CmdRelicPresetAddPlanCsReq = 9843,
    CmdRelicPresetGetPlanScRsp = 9848,
    CmdEjilgjglkio = 9855,
    CmdRelicPresetAddPlanScRsp = 9852,
    CmdEggoclkiame = 9851,
    CmdRelicPresetGetPlanCsReq = 9858,
    CmdRelicPresetDeletePlanCsReq = 9842,
    CmdRelicPresetDeletePlanScRsp = 9857,
}
impl CmdRelicPresetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::IhfphiphdceNlcdgipgfdj => "IHFPHIPHDCE_NLCDGIPGFDJ",
            Self::CmdRelicPresetUpdatePlanCsReq => "CmdRelicPresetUpdatePlanCsReq",
            Self::CmdRelicPresetUpdatePlanScRsp => "CmdRelicPresetUpdatePlanScRsp",
            Self::CmdRelicPresetAddPlanCsReq => "CmdRelicPresetAddPlanCsReq",
            Self::CmdRelicPresetGetPlanScRsp => "CmdRelicPresetGetPlanScRsp",
            Self::CmdEjilgjglkio => "CmdEJILGJGLKIO",
            Self::CmdRelicPresetAddPlanScRsp => "CmdRelicPresetAddPlanScRsp",
            Self::CmdEggoclkiame => "CmdEGGOCLKIAME",
            Self::CmdRelicPresetGetPlanCsReq => "CmdRelicPresetGetPlanCsReq",
            Self::CmdRelicPresetDeletePlanCsReq => "CmdRelicPresetDeletePlanCsReq",
            Self::CmdRelicPresetDeletePlanScRsp => "CmdRelicPresetDeletePlanScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IHFPHIPHDCE_NLCDGIPGFDJ" => Some(Self::IhfphiphdceNlcdgipgfdj),
            "CmdRelicPresetUpdatePlanCsReq" => Some(Self::CmdRelicPresetUpdatePlanCsReq),
            "CmdRelicPresetUpdatePlanScRsp" => Some(Self::CmdRelicPresetUpdatePlanScRsp),
            "CmdRelicPresetAddPlanCsReq" => Some(Self::CmdRelicPresetAddPlanCsReq),
            "CmdRelicPresetGetPlanScRsp" => Some(Self::CmdRelicPresetGetPlanScRsp),
            "CmdEJILGJGLKIO" => Some(Self::CmdEjilgjglkio),
            "CmdRelicPresetAddPlanScRsp" => Some(Self::CmdRelicPresetAddPlanScRsp),
            "CmdEGGOCLKIAME" => Some(Self::CmdEggoclkiame),
            "CmdRelicPresetGetPlanCsReq" => Some(Self::CmdRelicPresetGetPlanCsReq),
            "CmdRelicPresetDeletePlanCsReq" => Some(Self::CmdRelicPresetDeletePlanCsReq),
            "CmdRelicPresetDeletePlanScRsp" => Some(Self::CmdRelicPresetDeletePlanScRsp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fdjkljgdcid {
    Nlcdgipgfdj = 0,
    Dcgapngcceh = 1,
    Bmhmmimoaij = 2,
    Jpdbdleehgk = 3,
    Ogpnodhenkn = 4,
    Picligeajfn = 5,
    Fhcefaohjjj = 6,
}
impl Fdjkljgdcid {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FDJKLJGDCID_NLCDGIPGFDJ",
            Self::Dcgapngcceh => "FDJKLJGDCID_DCGAPNGCCEH",
            Self::Bmhmmimoaij => "FDJKLJGDCID_BMHMMIMOAIJ",
            Self::Jpdbdleehgk => "FDJKLJGDCID_JPDBDLEEHGK",
            Self::Ogpnodhenkn => "FDJKLJGDCID_OGPNODHENKN",
            Self::Picligeajfn => "FDJKLJGDCID_PICLIGEAJFN",
            Self::Fhcefaohjjj => "FDJKLJGDCID_FHCEFAOHJJJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FDJKLJGDCID_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FDJKLJGDCID_DCGAPNGCCEH" => Some(Self::Dcgapngcceh),
            "FDJKLJGDCID_BMHMMIMOAIJ" => Some(Self::Bmhmmimoaij),
            "FDJKLJGDCID_JPDBDLEEHGK" => Some(Self::Jpdbdleehgk),
            "FDJKLJGDCID_OGPNODHENKN" => Some(Self::Ogpnodhenkn),
            "FDJKLJGDCID_PICLIGEAJFN" => Some(Self::Picligeajfn),
            "FDJKLJGDCID_FHCEFAOHJJJ" => Some(Self::Fhcefaohjjj),
            _ => None,
        }
    }
}
/// Obf: HNBGMOIHOAN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RelicPresetPlanSourceType {
    HnbgmoihoanNlcdgipgfdj = 0,
    HnbgmoihoanBdnddmbonnj = 1,
    HnbgmoihoanDlblnakknkj = 2,
    HnbgmoihoanOdfamibhige = 3,
    HnbgmoihoanLikopgnhbpp = 4,
    HnbgmoihoanCphmehdcfbf = 5,
    HnbgmoihoanPlatform = 6,
}
impl RelicPresetPlanSourceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::HnbgmoihoanNlcdgipgfdj => "HNBGMOIHOAN_NLCDGIPGFDJ",
            Self::HnbgmoihoanBdnddmbonnj => "HNBGMOIHOAN_BDNDDMBONNJ",
            Self::HnbgmoihoanDlblnakknkj => "HNBGMOIHOAN_DLBLNAKKNKJ",
            Self::HnbgmoihoanOdfamibhige => "HNBGMOIHOAN_ODFAMIBHIGE",
            Self::HnbgmoihoanLikopgnhbpp => "HNBGMOIHOAN_LIKOPGNHBPP",
            Self::HnbgmoihoanCphmehdcfbf => "HNBGMOIHOAN_CPHMEHDCFBF",
            Self::HnbgmoihoanPlatform => "HNBGMOIHOAN_platform",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HNBGMOIHOAN_NLCDGIPGFDJ" => Some(Self::HnbgmoihoanNlcdgipgfdj),
            "HNBGMOIHOAN_BDNDDMBONNJ" => Some(Self::HnbgmoihoanBdnddmbonnj),
            "HNBGMOIHOAN_DLBLNAKKNKJ" => Some(Self::HnbgmoihoanDlblnakknkj),
            "HNBGMOIHOAN_ODFAMIBHIGE" => Some(Self::HnbgmoihoanOdfamibhige),
            "HNBGMOIHOAN_LIKOPGNHBPP" => Some(Self::HnbgmoihoanLikopgnhbpp),
            "HNBGMOIHOAN_CPHMEHDCFBF" => Some(Self::HnbgmoihoanCphmehdcfbf),
            "HNBGMOIHOAN_platform" => Some(Self::HnbgmoihoanPlatform),
            _ => None,
        }
    }
}
/// Obf: HLACKPFNIBD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRelicSmartWearType {
    HlackpfnibdNlcdgipgfdj = 0,
    CmdRelicSmartWearDeletePlanScRsp = 8254,
    CmdRelicSmartWearUpdatePinRelicScRsp = 8256,
    CmdRelicSmartWearGetPlanScRsp = 8258,
    CmdRelicSmartWearGetPlanCsReq = 8268,
    CmdRelicSmartWearDeletePinRelicCsReq = 8269,
    CmdRelicSmartWearGetPinRelicCsReq = 8251,
    CmdRelicSmartWearAddPlanScRsp = 8262,
    CmdRelicSmartWearGetPinRelicScRsp = 8259,
    CmdRelicSmartWearDeletePlanCsReq = 8255,
    CmdRelicSmartWearUpdatePlanCsReq = 8252,
    CmdRelicSmartWearDeletePinRelicScRsp = 8266,
    CmdRelicSmartWearUpdatePinRelicScNotify = 8270,
    CmdRelicSmartWearUpdatePinRelicCsReq = 8264,
    CmdRelicSmartWearUpdatePlanScRsp = 8267,
    CmdRelicSmartWearAddPlanCsReq = 8253,
}
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::HlackpfnibdNlcdgipgfdj => "HLACKPFNIBD_NLCDGIPGFDJ",
            Self::CmdRelicSmartWearDeletePlanScRsp => "CmdRelicSmartWearDeletePlanScRsp",
            Self::CmdRelicSmartWearUpdatePinRelicScRsp => {
                "CmdRelicSmartWearUpdatePinRelicScRsp"
            }
            Self::CmdRelicSmartWearGetPlanScRsp => "CmdRelicSmartWearGetPlanScRsp",
            Self::CmdRelicSmartWearGetPlanCsReq => "CmdRelicSmartWearGetPlanCsReq",
            Self::CmdRelicSmartWearDeletePinRelicCsReq => {
                "CmdRelicSmartWearDeletePinRelicCsReq"
            }
            Self::CmdRelicSmartWearGetPinRelicCsReq => {
                "CmdRelicSmartWearGetPinRelicCsReq"
            }
            Self::CmdRelicSmartWearAddPlanScRsp => "CmdRelicSmartWearAddPlanScRsp",
            Self::CmdRelicSmartWearGetPinRelicScRsp => {
                "CmdRelicSmartWearGetPinRelicScRsp"
            }
            Self::CmdRelicSmartWearDeletePlanCsReq => "CmdRelicSmartWearDeletePlanCsReq",
            Self::CmdRelicSmartWearUpdatePlanCsReq => "CmdRelicSmartWearUpdatePlanCsReq",
            Self::CmdRelicSmartWearDeletePinRelicScRsp => {
                "CmdRelicSmartWearDeletePinRelicScRsp"
            }
            Self::CmdRelicSmartWearUpdatePinRelicScNotify => {
                "CmdRelicSmartWearUpdatePinRelicScNotify"
            }
            Self::CmdRelicSmartWearUpdatePinRelicCsReq => {
                "CmdRelicSmartWearUpdatePinRelicCsReq"
            }
            Self::CmdRelicSmartWearUpdatePlanScRsp => "CmdRelicSmartWearUpdatePlanScRsp",
            Self::CmdRelicSmartWearAddPlanCsReq => "CmdRelicSmartWearAddPlanCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HLACKPFNIBD_NLCDGIPGFDJ" => Some(Self::HlackpfnibdNlcdgipgfdj),
            "CmdRelicSmartWearDeletePlanScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePlanScRsp)
            }
            "CmdRelicSmartWearUpdatePinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScRsp)
            }
            "CmdRelicSmartWearGetPlanScRsp" => Some(Self::CmdRelicSmartWearGetPlanScRsp),
            "CmdRelicSmartWearGetPlanCsReq" => Some(Self::CmdRelicSmartWearGetPlanCsReq),
            "CmdRelicSmartWearDeletePinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePinRelicCsReq)
            }
            "CmdRelicSmartWearGetPinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearGetPinRelicCsReq)
            }
            "CmdRelicSmartWearAddPlanScRsp" => Some(Self::CmdRelicSmartWearAddPlanScRsp),
            "CmdRelicSmartWearGetPinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearGetPinRelicScRsp)
            }
            "CmdRelicSmartWearDeletePlanCsReq" => {
                Some(Self::CmdRelicSmartWearDeletePlanCsReq)
            }
            "CmdRelicSmartWearUpdatePlanCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePlanCsReq)
            }
            "CmdRelicSmartWearDeletePinRelicScRsp" => {
                Some(Self::CmdRelicSmartWearDeletePinRelicScRsp)
            }
            "CmdRelicSmartWearUpdatePinRelicScNotify" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicScNotify)
            }
            "CmdRelicSmartWearUpdatePinRelicCsReq" => {
                Some(Self::CmdRelicSmartWearUpdatePinRelicCsReq)
            }
            "CmdRelicSmartWearUpdatePlanScRsp" => {
                Some(Self::CmdRelicSmartWearUpdatePlanScRsp)
            }
            "CmdRelicSmartWearAddPlanCsReq" => Some(Self::CmdRelicSmartWearAddPlanCsReq),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Kckjilimnff {
    Nlcdgipgfdj = 0,
    Cfpgfamanfd = 1,
    Hehppofhlmi = 2,
    Ebdiojpdjih = 3,
}
impl Kckjilimnff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "KCKJILIMNFF_NLCDGIPGFDJ",
            Self::Cfpgfamanfd => "KCKJILIMNFF_CFPGFAMANFD",
            Self::Hehppofhlmi => "KCKJILIMNFF_HEHPPOFHLMI",
            Self::Ebdiojpdjih => "KCKJILIMNFF_EBDIOJPDJIH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KCKJILIMNFF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "KCKJILIMNFF_CFPGFAMANFD" => Some(Self::Cfpgfamanfd),
            "KCKJILIMNFF_HEHPPOFHLMI" => Some(Self::Hehppofhlmi),
            "KCKJILIMNFF_EBDIOJPDJIH" => Some(Self::Ebdiojpdjih),
            _ => None,
        }
    }
}
/// Obf: GLHDKOHHDDK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdReplayType {
    GlhdkohhddkNlcdgipgfdj = 0,
    CmdGetReplayTokenScRsp = 3578,
    CmdGetReplayTokenCsReq = 3525,
}
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::GlhdkohhddkNlcdgipgfdj => "GLHDKOHHDDK_NLCDGIPGFDJ",
            Self::CmdGetReplayTokenScRsp => "CmdGetReplayTokenScRsp",
            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 {
            "GLHDKOHHDDK_NLCDGIPGFDJ" => Some(Self::GlhdkohhddkNlcdgipgfdj),
            "CmdGetReplayTokenScRsp" => Some(Self::CmdGetReplayTokenScRsp),
            "CmdGetReplayTokenCsReq" => Some(Self::CmdGetReplayTokenCsReq),
            _ => None,
        }
    }
}
/// Obf: LHHIKPLMLGH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRndOptionType {
    LhhikplmlghNlcdgipgfdj = 0,
    CmdGetRndOptionCsReq = 3425,
    CmdDailyFirstMeetPamCsReq = 3493,
    CmdGetRndOptionScRsp = 3478,
    CmdDailyFirstMeetPamScRsp = 3458,
}
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::LhhikplmlghNlcdgipgfdj => "LHHIKPLMLGH_NLCDGIPGFDJ",
            Self::CmdGetRndOptionCsReq => "CmdGetRndOptionCsReq",
            Self::CmdDailyFirstMeetPamCsReq => "CmdDailyFirstMeetPamCsReq",
            Self::CmdGetRndOptionScRsp => "CmdGetRndOptionScRsp",
            Self::CmdDailyFirstMeetPamScRsp => "CmdDailyFirstMeetPamScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHHIKPLMLGH_NLCDGIPGFDJ" => Some(Self::LhhikplmlghNlcdgipgfdj),
            "CmdGetRndOptionCsReq" => Some(Self::CmdGetRndOptionCsReq),
            "CmdDailyFirstMeetPamCsReq" => Some(Self::CmdDailyFirstMeetPamCsReq),
            "CmdGetRndOptionScRsp" => Some(Self::CmdGetRndOptionScRsp),
            "CmdDailyFirstMeetPamScRsp" => Some(Self::CmdDailyFirstMeetPamScRsp),
            _ => None,
        }
    }
}
/// Obf: HHPMDFMOOAK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueType {
    HhpmdfmooakNlcdgipgfdj = 0,
    CmdGetRogueTalentInfoScRsp = 1802,
    CmdOpenRogueChestScRsp = 1819,
    CmdSyncRogueGetItemScNotify = 1817,
    CmdEnterRogueCsReq = 1888,
    CmdEnableRogueTalentScRsp = 1808,
    CmdPdnojmfcddg = 1848,
    CmdEkfcdgnoain = 1804,
    CmdGetRogueAeonInfoCsReq = 1887,
    CmdEnableRogueTalentCsReq = 1900,
    CmdGetRogueInfoCsReq = 1825,
    CmdGetRogueTalentInfoCsReq = 1831,
    CmdStartRogueCsReq = 1893,
    CmdCdokclhedbo = 1849,
    CmdCgmbihbhlfk = 1830,
    CmdQuitRogueScRsp = 1829,
    CmdSyncRogueAeonScNotify = 1883,
    CmdEnterRogueMapRoomScRsp = 1875,
    CmdSyncRogueAreaUnlockScNotify = 1895,
    CmdGetRogueAeonInfoScRsp = 1824,
    CmdGetRogueInfoScRsp = 1878,
    CmdAjndmbcdeol = 1842,
    CmdExchangeRogueRewardKeyCsReq = 1828,
    CmdOpenRogueChestCsReq = 1846,
    CmdExchangeRogueRewardKeyScRsp = 1898,
    CmdQuitRogueCsReq = 1843,
    CmdSyncRogueStatusScNotify = 1899,
    HhpmdfmooakHpjblifmojb = 1844,
    CmdCinmcbdcbmj = 1872,
    CmdStartRogueScRsp = 1858,
    CmdFinishAeonDialogueGroupScRsp = 1877,
    CmdEnterRogueScRsp = 1881,
    CmdSyncRogueReviveInfoScNotify = 1810,
    CmdSyncRogueVirtualItemInfoScNotify = 1822,
    CmdLeaveRogueCsReq = 1886,
    CmdEnterRogueMapRoomCsReq = 1835,
    CmdAjaojoeagml = 1845,
    CmdSyncRogueMapRoomScNotify = 1815,
    CmdLeaveRogueScRsp = 1847,
    CmdSyncRogueFinishScNotify = 1839,
    CmdFinishAeonDialogueGroupCsReq = 1885,
    CmdKfjfhkljkak = 1890,
    CmdSyncRogueSeasonFinishScNotify = 1896,
    CmdNahanhphggf = 1880,
    CmdSyncRogueExploreWinScNotify = 1834,
    CmdHigamejncjj = 1860,
    CmdBhlehmnfhpj = 1811,
}
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::HhpmdfmooakNlcdgipgfdj => "HHPMDFMOOAK_NLCDGIPGFDJ",
            Self::CmdGetRogueTalentInfoScRsp => "CmdGetRogueTalentInfoScRsp",
            Self::CmdOpenRogueChestScRsp => "CmdOpenRogueChestScRsp",
            Self::CmdSyncRogueGetItemScNotify => "CmdSyncRogueGetItemScNotify",
            Self::CmdEnterRogueCsReq => "CmdEnterRogueCsReq",
            Self::CmdEnableRogueTalentScRsp => "CmdEnableRogueTalentScRsp",
            Self::CmdPdnojmfcddg => "CmdPDNOJMFCDDG",
            Self::CmdEkfcdgnoain => "CmdEKFCDGNOAIN",
            Self::CmdGetRogueAeonInfoCsReq => "CmdGetRogueAeonInfoCsReq",
            Self::CmdEnableRogueTalentCsReq => "CmdEnableRogueTalentCsReq",
            Self::CmdGetRogueInfoCsReq => "CmdGetRogueInfoCsReq",
            Self::CmdGetRogueTalentInfoCsReq => "CmdGetRogueTalentInfoCsReq",
            Self::CmdStartRogueCsReq => "CmdStartRogueCsReq",
            Self::CmdCdokclhedbo => "CmdCDOKCLHEDBO",
            Self::CmdCgmbihbhlfk => "CmdCGMBIHBHLFK",
            Self::CmdQuitRogueScRsp => "CmdQuitRogueScRsp",
            Self::CmdSyncRogueAeonScNotify => "CmdSyncRogueAeonScNotify",
            Self::CmdEnterRogueMapRoomScRsp => "CmdEnterRogueMapRoomScRsp",
            Self::CmdSyncRogueAreaUnlockScNotify => "CmdSyncRogueAreaUnlockScNotify",
            Self::CmdGetRogueAeonInfoScRsp => "CmdGetRogueAeonInfoScRsp",
            Self::CmdGetRogueInfoScRsp => "CmdGetRogueInfoScRsp",
            Self::CmdAjndmbcdeol => "CmdAJNDMBCDEOL",
            Self::CmdExchangeRogueRewardKeyCsReq => "CmdExchangeRogueRewardKeyCsReq",
            Self::CmdOpenRogueChestCsReq => "CmdOpenRogueChestCsReq",
            Self::CmdExchangeRogueRewardKeyScRsp => "CmdExchangeRogueRewardKeyScRsp",
            Self::CmdQuitRogueCsReq => "CmdQuitRogueCsReq",
            Self::CmdSyncRogueStatusScNotify => "CmdSyncRogueStatusScNotify",
            Self::HhpmdfmooakHpjblifmojb => "HHPMDFMOOAK_HPJBLIFMOJB",
            Self::CmdCinmcbdcbmj => "CmdCINMCBDCBMJ",
            Self::CmdStartRogueScRsp => "CmdStartRogueScRsp",
            Self::CmdFinishAeonDialogueGroupScRsp => "CmdFinishAeonDialogueGroupScRsp",
            Self::CmdEnterRogueScRsp => "CmdEnterRogueScRsp",
            Self::CmdSyncRogueReviveInfoScNotify => "CmdSyncRogueReviveInfoScNotify",
            Self::CmdSyncRogueVirtualItemInfoScNotify => {
                "CmdSyncRogueVirtualItemInfoScNotify"
            }
            Self::CmdLeaveRogueCsReq => "CmdLeaveRogueCsReq",
            Self::CmdEnterRogueMapRoomCsReq => "CmdEnterRogueMapRoomCsReq",
            Self::CmdAjaojoeagml => "CmdAJAOJOEAGML",
            Self::CmdSyncRogueMapRoomScNotify => "CmdSyncRogueMapRoomScNotify",
            Self::CmdLeaveRogueScRsp => "CmdLeaveRogueScRsp",
            Self::CmdSyncRogueFinishScNotify => "CmdSyncRogueFinishScNotify",
            Self::CmdFinishAeonDialogueGroupCsReq => "CmdFinishAeonDialogueGroupCsReq",
            Self::CmdKfjfhkljkak => "CmdKFJFHKLJKAK",
            Self::CmdSyncRogueSeasonFinishScNotify => "CmdSyncRogueSeasonFinishScNotify",
            Self::CmdNahanhphggf => "CmdNAHANHPHGGF",
            Self::CmdSyncRogueExploreWinScNotify => "CmdSyncRogueExploreWinScNotify",
            Self::CmdHigamejncjj => "CmdHIGAMEJNCJJ",
            Self::CmdBhlehmnfhpj => "CmdBHLEHMNFHPJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HHPMDFMOOAK_NLCDGIPGFDJ" => Some(Self::HhpmdfmooakNlcdgipgfdj),
            "CmdGetRogueTalentInfoScRsp" => Some(Self::CmdGetRogueTalentInfoScRsp),
            "CmdOpenRogueChestScRsp" => Some(Self::CmdOpenRogueChestScRsp),
            "CmdSyncRogueGetItemScNotify" => Some(Self::CmdSyncRogueGetItemScNotify),
            "CmdEnterRogueCsReq" => Some(Self::CmdEnterRogueCsReq),
            "CmdEnableRogueTalentScRsp" => Some(Self::CmdEnableRogueTalentScRsp),
            "CmdPDNOJMFCDDG" => Some(Self::CmdPdnojmfcddg),
            "CmdEKFCDGNOAIN" => Some(Self::CmdEkfcdgnoain),
            "CmdGetRogueAeonInfoCsReq" => Some(Self::CmdGetRogueAeonInfoCsReq),
            "CmdEnableRogueTalentCsReq" => Some(Self::CmdEnableRogueTalentCsReq),
            "CmdGetRogueInfoCsReq" => Some(Self::CmdGetRogueInfoCsReq),
            "CmdGetRogueTalentInfoCsReq" => Some(Self::CmdGetRogueTalentInfoCsReq),
            "CmdStartRogueCsReq" => Some(Self::CmdStartRogueCsReq),
            "CmdCDOKCLHEDBO" => Some(Self::CmdCdokclhedbo),
            "CmdCGMBIHBHLFK" => Some(Self::CmdCgmbihbhlfk),
            "CmdQuitRogueScRsp" => Some(Self::CmdQuitRogueScRsp),
            "CmdSyncRogueAeonScNotify" => Some(Self::CmdSyncRogueAeonScNotify),
            "CmdEnterRogueMapRoomScRsp" => Some(Self::CmdEnterRogueMapRoomScRsp),
            "CmdSyncRogueAreaUnlockScNotify" => {
                Some(Self::CmdSyncRogueAreaUnlockScNotify)
            }
            "CmdGetRogueAeonInfoScRsp" => Some(Self::CmdGetRogueAeonInfoScRsp),
            "CmdGetRogueInfoScRsp" => Some(Self::CmdGetRogueInfoScRsp),
            "CmdAJNDMBCDEOL" => Some(Self::CmdAjndmbcdeol),
            "CmdExchangeRogueRewardKeyCsReq" => {
                Some(Self::CmdExchangeRogueRewardKeyCsReq)
            }
            "CmdOpenRogueChestCsReq" => Some(Self::CmdOpenRogueChestCsReq),
            "CmdExchangeRogueRewardKeyScRsp" => {
                Some(Self::CmdExchangeRogueRewardKeyScRsp)
            }
            "CmdQuitRogueCsReq" => Some(Self::CmdQuitRogueCsReq),
            "CmdSyncRogueStatusScNotify" => Some(Self::CmdSyncRogueStatusScNotify),
            "HHPMDFMOOAK_HPJBLIFMOJB" => Some(Self::HhpmdfmooakHpjblifmojb),
            "CmdCINMCBDCBMJ" => Some(Self::CmdCinmcbdcbmj),
            "CmdStartRogueScRsp" => Some(Self::CmdStartRogueScRsp),
            "CmdFinishAeonDialogueGroupScRsp" => {
                Some(Self::CmdFinishAeonDialogueGroupScRsp)
            }
            "CmdEnterRogueScRsp" => Some(Self::CmdEnterRogueScRsp),
            "CmdSyncRogueReviveInfoScNotify" => {
                Some(Self::CmdSyncRogueReviveInfoScNotify)
            }
            "CmdSyncRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdSyncRogueVirtualItemInfoScNotify)
            }
            "CmdLeaveRogueCsReq" => Some(Self::CmdLeaveRogueCsReq),
            "CmdEnterRogueMapRoomCsReq" => Some(Self::CmdEnterRogueMapRoomCsReq),
            "CmdAJAOJOEAGML" => Some(Self::CmdAjaojoeagml),
            "CmdSyncRogueMapRoomScNotify" => Some(Self::CmdSyncRogueMapRoomScNotify),
            "CmdLeaveRogueScRsp" => Some(Self::CmdLeaveRogueScRsp),
            "CmdSyncRogueFinishScNotify" => Some(Self::CmdSyncRogueFinishScNotify),
            "CmdFinishAeonDialogueGroupCsReq" => {
                Some(Self::CmdFinishAeonDialogueGroupCsReq)
            }
            "CmdKFJFHKLJKAK" => Some(Self::CmdKfjfhkljkak),
            "CmdSyncRogueSeasonFinishScNotify" => {
                Some(Self::CmdSyncRogueSeasonFinishScNotify)
            }
            "CmdNAHANHPHGGF" => Some(Self::CmdNahanhphggf),
            "CmdSyncRogueExploreWinScNotify" => {
                Some(Self::CmdSyncRogueExploreWinScNotify)
            }
            "CmdHIGAMEJNCJJ" => Some(Self::CmdHigamejncjj),
            "CmdBHLEHMNFHPJ" => Some(Self::CmdBhlehmnfhpj),
            _ => None,
        }
    }
}
/// Obf: NOGKOJCAFAE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueStatus {
    NogkojcafaeNlcdgipgfdj = 0,
    NogkojcafaeBmoogbnpeaa = 1,
    NogkojcafaeIggjejahpij = 2,
    NogkojcafaeCbfhenkamko = 3,
    NogkojcafaeCihfgjdchia = 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::NogkojcafaeNlcdgipgfdj => "NOGKOJCAFAE_NLCDGIPGFDJ",
            Self::NogkojcafaeBmoogbnpeaa => "NOGKOJCAFAE_BMOOGBNPEAA",
            Self::NogkojcafaeIggjejahpij => "NOGKOJCAFAE_IGGJEJAHPIJ",
            Self::NogkojcafaeCbfhenkamko => "NOGKOJCAFAE_CBFHENKAMKO",
            Self::NogkojcafaeCihfgjdchia => "NOGKOJCAFAE_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NOGKOJCAFAE_NLCDGIPGFDJ" => Some(Self::NogkojcafaeNlcdgipgfdj),
            "NOGKOJCAFAE_BMOOGBNPEAA" => Some(Self::NogkojcafaeBmoogbnpeaa),
            "NOGKOJCAFAE_IGGJEJAHPIJ" => Some(Self::NogkojcafaeIggjejahpij),
            "NOGKOJCAFAE_CBFHENKAMKO" => Some(Self::NogkojcafaeCbfhenkamko),
            "NOGKOJCAFAE_CIHFGJDCHIA" => Some(Self::NogkojcafaeCihfgjdchia),
            _ => None,
        }
    }
}
/// Obf: KFNIFOJPFCB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueRoomStatus {
    KfnifojpfcbNlcdgipgfdj = 0,
    KfnifojpfcbGajgbbfelel = 1,
    KfnifojpfcbBfadfaelklj = 2,
    KfnifojpfcbJdagfhepmhf = 3,
    KfnifojpfcbCihfgjdchia = 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::KfnifojpfcbNlcdgipgfdj => "KFNIFOJPFCB_NLCDGIPGFDJ",
            Self::KfnifojpfcbGajgbbfelel => "KFNIFOJPFCB_GAJGBBFELEL",
            Self::KfnifojpfcbBfadfaelklj => "KFNIFOJPFCB_BFADFAELKLJ",
            Self::KfnifojpfcbJdagfhepmhf => "KFNIFOJPFCB_JDAGFHEPMHF",
            Self::KfnifojpfcbCihfgjdchia => "KFNIFOJPFCB_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KFNIFOJPFCB_NLCDGIPGFDJ" => Some(Self::KfnifojpfcbNlcdgipgfdj),
            "KFNIFOJPFCB_GAJGBBFELEL" => Some(Self::KfnifojpfcbGajgbbfelel),
            "KFNIFOJPFCB_BFADFAELKLJ" => Some(Self::KfnifojpfcbBfadfaelklj),
            "KFNIFOJPFCB_JDAGFHEPMHF" => Some(Self::KfnifojpfcbJdagfhepmhf),
            "KFNIFOJPFCB_CIHFGJDCHIA" => Some(Self::KfnifojpfcbCihfgjdchia),
            _ => None,
        }
    }
}
/// Obf: HNPHKCCICPM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueAreaStatus {
    HnphkccicpmGajgbbfelel = 0,
    HnphkccicpmBfadfaelklj = 1,
    HnphkccicpmMkhfmmckaei = 2,
    HnphkccicpmPdkldmnajbo = 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::HnphkccicpmGajgbbfelel => "HNPHKCCICPM_GAJGBBFELEL",
            Self::HnphkccicpmBfadfaelklj => "HNPHKCCICPM_BFADFAELKLJ",
            Self::HnphkccicpmMkhfmmckaei => "HNPHKCCICPM_MKHFMMCKAEI",
            Self::HnphkccicpmPdkldmnajbo => "HNPHKCCICPM_PDKLDMNAJBO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HNPHKCCICPM_GAJGBBFELEL" => Some(Self::HnphkccicpmGajgbbfelel),
            "HNPHKCCICPM_BFADFAELKLJ" => Some(Self::HnphkccicpmBfadfaelklj),
            "HNPHKCCICPM_MKHFMMCKAEI" => Some(Self::HnphkccicpmMkhfmmckaei),
            "HNPHKCCICPM_PDKLDMNAJBO" => Some(Self::HnphkccicpmPdkldmnajbo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gbakloafclp {
    Nlcdgipgfdj = 0,
    Midkknagofa = 1,
    Fjmcihhigia = 2,
    Anbkdjkhcbi = 3,
    Nclbfaallfj = 4,
    Epcdlhffbli = 5,
    Fmpggenbhid = 6,
    Mofniojhbbl = 7,
    Emalbalanlh = 8,
    Cbcnhgnkapg = 9,
}
impl Gbakloafclp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GBAKLOAFCLP_NLCDGIPGFDJ",
            Self::Midkknagofa => "GBAKLOAFCLP_MIDKKNAGOFA",
            Self::Fjmcihhigia => "GBAKLOAFCLP_FJMCIHHIGIA",
            Self::Anbkdjkhcbi => "GBAKLOAFCLP_ANBKDJKHCBI",
            Self::Nclbfaallfj => "GBAKLOAFCLP_NCLBFAALLFJ",
            Self::Epcdlhffbli => "GBAKLOAFCLP_EPCDLHFFBLI",
            Self::Fmpggenbhid => "GBAKLOAFCLP_FMPGGENBHID",
            Self::Mofniojhbbl => "GBAKLOAFCLP_MOFNIOJHBBL",
            Self::Emalbalanlh => "GBAKLOAFCLP_EMALBALANLH",
            Self::Cbcnhgnkapg => "GBAKLOAFCLP_CBCNHGNKAPG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GBAKLOAFCLP_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GBAKLOAFCLP_MIDKKNAGOFA" => Some(Self::Midkknagofa),
            "GBAKLOAFCLP_FJMCIHHIGIA" => Some(Self::Fjmcihhigia),
            "GBAKLOAFCLP_ANBKDJKHCBI" => Some(Self::Anbkdjkhcbi),
            "GBAKLOAFCLP_NCLBFAALLFJ" => Some(Self::Nclbfaallfj),
            "GBAKLOAFCLP_EPCDLHFFBLI" => Some(Self::Epcdlhffbli),
            "GBAKLOAFCLP_FMPGGENBHID" => Some(Self::Fmpggenbhid),
            "GBAKLOAFCLP_MOFNIOJHBBL" => Some(Self::Mofniojhbbl),
            "GBAKLOAFCLP_EMALBALANLH" => Some(Self::Emalbalanlh),
            "GBAKLOAFCLP_CBCNHGNKAPG" => Some(Self::Cbcnhgnkapg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pdloamglgjb {
    Nlcdgipgfdj = 0,
    Midkknagofa = 1,
    Nclbfaallfj = 2,
    Epcdlhffbli = 3,
    Lfodhgbcchf = 4,
    Khgikbfdlfb = 5,
    Akjbecphijk = 6,
    Ejoehknhgdm = 7,
    Acmklfompfc = 8,
    Mofniojhbbl = 9,
    Fmpggenbhid = 10,
    Emalbalanlh = 11,
    Cbcnhgnkapg = 12,
}
impl Pdloamglgjb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PDLOAMGLGJB_NLCDGIPGFDJ",
            Self::Midkknagofa => "PDLOAMGLGJB_MIDKKNAGOFA",
            Self::Nclbfaallfj => "PDLOAMGLGJB_NCLBFAALLFJ",
            Self::Epcdlhffbli => "PDLOAMGLGJB_EPCDLHFFBLI",
            Self::Lfodhgbcchf => "PDLOAMGLGJB_LFODHGBCCHF",
            Self::Khgikbfdlfb => "PDLOAMGLGJB_KHGIKBFDLFB",
            Self::Akjbecphijk => "PDLOAMGLGJB_AKJBECPHIJK",
            Self::Ejoehknhgdm => "PDLOAMGLGJB_EJOEHKNHGDM",
            Self::Acmklfompfc => "PDLOAMGLGJB_ACMKLFOMPFC",
            Self::Mofniojhbbl => "PDLOAMGLGJB_MOFNIOJHBBL",
            Self::Fmpggenbhid => "PDLOAMGLGJB_FMPGGENBHID",
            Self::Emalbalanlh => "PDLOAMGLGJB_EMALBALANLH",
            Self::Cbcnhgnkapg => "PDLOAMGLGJB_CBCNHGNKAPG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PDLOAMGLGJB_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PDLOAMGLGJB_MIDKKNAGOFA" => Some(Self::Midkknagofa),
            "PDLOAMGLGJB_NCLBFAALLFJ" => Some(Self::Nclbfaallfj),
            "PDLOAMGLGJB_EPCDLHFFBLI" => Some(Self::Epcdlhffbli),
            "PDLOAMGLGJB_LFODHGBCCHF" => Some(Self::Lfodhgbcchf),
            "PDLOAMGLGJB_KHGIKBFDLFB" => Some(Self::Khgikbfdlfb),
            "PDLOAMGLGJB_AKJBECPHIJK" => Some(Self::Akjbecphijk),
            "PDLOAMGLGJB_EJOEHKNHGDM" => Some(Self::Ejoehknhgdm),
            "PDLOAMGLGJB_ACMKLFOMPFC" => Some(Self::Acmklfompfc),
            "PDLOAMGLGJB_MOFNIOJHBBL" => Some(Self::Mofniojhbbl),
            "PDLOAMGLGJB_FMPGGENBHID" => Some(Self::Fmpggenbhid),
            "PDLOAMGLGJB_EMALBALANLH" => Some(Self::Emalbalanlh),
            "PDLOAMGLGJB_CBCNHGNKAPG" => Some(Self::Cbcnhgnkapg),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ppocamclleg {
    Hmckmbagnja = 0,
    Djbologmbgg = 1,
}
impl Ppocamclleg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hmckmbagnja => "PPOCAMCLLEG_HMCKMBAGNJA",
            Self::Djbologmbgg => "PPOCAMCLLEG_DJBOLOGMBGG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PPOCAMCLLEG_HMCKMBAGNJA" => Some(Self::Hmckmbagnja),
            "PPOCAMCLLEG_DJBOLOGMBGG" => Some(Self::Djbologmbgg),
            _ => None,
        }
    }
}
/// Obf: NNHBAOKEBJI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueArcadeType {
    NnhbaokebjiNlcdgipgfdj = 0,
    CmdRogueArcadeLeaveScRsp = 7659,
    CmdRogueArcadeRestartScRsp = 7664,
    CmdRogueArcadeGetInfoCsReq = 7669,
    CmdRogueArcadeGetInfoScRsp = 7690,
    CmdRogueArcadeRestartCsReq = 7679,
    CmdRogueArcadeLeaveCsReq = 7656,
    CmdRogueArcadeStartCsReq = 7683,
    CmdRogueArcadeStartScRsp = 7685,
}
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::NnhbaokebjiNlcdgipgfdj => "NNHBAOKEBJI_NLCDGIPGFDJ",
            Self::CmdRogueArcadeLeaveScRsp => "CmdRogueArcadeLeaveScRsp",
            Self::CmdRogueArcadeRestartScRsp => "CmdRogueArcadeRestartScRsp",
            Self::CmdRogueArcadeGetInfoCsReq => "CmdRogueArcadeGetInfoCsReq",
            Self::CmdRogueArcadeGetInfoScRsp => "CmdRogueArcadeGetInfoScRsp",
            Self::CmdRogueArcadeRestartCsReq => "CmdRogueArcadeRestartCsReq",
            Self::CmdRogueArcadeLeaveCsReq => "CmdRogueArcadeLeaveCsReq",
            Self::CmdRogueArcadeStartCsReq => "CmdRogueArcadeStartCsReq",
            Self::CmdRogueArcadeStartScRsp => "CmdRogueArcadeStartScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NNHBAOKEBJI_NLCDGIPGFDJ" => Some(Self::NnhbaokebjiNlcdgipgfdj),
            "CmdRogueArcadeLeaveScRsp" => Some(Self::CmdRogueArcadeLeaveScRsp),
            "CmdRogueArcadeRestartScRsp" => Some(Self::CmdRogueArcadeRestartScRsp),
            "CmdRogueArcadeGetInfoCsReq" => Some(Self::CmdRogueArcadeGetInfoCsReq),
            "CmdRogueArcadeGetInfoScRsp" => Some(Self::CmdRogueArcadeGetInfoScRsp),
            "CmdRogueArcadeRestartCsReq" => Some(Self::CmdRogueArcadeRestartCsReq),
            "CmdRogueArcadeLeaveCsReq" => Some(Self::CmdRogueArcadeLeaveCsReq),
            "CmdRogueArcadeStartCsReq" => Some(Self::CmdRogueArcadeStartCsReq),
            "CmdRogueArcadeStartScRsp" => Some(Self::CmdRogueArcadeStartScRsp),
            _ => None,
        }
    }
}
/// Obf: EGANMDEFFGM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueCommonType {
    EganmdeffgmNlcdgipgfdj = 0,
    CmdLnkeeakfehm = 5678,
    CmdSetRogueCollectionCsReq = 5660,
    CmdBuyRogueShopMiracleScRsp = 5626,
    CmdGetRogueShopMiracleInfoCsReq = 5658,
    CmdBuyRogueShopMiracleCsReq = 5667,
    CmdGetRogueShopMiracleInfoScRsp = 5688,
    CmdSyncRogueCommonDialogueOptionFinishScNotify = 5657,
    CmdFlcpmjgchid = 5620,
    CmdRogueWorkbenchHandleFuncScRsp = 5617,
    CmdCommonRogueVirtualItemInfoScNotify = 5614,
    CmdRogueWorkbenchGetInfoCsReq = 5623,
    CmdTakeEventHandbookRewardCsReq = 5649,
    CmdSetRogueExhibitionScRsp = 5670,
    CmdGetRogueShopBuffInfoCsReq = 5681,
    CmdRogueDoGambleScRsp = 5624,
    CmdRogueGetGambleInfoScRsp = 5607,
    CmdHandleRogueCommonPendingActionScRsp = 5651,
    CmdGetRogueShopBuffInfoScRsp = 5686,
    EganmdeffgmCdcnmgijehj = 5642,
    CmdBihaclhmako = 5616,
    CmdRogueDoGambleCsReq = 5687,
    CmdCommonRogueQueryScRsp = 5619,
    CmdSelectRogueCommonDialogueOptionCsReq = 5666,
    CmdGetRogueShopFormulaInfoScRsp = 5608,
    CmdRogueWorkbenchHandleFuncCsReq = 5695,
    CmdPjfpipipojn = 5625,
    CmdJljnnpiakgh = 5652,
    CmdSyncRogueCommonPendingActionScNotify = 5653,
    CmdEdbogekadgp = 5672,
    CmdSetRogueCollectionScRsp = 5690,
    CmdGetRogueHandbookDataScRsp = 5612,
    CmdRogueWorkbenchGetInfoScRsp = 5683,
    CmdHandleRogueCommonPendingActionCsReq = 5637,
    CmdSyncRogueHandbookDataUpdateScNotify = 5635,
    CmdTakeEventHandbookRewardScRsp = 5615,
    CmdBuyRogueShopBuffScRsp = 5671,
    CmdCkpkiinilka = 5639,
    CmdCommonRogueUpdateScNotify = 5628,
    CmdSyncRogueCommonDialogueDataScNotify = 5674,
    CmdGetRogueCommonDialogueDataCsReq = 5698,
    CmdRogueShopBeginBattleCsReq = 5654,
    CmdRogueShopBeginBattleScRsp = 5656,
    CmdMchijnkkoam = 5680,
    CmdRogueGetGambleInfoCsReq = 5679,
    CmdLecigppcmab = 5613,
    CmdCedcddphbog = 5638,
    CmdGetRogueHandbookDataCsReq = 5673,
    CmdGetRogueShopFormulaInfoCsReq = 5700,
    CmdSetRogueExhibitionCsReq = 5632,
    EganmdeffgmEcgcipcgadi = 5669,
    CmdTakeRogueMiracleHandbookRewardScRsp = 5644,
    CmdDcadhjhjmmd = 5693,
    EganmdeffgmFppolddigff = 5630,
    CmdCommonRogueQueryCsReq = 5646,
    CmdTakeRogueMiracleHandbookRewardCsReq = 5675,
    CmdSelectRogueCommonDialogueOptionScRsp = 5655,
    CmdSyncRogueCommonActionResultScNotify = 5618,
    CmdGknpeghpcmh = 5633,
    CmdMjepclpmkki = 5640,
    CmdBuyRogueShopFormulaScRsp = 5676,
    CmdGetRogueCommonDialogueDataScRsp = 5662,
    EganmdeffgmDnnecbllkbo = 5665,
    CmdMknbfmjgkbm = 5647,
    CmdLpdpajgfbmm = 5606,
}
impl CmdRogueCommonType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::EganmdeffgmNlcdgipgfdj => "EGANMDEFFGM_NLCDGIPGFDJ",
            Self::CmdLnkeeakfehm => "CmdLNKEEAKFEHM",
            Self::CmdSetRogueCollectionCsReq => "CmdSetRogueCollectionCsReq",
            Self::CmdBuyRogueShopMiracleScRsp => "CmdBuyRogueShopMiracleScRsp",
            Self::CmdGetRogueShopMiracleInfoCsReq => "CmdGetRogueShopMiracleInfoCsReq",
            Self::CmdBuyRogueShopMiracleCsReq => "CmdBuyRogueShopMiracleCsReq",
            Self::CmdGetRogueShopMiracleInfoScRsp => "CmdGetRogueShopMiracleInfoScRsp",
            Self::CmdSyncRogueCommonDialogueOptionFinishScNotify => {
                "CmdSyncRogueCommonDialogueOptionFinishScNotify"
            }
            Self::CmdFlcpmjgchid => "CmdFLCPMJGCHID",
            Self::CmdRogueWorkbenchHandleFuncScRsp => "CmdRogueWorkbenchHandleFuncScRsp",
            Self::CmdCommonRogueVirtualItemInfoScNotify => {
                "CmdCommonRogueVirtualItemInfoScNotify"
            }
            Self::CmdRogueWorkbenchGetInfoCsReq => "CmdRogueWorkbenchGetInfoCsReq",
            Self::CmdTakeEventHandbookRewardCsReq => "CmdTakeEventHandbookRewardCsReq",
            Self::CmdSetRogueExhibitionScRsp => "CmdSetRogueExhibitionScRsp",
            Self::CmdGetRogueShopBuffInfoCsReq => "CmdGetRogueShopBuffInfoCsReq",
            Self::CmdRogueDoGambleScRsp => "CmdRogueDoGambleScRsp",
            Self::CmdRogueGetGambleInfoScRsp => "CmdRogueGetGambleInfoScRsp",
            Self::CmdHandleRogueCommonPendingActionScRsp => {
                "CmdHandleRogueCommonPendingActionScRsp"
            }
            Self::CmdGetRogueShopBuffInfoScRsp => "CmdGetRogueShopBuffInfoScRsp",
            Self::EganmdeffgmCdcnmgijehj => "EGANMDEFFGM_CDCNMGIJEHJ",
            Self::CmdBihaclhmako => "CmdBIHACLHMAKO",
            Self::CmdRogueDoGambleCsReq => "CmdRogueDoGambleCsReq",
            Self::CmdCommonRogueQueryScRsp => "CmdCommonRogueQueryScRsp",
            Self::CmdSelectRogueCommonDialogueOptionCsReq => {
                "CmdSelectRogueCommonDialogueOptionCsReq"
            }
            Self::CmdGetRogueShopFormulaInfoScRsp => "CmdGetRogueShopFormulaInfoScRsp",
            Self::CmdRogueWorkbenchHandleFuncCsReq => "CmdRogueWorkbenchHandleFuncCsReq",
            Self::CmdPjfpipipojn => "CmdPJFPIPIPOJN",
            Self::CmdJljnnpiakgh => "CmdJLJNNPIAKGH",
            Self::CmdSyncRogueCommonPendingActionScNotify => {
                "CmdSyncRogueCommonPendingActionScNotify"
            }
            Self::CmdEdbogekadgp => "CmdEDBOGEKADGP",
            Self::CmdSetRogueCollectionScRsp => "CmdSetRogueCollectionScRsp",
            Self::CmdGetRogueHandbookDataScRsp => "CmdGetRogueHandbookDataScRsp",
            Self::CmdRogueWorkbenchGetInfoScRsp => "CmdRogueWorkbenchGetInfoScRsp",
            Self::CmdHandleRogueCommonPendingActionCsReq => {
                "CmdHandleRogueCommonPendingActionCsReq"
            }
            Self::CmdSyncRogueHandbookDataUpdateScNotify => {
                "CmdSyncRogueHandbookDataUpdateScNotify"
            }
            Self::CmdTakeEventHandbookRewardScRsp => "CmdTakeEventHandbookRewardScRsp",
            Self::CmdBuyRogueShopBuffScRsp => "CmdBuyRogueShopBuffScRsp",
            Self::CmdCkpkiinilka => "CmdCKPKIINILKA",
            Self::CmdCommonRogueUpdateScNotify => "CmdCommonRogueUpdateScNotify",
            Self::CmdSyncRogueCommonDialogueDataScNotify => {
                "CmdSyncRogueCommonDialogueDataScNotify"
            }
            Self::CmdGetRogueCommonDialogueDataCsReq => {
                "CmdGetRogueCommonDialogueDataCsReq"
            }
            Self::CmdRogueShopBeginBattleCsReq => "CmdRogueShopBeginBattleCsReq",
            Self::CmdRogueShopBeginBattleScRsp => "CmdRogueShopBeginBattleScRsp",
            Self::CmdMchijnkkoam => "CmdMCHIJNKKOAM",
            Self::CmdRogueGetGambleInfoCsReq => "CmdRogueGetGambleInfoCsReq",
            Self::CmdLecigppcmab => "CmdLECIGPPCMAB",
            Self::CmdCedcddphbog => "CmdCEDCDDPHBOG",
            Self::CmdGetRogueHandbookDataCsReq => "CmdGetRogueHandbookDataCsReq",
            Self::CmdGetRogueShopFormulaInfoCsReq => "CmdGetRogueShopFormulaInfoCsReq",
            Self::CmdSetRogueExhibitionCsReq => "CmdSetRogueExhibitionCsReq",
            Self::EganmdeffgmEcgcipcgadi => "EGANMDEFFGM_ECGCIPCGADI",
            Self::CmdTakeRogueMiracleHandbookRewardScRsp => {
                "CmdTakeRogueMiracleHandbookRewardScRsp"
            }
            Self::CmdDcadhjhjmmd => "CmdDCADHJHJMMD",
            Self::EganmdeffgmFppolddigff => "EGANMDEFFGM_FPPOLDDIGFF",
            Self::CmdCommonRogueQueryCsReq => "CmdCommonRogueQueryCsReq",
            Self::CmdTakeRogueMiracleHandbookRewardCsReq => {
                "CmdTakeRogueMiracleHandbookRewardCsReq"
            }
            Self::CmdSelectRogueCommonDialogueOptionScRsp => {
                "CmdSelectRogueCommonDialogueOptionScRsp"
            }
            Self::CmdSyncRogueCommonActionResultScNotify => {
                "CmdSyncRogueCommonActionResultScNotify"
            }
            Self::CmdGknpeghpcmh => "CmdGKNPEGHPCMH",
            Self::CmdMjepclpmkki => "CmdMJEPCLPMKKI",
            Self::CmdBuyRogueShopFormulaScRsp => "CmdBuyRogueShopFormulaScRsp",
            Self::CmdGetRogueCommonDialogueDataScRsp => {
                "CmdGetRogueCommonDialogueDataScRsp"
            }
            Self::EganmdeffgmDnnecbllkbo => "EGANMDEFFGM_DNNECBLLKBO",
            Self::CmdMknbfmjgkbm => "CmdMKNBFMJGKBM",
            Self::CmdLpdpajgfbmm => "CmdLPDPAJGFBMM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EGANMDEFFGM_NLCDGIPGFDJ" => Some(Self::EganmdeffgmNlcdgipgfdj),
            "CmdLNKEEAKFEHM" => Some(Self::CmdLnkeeakfehm),
            "CmdSetRogueCollectionCsReq" => Some(Self::CmdSetRogueCollectionCsReq),
            "CmdBuyRogueShopMiracleScRsp" => Some(Self::CmdBuyRogueShopMiracleScRsp),
            "CmdGetRogueShopMiracleInfoCsReq" => {
                Some(Self::CmdGetRogueShopMiracleInfoCsReq)
            }
            "CmdBuyRogueShopMiracleCsReq" => Some(Self::CmdBuyRogueShopMiracleCsReq),
            "CmdGetRogueShopMiracleInfoScRsp" => {
                Some(Self::CmdGetRogueShopMiracleInfoScRsp)
            }
            "CmdSyncRogueCommonDialogueOptionFinishScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueOptionFinishScNotify)
            }
            "CmdFLCPMJGCHID" => Some(Self::CmdFlcpmjgchid),
            "CmdRogueWorkbenchHandleFuncScRsp" => {
                Some(Self::CmdRogueWorkbenchHandleFuncScRsp)
            }
            "CmdCommonRogueVirtualItemInfoScNotify" => {
                Some(Self::CmdCommonRogueVirtualItemInfoScNotify)
            }
            "CmdRogueWorkbenchGetInfoCsReq" => Some(Self::CmdRogueWorkbenchGetInfoCsReq),
            "CmdTakeEventHandbookRewardCsReq" => {
                Some(Self::CmdTakeEventHandbookRewardCsReq)
            }
            "CmdSetRogueExhibitionScRsp" => Some(Self::CmdSetRogueExhibitionScRsp),
            "CmdGetRogueShopBuffInfoCsReq" => Some(Self::CmdGetRogueShopBuffInfoCsReq),
            "CmdRogueDoGambleScRsp" => Some(Self::CmdRogueDoGambleScRsp),
            "CmdRogueGetGambleInfoScRsp" => Some(Self::CmdRogueGetGambleInfoScRsp),
            "CmdHandleRogueCommonPendingActionScRsp" => {
                Some(Self::CmdHandleRogueCommonPendingActionScRsp)
            }
            "CmdGetRogueShopBuffInfoScRsp" => Some(Self::CmdGetRogueShopBuffInfoScRsp),
            "EGANMDEFFGM_CDCNMGIJEHJ" => Some(Self::EganmdeffgmCdcnmgijehj),
            "CmdBIHACLHMAKO" => Some(Self::CmdBihaclhmako),
            "CmdRogueDoGambleCsReq" => Some(Self::CmdRogueDoGambleCsReq),
            "CmdCommonRogueQueryScRsp" => Some(Self::CmdCommonRogueQueryScRsp),
            "CmdSelectRogueCommonDialogueOptionCsReq" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionCsReq)
            }
            "CmdGetRogueShopFormulaInfoScRsp" => {
                Some(Self::CmdGetRogueShopFormulaInfoScRsp)
            }
            "CmdRogueWorkbenchHandleFuncCsReq" => {
                Some(Self::CmdRogueWorkbenchHandleFuncCsReq)
            }
            "CmdPJFPIPIPOJN" => Some(Self::CmdPjfpipipojn),
            "CmdJLJNNPIAKGH" => Some(Self::CmdJljnnpiakgh),
            "CmdSyncRogueCommonPendingActionScNotify" => {
                Some(Self::CmdSyncRogueCommonPendingActionScNotify)
            }
            "CmdEDBOGEKADGP" => Some(Self::CmdEdbogekadgp),
            "CmdSetRogueCollectionScRsp" => Some(Self::CmdSetRogueCollectionScRsp),
            "CmdGetRogueHandbookDataScRsp" => Some(Self::CmdGetRogueHandbookDataScRsp),
            "CmdRogueWorkbenchGetInfoScRsp" => Some(Self::CmdRogueWorkbenchGetInfoScRsp),
            "CmdHandleRogueCommonPendingActionCsReq" => {
                Some(Self::CmdHandleRogueCommonPendingActionCsReq)
            }
            "CmdSyncRogueHandbookDataUpdateScNotify" => {
                Some(Self::CmdSyncRogueHandbookDataUpdateScNotify)
            }
            "CmdTakeEventHandbookRewardScRsp" => {
                Some(Self::CmdTakeEventHandbookRewardScRsp)
            }
            "CmdBuyRogueShopBuffScRsp" => Some(Self::CmdBuyRogueShopBuffScRsp),
            "CmdCKPKIINILKA" => Some(Self::CmdCkpkiinilka),
            "CmdCommonRogueUpdateScNotify" => Some(Self::CmdCommonRogueUpdateScNotify),
            "CmdSyncRogueCommonDialogueDataScNotify" => {
                Some(Self::CmdSyncRogueCommonDialogueDataScNotify)
            }
            "CmdGetRogueCommonDialogueDataCsReq" => {
                Some(Self::CmdGetRogueCommonDialogueDataCsReq)
            }
            "CmdRogueShopBeginBattleCsReq" => Some(Self::CmdRogueShopBeginBattleCsReq),
            "CmdRogueShopBeginBattleScRsp" => Some(Self::CmdRogueShopBeginBattleScRsp),
            "CmdMCHIJNKKOAM" => Some(Self::CmdMchijnkkoam),
            "CmdRogueGetGambleInfoCsReq" => Some(Self::CmdRogueGetGambleInfoCsReq),
            "CmdLECIGPPCMAB" => Some(Self::CmdLecigppcmab),
            "CmdCEDCDDPHBOG" => Some(Self::CmdCedcddphbog),
            "CmdGetRogueHandbookDataCsReq" => Some(Self::CmdGetRogueHandbookDataCsReq),
            "CmdGetRogueShopFormulaInfoCsReq" => {
                Some(Self::CmdGetRogueShopFormulaInfoCsReq)
            }
            "CmdSetRogueExhibitionCsReq" => Some(Self::CmdSetRogueExhibitionCsReq),
            "EGANMDEFFGM_ECGCIPCGADI" => Some(Self::EganmdeffgmEcgcipcgadi),
            "CmdTakeRogueMiracleHandbookRewardScRsp" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardScRsp)
            }
            "CmdDCADHJHJMMD" => Some(Self::CmdDcadhjhjmmd),
            "EGANMDEFFGM_FPPOLDDIGFF" => Some(Self::EganmdeffgmFppolddigff),
            "CmdCommonRogueQueryCsReq" => Some(Self::CmdCommonRogueQueryCsReq),
            "CmdTakeRogueMiracleHandbookRewardCsReq" => {
                Some(Self::CmdTakeRogueMiracleHandbookRewardCsReq)
            }
            "CmdSelectRogueCommonDialogueOptionScRsp" => {
                Some(Self::CmdSelectRogueCommonDialogueOptionScRsp)
            }
            "CmdSyncRogueCommonActionResultScNotify" => {
                Some(Self::CmdSyncRogueCommonActionResultScNotify)
            }
            "CmdGKNPEGHPCMH" => Some(Self::CmdGknpeghpcmh),
            "CmdMJEPCLPMKKI" => Some(Self::CmdMjepclpmkki),
            "CmdBuyRogueShopFormulaScRsp" => Some(Self::CmdBuyRogueShopFormulaScRsp),
            "CmdGetRogueCommonDialogueDataScRsp" => {
                Some(Self::CmdGetRogueCommonDialogueDataScRsp)
            }
            "EGANMDEFFGM_DNNECBLLKBO" => Some(Self::EganmdeffgmDnnecbllkbo),
            "CmdMKNBFMJGKBM" => Some(Self::CmdMknbfmjgkbm),
            "CmdLPDPAJGFBMM" => Some(Self::CmdLpdpajgfbmm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lbggaglbcpc {
    Nlcdgipgfdj = 0,
    Jigjdofejmi = 1,
    Bbnehdgpggh = 2,
    Bhimjohlhhk = 3,
}
impl Lbggaglbcpc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "LBGGAGLBCPC_NLCDGIPGFDJ",
            Self::Jigjdofejmi => "LBGGAGLBCPC_JIGJDOFEJMI",
            Self::Bbnehdgpggh => "LBGGAGLBCPC_BBNEHDGPGGH",
            Self::Bhimjohlhhk => "LBGGAGLBCPC_BHIMJOHLHHK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBGGAGLBCPC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "LBGGAGLBCPC_JIGJDOFEJMI" => Some(Self::Jigjdofejmi),
            "LBGGAGLBCPC_BBNEHDGPGGH" => Some(Self::Bbnehdgpggh),
            "LBGGAGLBCPC_BHIMJOHLHHK" => Some(Self::Bhimjohlhhk),
            _ => None,
        }
    }
}
/// Obf: CLNECBOMHMN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueCommonBuffSelectSourceType {
    ClnecbomhmnNlcdgipgfdj = 0,
    ClnecbomhmnOhfgcmenfdh = 1,
    ClnecbomhmnBgdgiiokhgf = 2,
    ClnecbomhmnMcggeaahbpd = 3,
    ClnecbomhmnEmalbalanlh = 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::ClnecbomhmnNlcdgipgfdj => "CLNECBOMHMN_NLCDGIPGFDJ",
            Self::ClnecbomhmnOhfgcmenfdh => "CLNECBOMHMN_OHFGCMENFDH",
            Self::ClnecbomhmnBgdgiiokhgf => "CLNECBOMHMN_BGDGIIOKHGF",
            Self::ClnecbomhmnMcggeaahbpd => "CLNECBOMHMN_MCGGEAAHBPD",
            Self::ClnecbomhmnEmalbalanlh => "CLNECBOMHMN_EMALBALANLH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CLNECBOMHMN_NLCDGIPGFDJ" => Some(Self::ClnecbomhmnNlcdgipgfdj),
            "CLNECBOMHMN_OHFGCMENFDH" => Some(Self::ClnecbomhmnOhfgcmenfdh),
            "CLNECBOMHMN_BGDGIIOKHGF" => Some(Self::ClnecbomhmnBgdgiiokhgf),
            "CLNECBOMHMN_MCGGEAAHBPD" => Some(Self::ClnecbomhmnMcggeaahbpd),
            "CLNECBOMHMN_EMALBALANLH" => Some(Self::ClnecbomhmnEmalbalanlh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mgjdnghdikg {
    Anbkdjkhcbi = 0,
    Ddjlllnadil = 1,
    Nlclcppdlgm = 2,
    Fdacpoinieo = 3,
    Bjdfgoachgf = 4,
    Eclbimkakjc = 5,
}
impl Mgjdnghdikg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Anbkdjkhcbi => "MGJDNGHDIKG_ANBKDJKHCBI",
            Self::Ddjlllnadil => "MGJDNGHDIKG_DDJLLLNADIL",
            Self::Nlclcppdlgm => "MGJDNGHDIKG_NLCLCPPDLGM",
            Self::Fdacpoinieo => "MGJDNGHDIKG_FDACPOINIEO",
            Self::Bjdfgoachgf => "MGJDNGHDIKG_BJDFGOACHGF",
            Self::Eclbimkakjc => "MGJDNGHDIKG_ECLBIMKAKJC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MGJDNGHDIKG_ANBKDJKHCBI" => Some(Self::Anbkdjkhcbi),
            "MGJDNGHDIKG_DDJLLLNADIL" => Some(Self::Ddjlllnadil),
            "MGJDNGHDIKG_NLCLCPPDLGM" => Some(Self::Nlclcppdlgm),
            "MGJDNGHDIKG_FDACPOINIEO" => Some(Self::Fdacpoinieo),
            "MGJDNGHDIKG_BJDFGOACHGF" => Some(Self::Bjdfgoachgf),
            "MGJDNGHDIKG_ECLBIMKAKJC" => Some(Self::Eclbimkakjc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jnmnjkckjla {
    Nlcdgipgfdj = 0,
    Ohfgcmenfdh = 1,
    Bgdgiiokhgf = 2,
    Mcggeaahbpd = 3,
    Emalbalanlh = 4,
}
impl Jnmnjkckjla {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JNMNJKCKJLA_NLCDGIPGFDJ",
            Self::Ohfgcmenfdh => "JNMNJKCKJLA_OHFGCMENFDH",
            Self::Bgdgiiokhgf => "JNMNJKCKJLA_BGDGIIOKHGF",
            Self::Mcggeaahbpd => "JNMNJKCKJLA_MCGGEAAHBPD",
            Self::Emalbalanlh => "JNMNJKCKJLA_EMALBALANLH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNMNJKCKJLA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JNMNJKCKJLA_OHFGCMENFDH" => Some(Self::Ohfgcmenfdh),
            "JNMNJKCKJLA_BGDGIIOKHGF" => Some(Self::Bgdgiiokhgf),
            "JNMNJKCKJLA_MCGGEAAHBPD" => Some(Self::Mcggeaahbpd),
            "JNMNJKCKJLA_EMALBALANLH" => Some(Self::Emalbalanlh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Paicehdhlej {
    Nlcdgipgfdj = 0,
    Egfcfcbhjjp = 1,
    Aalcfbogfkp = 2,
}
impl Paicehdhlej {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PAICEHDHLEJ_NLCDGIPGFDJ",
            Self::Egfcfcbhjjp => "PAICEHDHLEJ_EGFCFCBHJJP",
            Self::Aalcfbogfkp => "PAICEHDHLEJ_AALCFBOGFKP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PAICEHDHLEJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PAICEHDHLEJ_EGFCFCBHJJP" => Some(Self::Egfcfcbhjjp),
            "PAICEHDHLEJ_AALCFBOGFKP" => Some(Self::Aalcfbogfkp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Enelbghangf {
    Nlcdgipgfdj = 0,
    Egfcfcbhjjp = 1,
    Aalcfbogfkp = 2,
    Bfmanegohhe = 3,
}
impl Enelbghangf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "ENELBGHANGF_NLCDGIPGFDJ",
            Self::Egfcfcbhjjp => "ENELBGHANGF_EGFCFCBHJJP",
            Self::Aalcfbogfkp => "ENELBGHANGF_AALCFBOGFKP",
            Self::Bfmanegohhe => "ENELBGHANGF_BFMANEGOHHE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ENELBGHANGF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "ENELBGHANGF_EGFCFCBHJJP" => Some(Self::Egfcfcbhjjp),
            "ENELBGHANGF_AALCFBOGFKP" => Some(Self::Aalcfbogfkp),
            "ENELBGHANGF_BFMANEGOHHE" => Some(Self::Bfmanegohhe),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Alfkimgclpm {
    Nlcdgipgfdj = 0,
    Egfcfcbhjjp = 1,
    Aalcfbogfkp = 2,
}
impl Alfkimgclpm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "ALFKIMGCLPM_NLCDGIPGFDJ",
            Self::Egfcfcbhjjp => "ALFKIMGCLPM_EGFCFCBHJJP",
            Self::Aalcfbogfkp => "ALFKIMGCLPM_AALCFBOGFKP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALFKIMGCLPM_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "ALFKIMGCLPM_EGFCFCBHJJP" => Some(Self::Egfcfcbhjjp),
            "ALFKIMGCLPM_AALCFBOGFKP" => Some(Self::Aalcfbogfkp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Diceondkeff {
    Nlcdgipgfdj = 0,
    Icfoncmfnlg = 1,
    Kddipfacjaj = 2,
}
impl Diceondkeff {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "DICEONDKEFF_NLCDGIPGFDJ",
            Self::Icfoncmfnlg => "DICEONDKEFF_ICFONCMFNLG",
            Self::Kddipfacjaj => "DICEONDKEFF_KDDIPFACJAJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DICEONDKEFF_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "DICEONDKEFF_ICFONCMFNLG" => Some(Self::Icfoncmfnlg),
            "DICEONDKEFF_KDDIPFACJAJ" => Some(Self::Kddipfacjaj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nhhmepillhl {
    Nlcdgipgfdj = 0,
    Midkknagofa = 1,
    Fjmcihhigia = 2,
    Anbkdjkhcbi = 3,
    Nclbfaallfj = 4,
    Epcdlhffbli = 5,
    Mofniojhbbl = 6,
    Clngfdpindb = 7,
    Bgdgiiokhgf = 8,
    Mcggeaahbpd = 9,
    Fmpggenbhid = 10,
    Emalbalanlh = 11,
    Lfcdgliehai = 12,
    Dofdgkkljdd = 13,
    Jolnbchmdnn = 14,
    Bgplpipenjn = 15,
    Npafmebnfob = 16,
    Ikchchpgffj = 17,
}
impl Nhhmepillhl {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "NHHMEPILLHL_NLCDGIPGFDJ",
            Self::Midkknagofa => "NHHMEPILLHL_MIDKKNAGOFA",
            Self::Fjmcihhigia => "NHHMEPILLHL_FJMCIHHIGIA",
            Self::Anbkdjkhcbi => "NHHMEPILLHL_ANBKDJKHCBI",
            Self::Nclbfaallfj => "NHHMEPILLHL_NCLBFAALLFJ",
            Self::Epcdlhffbli => "NHHMEPILLHL_EPCDLHFFBLI",
            Self::Mofniojhbbl => "NHHMEPILLHL_MOFNIOJHBBL",
            Self::Clngfdpindb => "NHHMEPILLHL_CLNGFDPINDB",
            Self::Bgdgiiokhgf => "NHHMEPILLHL_BGDGIIOKHGF",
            Self::Mcggeaahbpd => "NHHMEPILLHL_MCGGEAAHBPD",
            Self::Fmpggenbhid => "NHHMEPILLHL_FMPGGENBHID",
            Self::Emalbalanlh => "NHHMEPILLHL_EMALBALANLH",
            Self::Lfcdgliehai => "NHHMEPILLHL_LFCDGLIEHAI",
            Self::Dofdgkkljdd => "NHHMEPILLHL_DOFDGKKLJDD",
            Self::Jolnbchmdnn => "NHHMEPILLHL_JOLNBCHMDNN",
            Self::Bgplpipenjn => "NHHMEPILLHL_BGPLPIPENJN",
            Self::Npafmebnfob => "NHHMEPILLHL_NPAFMEBNFOB",
            Self::Ikchchpgffj => "NHHMEPILLHL_IKCHCHPGFFJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NHHMEPILLHL_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "NHHMEPILLHL_MIDKKNAGOFA" => Some(Self::Midkknagofa),
            "NHHMEPILLHL_FJMCIHHIGIA" => Some(Self::Fjmcihhigia),
            "NHHMEPILLHL_ANBKDJKHCBI" => Some(Self::Anbkdjkhcbi),
            "NHHMEPILLHL_NCLBFAALLFJ" => Some(Self::Nclbfaallfj),
            "NHHMEPILLHL_EPCDLHFFBLI" => Some(Self::Epcdlhffbli),
            "NHHMEPILLHL_MOFNIOJHBBL" => Some(Self::Mofniojhbbl),
            "NHHMEPILLHL_CLNGFDPINDB" => Some(Self::Clngfdpindb),
            "NHHMEPILLHL_BGDGIIOKHGF" => Some(Self::Bgdgiiokhgf),
            "NHHMEPILLHL_MCGGEAAHBPD" => Some(Self::Mcggeaahbpd),
            "NHHMEPILLHL_FMPGGENBHID" => Some(Self::Fmpggenbhid),
            "NHHMEPILLHL_EMALBALANLH" => Some(Self::Emalbalanlh),
            "NHHMEPILLHL_LFCDGLIEHAI" => Some(Self::Lfcdgliehai),
            "NHHMEPILLHL_DOFDGKKLJDD" => Some(Self::Dofdgkkljdd),
            "NHHMEPILLHL_JOLNBCHMDNN" => Some(Self::Jolnbchmdnn),
            "NHHMEPILLHL_BGPLPIPENJN" => Some(Self::Bgplpipenjn),
            "NHHMEPILLHL_NPAFMEBNFOB" => Some(Self::Npafmebnfob),
            "NHHMEPILLHL_IKCHCHPGFFJ" => Some(Self::Ikchchpgffj),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ajcbeoilglf {
    Nmncoccjegm = 0,
    Dledglgpbci = 1,
    Ogjdiaddaaa = 2,
}
impl Ajcbeoilglf {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nmncoccjegm => "AJCBEOILGLF_NMNCOCCJEGM",
            Self::Dledglgpbci => "AJCBEOILGLF_DLEDGLGPBCI",
            Self::Ogjdiaddaaa => "AJCBEOILGLF_OGJDIADDAAA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AJCBEOILGLF_NMNCOCCJEGM" => Some(Self::Nmncoccjegm),
            "AJCBEOILGLF_DLEDGLGPBCI" => Some(Self::Dledglgpbci),
            "AJCBEOILGLF_OGJDIADDAAA" => Some(Self::Ogjdiaddaaa),
            _ => None,
        }
    }
}
/// Obf: PONHNPLLKAB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueTalentStatus {
    PonhnpllkabGajgbbfelel = 0,
    PonhnpllkabBfadfaelklj = 1,
    PonhnpllkabHasRecommand = 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::PonhnpllkabGajgbbfelel => "PONHNPLLKAB_GAJGBBFELEL",
            Self::PonhnpllkabBfadfaelklj => "PONHNPLLKAB_BFADFAELKLJ",
            Self::PonhnpllkabHasRecommand => "PONHNPLLKAB_has_recommand",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PONHNPLLKAB_GAJGBBFELEL" => Some(Self::PonhnpllkabGajgbbfelel),
            "PONHNPLLKAB_BFADFAELKLJ" => Some(Self::PonhnpllkabBfadfaelklj),
            "PONHNPLLKAB_has_recommand" => Some(Self::PonhnpllkabHasRecommand),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Migpnaoghep {
    Dooodkbgfco = 0,
    Cojlmfjmdkd = 1,
    Aokliphlbnn = 2,
}
impl Migpnaoghep {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Dooodkbgfco => "MIGPNAOGHEP_DOOODKBGFCO",
            Self::Cojlmfjmdkd => "MIGPNAOGHEP_COJLMFJMDKD",
            Self::Aokliphlbnn => "MIGPNAOGHEP_AOKLIPHLBNN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MIGPNAOGHEP_DOOODKBGFCO" => Some(Self::Dooodkbgfco),
            "MIGPNAOGHEP_COJLMFJMDKD" => Some(Self::Cojlmfjmdkd),
            "MIGPNAOGHEP_AOKLIPHLBNN" => Some(Self::Aokliphlbnn),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lbpljchejok {
    Nddpejhplhg = 0,
    Bmbgoiddijd = 1,
    Kjdpeeapjoo = 2,
}
impl Lbpljchejok {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nddpejhplhg => "LBPLJCHEJOK_NDDPEJHPLHG",
            Self::Bmbgoiddijd => "LBPLJCHEJOK_BMBGOIDDIJD",
            Self::Kjdpeeapjoo => "LBPLJCHEJOK_KJDPEEAPJOO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBPLJCHEJOK_NDDPEJHPLHG" => Some(Self::Nddpejhplhg),
            "LBPLJCHEJOK_BMBGOIDDIJD" => Some(Self::Bmbgoiddijd),
            "LBPLJCHEJOK_KJDPEEAPJOO" => Some(Self::Kjdpeeapjoo),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lpcebdcjboi {
    Ihengpdpcha = 0,
    Hmkepgcemon = 1,
    Gcmffanjmhf = 2,
}
impl Lpcebdcjboi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ihengpdpcha => "LPCEBDCJBOI_IHENGPDPCHA",
            Self::Hmkepgcemon => "LPCEBDCJBOI_HMKEPGCEMON",
            Self::Gcmffanjmhf => "LPCEBDCJBOI_GCMFFANJMHF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LPCEBDCJBOI_IHENGPDPCHA" => Some(Self::Ihengpdpcha),
            "LPCEBDCJBOI_HMKEPGCEMON" => Some(Self::Hmkepgcemon),
            "LPCEBDCJBOI_GCMFFANJMHF" => Some(Self::Gcmffanjmhf),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Nklaehjpimn {
    Fgofdmdbmal = 0,
    Gnggghlbneh = 1,
    Gihachnkfie = 2,
}
impl Nklaehjpimn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Fgofdmdbmal => "NKLAEHJPIMN_FGOFDMDBMAL",
            Self::Gnggghlbneh => "NKLAEHJPIMN_GNGGGHLBNEH",
            Self::Gihachnkfie => "NKLAEHJPIMN_GIHACHNKFIE",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NKLAEHJPIMN_FGOFDMDBMAL" => Some(Self::Fgofdmdbmal),
            "NKLAEHJPIMN_GNGGGHLBNEH" => Some(Self::Gnggghlbneh),
            "NKLAEHJPIMN_GIHACHNKFIE" => Some(Self::Gihachnkfie),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mmfogjpohgj {
    Nlcdgipgfdj = 0,
    Anbkdjkhcbi = 1,
    Cflnlfpnkpf = 2,
    Hhgahpnpcjn = 3,
    Eelbiojdkoh = 4,
    Cgbehiconcc = 5,
}
impl Mmfogjpohgj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "MMFOGJPOHGJ_NLCDGIPGFDJ",
            Self::Anbkdjkhcbi => "MMFOGJPOHGJ_ANBKDJKHCBI",
            Self::Cflnlfpnkpf => "MMFOGJPOHGJ_CFLNLFPNKPF",
            Self::Hhgahpnpcjn => "MMFOGJPOHGJ_HHGAHPNPCJN",
            Self::Eelbiojdkoh => "MMFOGJPOHGJ_EELBIOJDKOH",
            Self::Cgbehiconcc => "MMFOGJPOHGJ_CGBEHICONCC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MMFOGJPOHGJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "MMFOGJPOHGJ_ANBKDJKHCBI" => Some(Self::Anbkdjkhcbi),
            "MMFOGJPOHGJ_CFLNLFPNKPF" => Some(Self::Cflnlfpnkpf),
            "MMFOGJPOHGJ_HHGAHPNPCJN" => Some(Self::Hhgahpnpcjn),
            "MMFOGJPOHGJ_EELBIOJDKOH" => Some(Self::Eelbiojdkoh),
            "MMFOGJPOHGJ_CGBEHICONCC" => Some(Self::Cgbehiconcc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Beaikeeandp {
    Nlcdgipgfdj = 0,
    Nkdecdgecfl = 1,
    Lonknkfdpii = 2,
}
impl Beaikeeandp {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BEAIKEEANDP_NLCDGIPGFDJ",
            Self::Nkdecdgecfl => "BEAIKEEANDP_NKDECDGECFL",
            Self::Lonknkfdpii => "BEAIKEEANDP_LONKNKFDPII",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BEAIKEEANDP_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BEAIKEEANDP_NKDECDGECFL" => Some(Self::Nkdecdgecfl),
            "BEAIKEEANDP_LONKNKFDPII" => Some(Self::Lonknkfdpii),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jpoiohpjihj {
    Nlcdgipgfdj = 0,
    Klnbehchgig = 1,
    Poehmgllinh = 2,
    Ppoebjknlcb = 3,
    Icbhbildaaf = 4,
}
impl Jpoiohpjihj {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JPOIOHPJIHJ_NLCDGIPGFDJ",
            Self::Klnbehchgig => "JPOIOHPJIHJ_KLNBEHCHGIG",
            Self::Poehmgllinh => "JPOIOHPJIHJ_POEHMGLLINH",
            Self::Ppoebjknlcb => "JPOIOHPJIHJ_PPOEBJKNLCB",
            Self::Icbhbildaaf => "JPOIOHPJIHJ_ICBHBILDAAF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JPOIOHPJIHJ_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JPOIOHPJIHJ_KLNBEHCHGIG" => Some(Self::Klnbehchgig),
            "JPOIOHPJIHJ_POEHMGLLINH" => Some(Self::Poehmgllinh),
            "JPOIOHPJIHJ_PPOEBJKNLCB" => Some(Self::Ppoebjknlcb),
            "JPOIOHPJIHJ_ICBHBILDAAF" => Some(Self::Icbhbildaaf),
            _ => None,
        }
    }
}
/// Obf: LBADGLCGAOG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueEndlessType {
    LbadglcgaogMoljcefgpll = 0,
    CmdTakeRogueEndlessActivityPointRewardScRsp = 6002,
    CmdTakeRogueEndlessActivityPointRewardCsReq = 6006,
    CmdEnterRogueEndlessActivityStageScRsp = 6005,
    CmdEnterRogueEndlessActivityStageCsReq = 6003,
    CmdRogueEndlessActivityBattleEndScNotify = 6004,
    CmdGetRogueEndlessActivityDataCsReq = 6010,
    CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6009,
    CmdGetRogueEndlessActivityDataScRsp = 6001,
    CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6008,
}
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::LbadglcgaogMoljcefgpll => "LBADGLCGAOG_MOLJCEFGPLL",
            Self::CmdTakeRogueEndlessActivityPointRewardScRsp => {
                "CmdTakeRogueEndlessActivityPointRewardScRsp"
            }
            Self::CmdTakeRogueEndlessActivityPointRewardCsReq => {
                "CmdTakeRogueEndlessActivityPointRewardCsReq"
            }
            Self::CmdEnterRogueEndlessActivityStageScRsp => {
                "CmdEnterRogueEndlessActivityStageScRsp"
            }
            Self::CmdEnterRogueEndlessActivityStageCsReq => {
                "CmdEnterRogueEndlessActivityStageCsReq"
            }
            Self::CmdRogueEndlessActivityBattleEndScNotify => {
                "CmdRogueEndlessActivityBattleEndScNotify"
            }
            Self::CmdGetRogueEndlessActivityDataCsReq => {
                "CmdGetRogueEndlessActivityDataCsReq"
            }
            Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq => {
                "CmdTakeRogueEndlessActivityAllBonusRewardCsReq"
            }
            Self::CmdGetRogueEndlessActivityDataScRsp => {
                "CmdGetRogueEndlessActivityDataScRsp"
            }
            Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp => {
                "CmdTakeRogueEndlessActivityAllBonusRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LBADGLCGAOG_MOLJCEFGPLL" => Some(Self::LbadglcgaogMoljcefgpll),
            "CmdTakeRogueEndlessActivityPointRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardScRsp)
            }
            "CmdTakeRogueEndlessActivityPointRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityPointRewardCsReq)
            }
            "CmdEnterRogueEndlessActivityStageScRsp" => {
                Some(Self::CmdEnterRogueEndlessActivityStageScRsp)
            }
            "CmdEnterRogueEndlessActivityStageCsReq" => {
                Some(Self::CmdEnterRogueEndlessActivityStageCsReq)
            }
            "CmdRogueEndlessActivityBattleEndScNotify" => {
                Some(Self::CmdRogueEndlessActivityBattleEndScNotify)
            }
            "CmdGetRogueEndlessActivityDataCsReq" => {
                Some(Self::CmdGetRogueEndlessActivityDataCsReq)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardCsReq" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardCsReq)
            }
            "CmdGetRogueEndlessActivityDataScRsp" => {
                Some(Self::CmdGetRogueEndlessActivityDataScRsp)
            }
            "CmdTakeRogueEndlessActivityAllBonusRewardScRsp" => {
                Some(Self::CmdTakeRogueEndlessActivityAllBonusRewardScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: GCKCLGJIKFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueMagicType {
    GckclgjikfcElgpacemcgp = 0,
    CmdRogueMagicEnterScRsp = 7758,
    CmdGkmoakplbho = 7772,
    CmdRogueMagicEnterRoomCsReq = 7726,
    CmdRogueMagicReviveAvatarCsReq = 7745,
    CmdNadkcpcfipm = 7749,
    CmdRogueMagicSetAutoDressInMagicUnitScRsp = 7712,
    CmdRogueMagicStoryInfoUpdateScNotify = 7715,
    CmdRogueMagicSettleCsReq = 7786,
    CmdRogueMagicSettleScRsp = 7747,
    CmdRogueMagicGetMiscRealTimeDataCsReq = 7735,
    CmdHbcofddcgol = 7784,
    CmdRogueMagicUnitComposeCsReq = 7705,
    CmdRogueMagicUnitComposeScRsp = 7741,
    CmdRogueMagicStartScRsp = 7778,
    CmdRogueMagicReviveAvatarScRsp = 7769,
    CmdRogueMagicAutoDressInMagicUnitChangeScNotify = 7718,
    CmdRogueMagicAreaUpdateScNotify = 7738,
    CmdRogueMagicBattleFailSettleInfoScNotify = 7736,
    CmdRogueMagicEnterRoomScRsp = 7713,
    CmdRogueMagicLeaveScRsp = 7781,
    CmdNicajbejahc = 7744,
    CmdRogueMagicLevelInfoUpdateScNotify = 7733,
    CmdRogueMagicGetMiscRealTimeDataScRsp = 7775,
    CmdOhonllchifj = 7721,
    CmdRogueMagicEnterLayerCsReq = 7771,
    CmdRogueMagicQueryScRsp = 7730,
    CmdRogueMagicEnterLayerScRsp = 7740,
    CmdDbomcceifjo = 7780,
    CmdRogueMagicQueryCsReq = 7765,
    CmdRogueMagicLeaveCsReq = 7788,
    CmdRogueMagicStartCsReq = 7725,
    CmdRogueMagicReviveCostUpdateScNotify = 7748,
    CmdRogueMagicEnableTalentScRsp = 7796,
    CmdRogueMagicEnableTalentCsReq = 7734,
    CmdRogueMagicEnterCsReq = 7793,
    CmdRogueMagicSetAutoDressInMagicUnitCsReq = 7773,
}
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::GckclgjikfcElgpacemcgp => "GCKCLGJIKFC_ELGPACEMCGP",
            Self::CmdRogueMagicEnterScRsp => "CmdRogueMagicEnterScRsp",
            Self::CmdGkmoakplbho => "CmdGKMOAKPLBHO",
            Self::CmdRogueMagicEnterRoomCsReq => "CmdRogueMagicEnterRoomCsReq",
            Self::CmdRogueMagicReviveAvatarCsReq => "CmdRogueMagicReviveAvatarCsReq",
            Self::CmdNadkcpcfipm => "CmdNADKCPCFIPM",
            Self::CmdRogueMagicSetAutoDressInMagicUnitScRsp => {
                "CmdRogueMagicSetAutoDressInMagicUnitScRsp"
            }
            Self::CmdRogueMagicStoryInfoUpdateScNotify => {
                "CmdRogueMagicStoryInfoUpdateScNotify"
            }
            Self::CmdRogueMagicSettleCsReq => "CmdRogueMagicSettleCsReq",
            Self::CmdRogueMagicSettleScRsp => "CmdRogueMagicSettleScRsp",
            Self::CmdRogueMagicGetMiscRealTimeDataCsReq => {
                "CmdRogueMagicGetMiscRealTimeDataCsReq"
            }
            Self::CmdHbcofddcgol => "CmdHBCOFDDCGOL",
            Self::CmdRogueMagicUnitComposeCsReq => "CmdRogueMagicUnitComposeCsReq",
            Self::CmdRogueMagicUnitComposeScRsp => "CmdRogueMagicUnitComposeScRsp",
            Self::CmdRogueMagicStartScRsp => "CmdRogueMagicStartScRsp",
            Self::CmdRogueMagicReviveAvatarScRsp => "CmdRogueMagicReviveAvatarScRsp",
            Self::CmdRogueMagicAutoDressInMagicUnitChangeScNotify => {
                "CmdRogueMagicAutoDressInMagicUnitChangeScNotify"
            }
            Self::CmdRogueMagicAreaUpdateScNotify => "CmdRogueMagicAreaUpdateScNotify",
            Self::CmdRogueMagicBattleFailSettleInfoScNotify => {
                "CmdRogueMagicBattleFailSettleInfoScNotify"
            }
            Self::CmdRogueMagicEnterRoomScRsp => "CmdRogueMagicEnterRoomScRsp",
            Self::CmdRogueMagicLeaveScRsp => "CmdRogueMagicLeaveScRsp",
            Self::CmdNicajbejahc => "CmdNICAJBEJAHC",
            Self::CmdRogueMagicLevelInfoUpdateScNotify => {
                "CmdRogueMagicLevelInfoUpdateScNotify"
            }
            Self::CmdRogueMagicGetMiscRealTimeDataScRsp => {
                "CmdRogueMagicGetMiscRealTimeDataScRsp"
            }
            Self::CmdOhonllchifj => "CmdOHONLLCHIFJ",
            Self::CmdRogueMagicEnterLayerCsReq => "CmdRogueMagicEnterLayerCsReq",
            Self::CmdRogueMagicQueryScRsp => "CmdRogueMagicQueryScRsp",
            Self::CmdRogueMagicEnterLayerScRsp => "CmdRogueMagicEnterLayerScRsp",
            Self::CmdDbomcceifjo => "CmdDBOMCCEIFJO",
            Self::CmdRogueMagicQueryCsReq => "CmdRogueMagicQueryCsReq",
            Self::CmdRogueMagicLeaveCsReq => "CmdRogueMagicLeaveCsReq",
            Self::CmdRogueMagicStartCsReq => "CmdRogueMagicStartCsReq",
            Self::CmdRogueMagicReviveCostUpdateScNotify => {
                "CmdRogueMagicReviveCostUpdateScNotify"
            }
            Self::CmdRogueMagicEnableTalentScRsp => "CmdRogueMagicEnableTalentScRsp",
            Self::CmdRogueMagicEnableTalentCsReq => "CmdRogueMagicEnableTalentCsReq",
            Self::CmdRogueMagicEnterCsReq => "CmdRogueMagicEnterCsReq",
            Self::CmdRogueMagicSetAutoDressInMagicUnitCsReq => {
                "CmdRogueMagicSetAutoDressInMagicUnitCsReq"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GCKCLGJIKFC_ELGPACEMCGP" => Some(Self::GckclgjikfcElgpacemcgp),
            "CmdRogueMagicEnterScRsp" => Some(Self::CmdRogueMagicEnterScRsp),
            "CmdGKMOAKPLBHO" => Some(Self::CmdGkmoakplbho),
            "CmdRogueMagicEnterRoomCsReq" => Some(Self::CmdRogueMagicEnterRoomCsReq),
            "CmdRogueMagicReviveAvatarCsReq" => {
                Some(Self::CmdRogueMagicReviveAvatarCsReq)
            }
            "CmdNADKCPCFIPM" => Some(Self::CmdNadkcpcfipm),
            "CmdRogueMagicSetAutoDressInMagicUnitScRsp" => {
                Some(Self::CmdRogueMagicSetAutoDressInMagicUnitScRsp)
            }
            "CmdRogueMagicStoryInfoUpdateScNotify" => {
                Some(Self::CmdRogueMagicStoryInfoUpdateScNotify)
            }
            "CmdRogueMagicSettleCsReq" => Some(Self::CmdRogueMagicSettleCsReq),
            "CmdRogueMagicSettleScRsp" => Some(Self::CmdRogueMagicSettleScRsp),
            "CmdRogueMagicGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueMagicGetMiscRealTimeDataCsReq)
            }
            "CmdHBCOFDDCGOL" => Some(Self::CmdHbcofddcgol),
            "CmdRogueMagicUnitComposeCsReq" => Some(Self::CmdRogueMagicUnitComposeCsReq),
            "CmdRogueMagicUnitComposeScRsp" => Some(Self::CmdRogueMagicUnitComposeScRsp),
            "CmdRogueMagicStartScRsp" => Some(Self::CmdRogueMagicStartScRsp),
            "CmdRogueMagicReviveAvatarScRsp" => {
                Some(Self::CmdRogueMagicReviveAvatarScRsp)
            }
            "CmdRogueMagicAutoDressInMagicUnitChangeScNotify" => {
                Some(Self::CmdRogueMagicAutoDressInMagicUnitChangeScNotify)
            }
            "CmdRogueMagicAreaUpdateScNotify" => {
                Some(Self::CmdRogueMagicAreaUpdateScNotify)
            }
            "CmdRogueMagicBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueMagicBattleFailSettleInfoScNotify)
            }
            "CmdRogueMagicEnterRoomScRsp" => Some(Self::CmdRogueMagicEnterRoomScRsp),
            "CmdRogueMagicLeaveScRsp" => Some(Self::CmdRogueMagicLeaveScRsp),
            "CmdNICAJBEJAHC" => Some(Self::CmdNicajbejahc),
            "CmdRogueMagicLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueMagicLevelInfoUpdateScNotify)
            }
            "CmdRogueMagicGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueMagicGetMiscRealTimeDataScRsp)
            }
            "CmdOHONLLCHIFJ" => Some(Self::CmdOhonllchifj),
            "CmdRogueMagicEnterLayerCsReq" => Some(Self::CmdRogueMagicEnterLayerCsReq),
            "CmdRogueMagicQueryScRsp" => Some(Self::CmdRogueMagicQueryScRsp),
            "CmdRogueMagicEnterLayerScRsp" => Some(Self::CmdRogueMagicEnterLayerScRsp),
            "CmdDBOMCCEIFJO" => Some(Self::CmdDbomcceifjo),
            "CmdRogueMagicQueryCsReq" => Some(Self::CmdRogueMagicQueryCsReq),
            "CmdRogueMagicLeaveCsReq" => Some(Self::CmdRogueMagicLeaveCsReq),
            "CmdRogueMagicStartCsReq" => Some(Self::CmdRogueMagicStartCsReq),
            "CmdRogueMagicReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueMagicReviveCostUpdateScNotify)
            }
            "CmdRogueMagicEnableTalentScRsp" => {
                Some(Self::CmdRogueMagicEnableTalentScRsp)
            }
            "CmdRogueMagicEnableTalentCsReq" => {
                Some(Self::CmdRogueMagicEnableTalentCsReq)
            }
            "CmdRogueMagicEnterCsReq" => Some(Self::CmdRogueMagicEnterCsReq),
            "CmdRogueMagicSetAutoDressInMagicUnitCsReq" => {
                Some(Self::CmdRogueMagicSetAutoDressInMagicUnitCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Pfkhkambhbn {
    Nlcdgipgfdj = 0,
    Looaknhdbll = 1,
    Cckpncibdgp = 2,
    Jknpmimbgml = 3,
}
impl Pfkhkambhbn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "PFKHKAMBHBN_NLCDGIPGFDJ",
            Self::Looaknhdbll => "PFKHKAMBHBN_LOOAKNHDBLL",
            Self::Cckpncibdgp => "PFKHKAMBHBN_CCKPNCIBDGP",
            Self::Jknpmimbgml => "PFKHKAMBHBN_JKNPMIMBGML",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PFKHKAMBHBN_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "PFKHKAMBHBN_LOOAKNHDBLL" => Some(Self::Looaknhdbll),
            "PFKHKAMBHBN_CCKPNCIBDGP" => Some(Self::Cckpncibdgp),
            "PFKHKAMBHBN_JKNPMIMBGML" => Some(Self::Jknpmimbgml),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jgnaepijdnc {
    Nlcdgipgfdj = 0,
    Looaknhdbll = 1,
    Cihfgjdchia = 2,
}
impl Jgnaepijdnc {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JGNAEPIJDNC_NLCDGIPGFDJ",
            Self::Looaknhdbll => "JGNAEPIJDNC_LOOAKNHDBLL",
            Self::Cihfgjdchia => "JGNAEPIJDNC_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JGNAEPIJDNC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JGNAEPIJDNC_LOOAKNHDBLL" => Some(Self::Looaknhdbll),
            "JGNAEPIJDNC_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Hoifdjpbglb {
    Nlcdgipgfdj = 0,
    Jhhajdkpljh = 1,
    Looaknhdbll = 2,
    Cihfgjdchia = 3,
}
impl Hoifdjpbglb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "HOIFDJPBGLB_NLCDGIPGFDJ",
            Self::Jhhajdkpljh => "HOIFDJPBGLB_JHHAJDKPLJH",
            Self::Looaknhdbll => "HOIFDJPBGLB_LOOAKNHDBLL",
            Self::Cihfgjdchia => "HOIFDJPBGLB_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "HOIFDJPBGLB_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "HOIFDJPBGLB_JHHAJDKPLJH" => Some(Self::Jhhajdkpljh),
            "HOIFDJPBGLB_LOOAKNHDBLL" => Some(Self::Looaknhdbll),
            "HOIFDJPBGLB_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jamingbjhbk {
    Nlcdgipgfdj = 0,
    Ehniplneedi = 1,
    Pmkmeaagkap = 2,
    Mnbaghpefbc = 3,
}
impl Jamingbjhbk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JAMINGBJHBK_NLCDGIPGFDJ",
            Self::Ehniplneedi => "JAMINGBJHBK_EHNIPLNEEDI",
            Self::Pmkmeaagkap => "JAMINGBJHBK_PMKMEAAGKAP",
            Self::Mnbaghpefbc => "JAMINGBJHBK_MNBAGHPEFBC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JAMINGBJHBK_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JAMINGBJHBK_EHNIPLNEEDI" => Some(Self::Ehniplneedi),
            "JAMINGBJHBK_PMKMEAAGKAP" => Some(Self::Pmkmeaagkap),
            "JAMINGBJHBK_MNBAGHPEFBC" => Some(Self::Mnbaghpefbc),
            _ => None,
        }
    }
}
/// Obf: JKJGPOOLLKF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueModifierType {
    JkjgpoollkfNlcdgipgfdj = 0,
    CmdRogueModifierSelectCellScRsp = 5388,
    CmdRogueModifierSelectCellCsReq = 5358,
    CmdRogueModifierStageStartNotify = 5313,
    CmdRogueModifierAddNotify = 5393,
    CmdRogueModifierDelNotify = 5326,
    CmdRogueModifierUpdateNotify = 5347,
}
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::JkjgpoollkfNlcdgipgfdj => "JKJGPOOLLKF_NLCDGIPGFDJ",
            Self::CmdRogueModifierSelectCellScRsp => "CmdRogueModifierSelectCellScRsp",
            Self::CmdRogueModifierSelectCellCsReq => "CmdRogueModifierSelectCellCsReq",
            Self::CmdRogueModifierStageStartNotify => "CmdRogueModifierStageStartNotify",
            Self::CmdRogueModifierAddNotify => "CmdRogueModifierAddNotify",
            Self::CmdRogueModifierDelNotify => "CmdRogueModifierDelNotify",
            Self::CmdRogueModifierUpdateNotify => "CmdRogueModifierUpdateNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JKJGPOOLLKF_NLCDGIPGFDJ" => Some(Self::JkjgpoollkfNlcdgipgfdj),
            "CmdRogueModifierSelectCellScRsp" => {
                Some(Self::CmdRogueModifierSelectCellScRsp)
            }
            "CmdRogueModifierSelectCellCsReq" => {
                Some(Self::CmdRogueModifierSelectCellCsReq)
            }
            "CmdRogueModifierStageStartNotify" => {
                Some(Self::CmdRogueModifierStageStartNotify)
            }
            "CmdRogueModifierAddNotify" => Some(Self::CmdRogueModifierAddNotify),
            "CmdRogueModifierDelNotify" => Some(Self::CmdRogueModifierDelNotify),
            "CmdRogueModifierUpdateNotify" => Some(Self::CmdRogueModifierUpdateNotify),
            _ => None,
        }
    }
}
/// Obf: AMEIKAGDIFC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueModifierSourceType {
    AmeikagdifcPbgoaogcpla = 0,
    AmeikagdifcOlkbmglcenl = 1,
    AmeikagdifcAlpfginekil = 2,
    AmeikagdifcNndcinjlbpi = 3,
    AmeikagdifcMapkbmahbke = 4,
    AmeikagdifcDmgfeobeafd = 5,
    AmeikagdifcBcpomcgmffk = 6,
    AmeikagdifcLfahfljmfnk = 7,
    AmeikagdifcNoamemmfgkp = 8,
    AmeikagdifcHkoahekcjae = 9,
    AmeikagdifcIhgdlajajma = 10,
}
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::AmeikagdifcPbgoaogcpla => "AMEIKAGDIFC_PBGOAOGCPLA",
            Self::AmeikagdifcOlkbmglcenl => "AMEIKAGDIFC_OLKBMGLCENL",
            Self::AmeikagdifcAlpfginekil => "AMEIKAGDIFC_ALPFGINEKIL",
            Self::AmeikagdifcNndcinjlbpi => "AMEIKAGDIFC_NNDCINJLBPI",
            Self::AmeikagdifcMapkbmahbke => "AMEIKAGDIFC_MAPKBMAHBKE",
            Self::AmeikagdifcDmgfeobeafd => "AMEIKAGDIFC_DMGFEOBEAFD",
            Self::AmeikagdifcBcpomcgmffk => "AMEIKAGDIFC_BCPOMCGMFFK",
            Self::AmeikagdifcLfahfljmfnk => "AMEIKAGDIFC_LFAHFLJMFNK",
            Self::AmeikagdifcNoamemmfgkp => "AMEIKAGDIFC_NOAMEMMFGKP",
            Self::AmeikagdifcHkoahekcjae => "AMEIKAGDIFC_HKOAHEKCJAE",
            Self::AmeikagdifcIhgdlajajma => "AMEIKAGDIFC_IHGDLAJAJMA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AMEIKAGDIFC_PBGOAOGCPLA" => Some(Self::AmeikagdifcPbgoaogcpla),
            "AMEIKAGDIFC_OLKBMGLCENL" => Some(Self::AmeikagdifcOlkbmglcenl),
            "AMEIKAGDIFC_ALPFGINEKIL" => Some(Self::AmeikagdifcAlpfginekil),
            "AMEIKAGDIFC_NNDCINJLBPI" => Some(Self::AmeikagdifcNndcinjlbpi),
            "AMEIKAGDIFC_MAPKBMAHBKE" => Some(Self::AmeikagdifcMapkbmahbke),
            "AMEIKAGDIFC_DMGFEOBEAFD" => Some(Self::AmeikagdifcDmgfeobeafd),
            "AMEIKAGDIFC_BCPOMCGMFFK" => Some(Self::AmeikagdifcBcpomcgmffk),
            "AMEIKAGDIFC_LFAHFLJMFNK" => Some(Self::AmeikagdifcLfahfljmfnk),
            "AMEIKAGDIFC_NOAMEMMFGKP" => Some(Self::AmeikagdifcNoamemmfgkp),
            "AMEIKAGDIFC_HKOAHEKCJAE" => Some(Self::AmeikagdifcHkoahekcjae),
            "AMEIKAGDIFC_IHGDLAJAJMA" => Some(Self::AmeikagdifcIhgdlajajma),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Phaoiglgbmg {
    Oljcmibgngl = 0,
    Dlpkbbhkfbl = 1,
}
impl Phaoiglgbmg {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Oljcmibgngl => "PHAOIGLGBMG_OLJCMIBGNGL",
            Self::Dlpkbbhkfbl => "PHAOIGLGBMG_DLPKBBHKFBL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PHAOIGLGBMG_OLJCMIBGNGL" => Some(Self::Oljcmibgngl),
            "PHAOIGLGBMG_DLPKBBHKFBL" => Some(Self::Dlpkbbhkfbl),
            _ => None,
        }
    }
}
/// Obf: DIDFAHMPGBH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRogueTournType {
    DidfahmpgbhNlcdgipgfdj = 0,
    CmdRogueTournEnableSeasonTalentCsReq = 6014,
    CmdRogueTournWeekChallengeUpdateScNotify = 6084,
    CmdRogueTournGetPermanentTalentInfoCsReq = 6097,
    CmdRogueTournEnterLayerCsReq = 6061,
    CmdRogueTournEnterRogueCocoonSceneCsReq = 6072,
    CmdRogueTournGetCurRogueCocoonInfoScRsp = 6090,
    CmdRogueTournRenameArchiveScRsp = 6057,
    CmdRogueTournSettleCsReq = 6085,
    CmdRogueTournConfirmSettleCsReq = 6056,
    CmdRogueTournEnterCsReq = 6080,
    CmdRogueTournReviveCostUpdateScNotify = 6039,
    CmdRogueTournReEnterRogueCocoonStageScRsp = 6028,
    CmdRogueTournSaveBuildRefCsReq = 6059,
    CmdRogueTournGetSeasonTalentInfoScRsp = 6049,
    CmdRogueTournAreaUpdateScNotify = 6040,
    CmdRogueTournResetPermanentTalentScRsp = 6031,
    CmdRogueTournLeaveScRsp = 6062,
    CmdRogueTournLeaveCsReq = 6089,
    CmdRogueTournDeleteBuildRefScRsp = 6091,
    CmdRogueTournResetPermanentTalentCsReq = 6073,
    CmdRogueTournEnablePermanentTalentScRsp = 6058,
    CmdMniljcpcofg = 6078,
    CmdRogueTournGetAllArchiveCsReq = 6015,
    CmdRogueTournSettleScRsp = 6037,
    CmdRogueTournGetSeasonTalentInfoCsReq = 6022,
    CmdRogueTournStartScRsp = 6093,
    CmdRogueTournGetAllBuildRefScRsp = 6096,
    CmdRogueTournEnableSeasonTalentScRsp = 6038,
    CmdRogueTournBattleFailSettleInfoScNotify = 6024,
    CmdRogueTournGetArchiveRepositoryScRsp = 6026,
    CmdRogueTournDeleteArchiveCsReq = 6054,
    CmdRogueTournDeleteArchiveScRsp = 6081,
    CmdRogueTournEnablePermanentTalentCsReq = 6046,
    CmdRogueTournStartCsReq = 6023,
    CmdRogueTournGetSettleInfoScRsp = 6047,
    CmdRogueTournTakeExpRewardCsReq = 6036,
    CmdRogueTournDeleteBuildRefCsReq = 6070,
    CmdRogueTournEnterScRsp = 6043,
    CmdPalaopcbapc = 6069,
    CmdRogueTournReEnterRogueCocoonStageCsReq = 6025,
    CmdRogueTournQueryScRsp = 6052,
    CmdRogueTournRenameBuildRefCsReq = 6042,
    CmdRogueTournGetMiscRealTimeDataScRsp = 6063,
    CmdRogueTournEnterLayerScRsp = 6082,
    CmdJgfpijkofcc = 6092,
    CmdRogueTournGetArchiveRepositoryCsReq = 6033,
    CmdNpojnhkpkmn = 6074,
    CmdRogueTournTitanUpdateTitanBlessProgressScNotify = 6076,
    CmdRogueTournLeaveRogueCocoonSceneScRsp = 6053,
    CmdRogueTournSaveBuildRefScRsp = 6027,
    CmdRogueTournEnterRogueCocoonSceneScRsp = 6079,
    CmdRogueTournGetCurRogueCocoonInfoCsReq = 6065,
    CmdRogueTournLeaveRogueCocoonSceneCsReq = 6048,
    CmdRogueTournHandBookNotify = 6055,
    CmdRogueTournRenameBuildRefScRsp = 6098,
    CmdRogueTournTakeExpRewardScRsp = 6075,
    CmdRogueTournExpNotify = 6030,
    CmdRogueTournReviveAvatarScRsp = 6095,
    CmdRogueTournClearArchiveNameScNotify = 6016,
    CmdRogueTournQueryCsReq = 6068,
    CmdRogueTournRenameArchiveCsReq = 6021,
    CmdRogueTournConfirmSettleScRsp = 6029,
    CmdRogueTournUseSuperRewardKeyCsReq = 6013,
    CmdRogueTournGetAllArchiveScRsp = 6045,
    CmdRogueTournGetMiscRealTimeDataCsReq = 6094,
    CmdRogueTournGetAllBuildRefCsReq = 6051,
    CmdRogueTournUseSuperRewardKeyScRsp = 6011,
    CmdRogueTournEnterRoomScRsp = 6088,
    CmdRogueTournEnterRoomCsReq = 6044,
    CmdRogueTournGetPermanentTalentInfoScRsp = 6035,
    CmdRogueTournReviveAvatarCsReq = 6020,
    CmdRogueTournPersonaRoomCardZoneUpdateScNotify = 6019,
    CmdRogueTournLevelInfoUpdateScNotify = 6067,
    CmdRogueTournGetSettleInfoCsReq = 6083,
}
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::DidfahmpgbhNlcdgipgfdj => "DIDFAHMPGBH_NLCDGIPGFDJ",
            Self::CmdRogueTournEnableSeasonTalentCsReq => {
                "CmdRogueTournEnableSeasonTalentCsReq"
            }
            Self::CmdRogueTournWeekChallengeUpdateScNotify => {
                "CmdRogueTournWeekChallengeUpdateScNotify"
            }
            Self::CmdRogueTournGetPermanentTalentInfoCsReq => {
                "CmdRogueTournGetPermanentTalentInfoCsReq"
            }
            Self::CmdRogueTournEnterLayerCsReq => "CmdRogueTournEnterLayerCsReq",
            Self::CmdRogueTournEnterRogueCocoonSceneCsReq => {
                "CmdRogueTournEnterRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournGetCurRogueCocoonInfoScRsp => {
                "CmdRogueTournGetCurRogueCocoonInfoScRsp"
            }
            Self::CmdRogueTournRenameArchiveScRsp => "CmdRogueTournRenameArchiveScRsp",
            Self::CmdRogueTournSettleCsReq => "CmdRogueTournSettleCsReq",
            Self::CmdRogueTournConfirmSettleCsReq => "CmdRogueTournConfirmSettleCsReq",
            Self::CmdRogueTournEnterCsReq => "CmdRogueTournEnterCsReq",
            Self::CmdRogueTournReviveCostUpdateScNotify => {
                "CmdRogueTournReviveCostUpdateScNotify"
            }
            Self::CmdRogueTournReEnterRogueCocoonStageScRsp => {
                "CmdRogueTournReEnterRogueCocoonStageScRsp"
            }
            Self::CmdRogueTournSaveBuildRefCsReq => "CmdRogueTournSaveBuildRefCsReq",
            Self::CmdRogueTournGetSeasonTalentInfoScRsp => {
                "CmdRogueTournGetSeasonTalentInfoScRsp"
            }
            Self::CmdRogueTournAreaUpdateScNotify => "CmdRogueTournAreaUpdateScNotify",
            Self::CmdRogueTournResetPermanentTalentScRsp => {
                "CmdRogueTournResetPermanentTalentScRsp"
            }
            Self::CmdRogueTournLeaveScRsp => "CmdRogueTournLeaveScRsp",
            Self::CmdRogueTournLeaveCsReq => "CmdRogueTournLeaveCsReq",
            Self::CmdRogueTournDeleteBuildRefScRsp => "CmdRogueTournDeleteBuildRefScRsp",
            Self::CmdRogueTournResetPermanentTalentCsReq => {
                "CmdRogueTournResetPermanentTalentCsReq"
            }
            Self::CmdRogueTournEnablePermanentTalentScRsp => {
                "CmdRogueTournEnablePermanentTalentScRsp"
            }
            Self::CmdMniljcpcofg => "CmdMNILJCPCOFG",
            Self::CmdRogueTournGetAllArchiveCsReq => "CmdRogueTournGetAllArchiveCsReq",
            Self::CmdRogueTournSettleScRsp => "CmdRogueTournSettleScRsp",
            Self::CmdRogueTournGetSeasonTalentInfoCsReq => {
                "CmdRogueTournGetSeasonTalentInfoCsReq"
            }
            Self::CmdRogueTournStartScRsp => "CmdRogueTournStartScRsp",
            Self::CmdRogueTournGetAllBuildRefScRsp => "CmdRogueTournGetAllBuildRefScRsp",
            Self::CmdRogueTournEnableSeasonTalentScRsp => {
                "CmdRogueTournEnableSeasonTalentScRsp"
            }
            Self::CmdRogueTournBattleFailSettleInfoScNotify => {
                "CmdRogueTournBattleFailSettleInfoScNotify"
            }
            Self::CmdRogueTournGetArchiveRepositoryScRsp => {
                "CmdRogueTournGetArchiveRepositoryScRsp"
            }
            Self::CmdRogueTournDeleteArchiveCsReq => "CmdRogueTournDeleteArchiveCsReq",
            Self::CmdRogueTournDeleteArchiveScRsp => "CmdRogueTournDeleteArchiveScRsp",
            Self::CmdRogueTournEnablePermanentTalentCsReq => {
                "CmdRogueTournEnablePermanentTalentCsReq"
            }
            Self::CmdRogueTournStartCsReq => "CmdRogueTournStartCsReq",
            Self::CmdRogueTournGetSettleInfoScRsp => "CmdRogueTournGetSettleInfoScRsp",
            Self::CmdRogueTournTakeExpRewardCsReq => "CmdRogueTournTakeExpRewardCsReq",
            Self::CmdRogueTournDeleteBuildRefCsReq => "CmdRogueTournDeleteBuildRefCsReq",
            Self::CmdRogueTournEnterScRsp => "CmdRogueTournEnterScRsp",
            Self::CmdPalaopcbapc => "CmdPALAOPCBAPC",
            Self::CmdRogueTournReEnterRogueCocoonStageCsReq => {
                "CmdRogueTournReEnterRogueCocoonStageCsReq"
            }
            Self::CmdRogueTournQueryScRsp => "CmdRogueTournQueryScRsp",
            Self::CmdRogueTournRenameBuildRefCsReq => "CmdRogueTournRenameBuildRefCsReq",
            Self::CmdRogueTournGetMiscRealTimeDataScRsp => {
                "CmdRogueTournGetMiscRealTimeDataScRsp"
            }
            Self::CmdRogueTournEnterLayerScRsp => "CmdRogueTournEnterLayerScRsp",
            Self::CmdJgfpijkofcc => "CmdJGFPIJKOFCC",
            Self::CmdRogueTournGetArchiveRepositoryCsReq => {
                "CmdRogueTournGetArchiveRepositoryCsReq"
            }
            Self::CmdNpojnhkpkmn => "CmdNPOJNHKPKMN",
            Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify => {
                "CmdRogueTournTitanUpdateTitanBlessProgressScNotify"
            }
            Self::CmdRogueTournLeaveRogueCocoonSceneScRsp => {
                "CmdRogueTournLeaveRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournSaveBuildRefScRsp => "CmdRogueTournSaveBuildRefScRsp",
            Self::CmdRogueTournEnterRogueCocoonSceneScRsp => {
                "CmdRogueTournEnterRogueCocoonSceneScRsp"
            }
            Self::CmdRogueTournGetCurRogueCocoonInfoCsReq => {
                "CmdRogueTournGetCurRogueCocoonInfoCsReq"
            }
            Self::CmdRogueTournLeaveRogueCocoonSceneCsReq => {
                "CmdRogueTournLeaveRogueCocoonSceneCsReq"
            }
            Self::CmdRogueTournHandBookNotify => "CmdRogueTournHandBookNotify",
            Self::CmdRogueTournRenameBuildRefScRsp => "CmdRogueTournRenameBuildRefScRsp",
            Self::CmdRogueTournTakeExpRewardScRsp => "CmdRogueTournTakeExpRewardScRsp",
            Self::CmdRogueTournExpNotify => "CmdRogueTournExpNotify",
            Self::CmdRogueTournReviveAvatarScRsp => "CmdRogueTournReviveAvatarScRsp",
            Self::CmdRogueTournClearArchiveNameScNotify => {
                "CmdRogueTournClearArchiveNameScNotify"
            }
            Self::CmdRogueTournQueryCsReq => "CmdRogueTournQueryCsReq",
            Self::CmdRogueTournRenameArchiveCsReq => "CmdRogueTournRenameArchiveCsReq",
            Self::CmdRogueTournConfirmSettleScRsp => "CmdRogueTournConfirmSettleScRsp",
            Self::CmdRogueTournUseSuperRewardKeyCsReq => {
                "CmdRogueTournUseSuperRewardKeyCsReq"
            }
            Self::CmdRogueTournGetAllArchiveScRsp => "CmdRogueTournGetAllArchiveScRsp",
            Self::CmdRogueTournGetMiscRealTimeDataCsReq => {
                "CmdRogueTournGetMiscRealTimeDataCsReq"
            }
            Self::CmdRogueTournGetAllBuildRefCsReq => "CmdRogueTournGetAllBuildRefCsReq",
            Self::CmdRogueTournUseSuperRewardKeyScRsp => {
                "CmdRogueTournUseSuperRewardKeyScRsp"
            }
            Self::CmdRogueTournEnterRoomScRsp => "CmdRogueTournEnterRoomScRsp",
            Self::CmdRogueTournEnterRoomCsReq => "CmdRogueTournEnterRoomCsReq",
            Self::CmdRogueTournGetPermanentTalentInfoScRsp => {
                "CmdRogueTournGetPermanentTalentInfoScRsp"
            }
            Self::CmdRogueTournReviveAvatarCsReq => "CmdRogueTournReviveAvatarCsReq",
            Self::CmdRogueTournPersonaRoomCardZoneUpdateScNotify => {
                "CmdRogueTournPersonaRoomCardZoneUpdateScNotify"
            }
            Self::CmdRogueTournLevelInfoUpdateScNotify => {
                "CmdRogueTournLevelInfoUpdateScNotify"
            }
            Self::CmdRogueTournGetSettleInfoCsReq => "CmdRogueTournGetSettleInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DIDFAHMPGBH_NLCDGIPGFDJ" => Some(Self::DidfahmpgbhNlcdgipgfdj),
            "CmdRogueTournEnableSeasonTalentCsReq" => {
                Some(Self::CmdRogueTournEnableSeasonTalentCsReq)
            }
            "CmdRogueTournWeekChallengeUpdateScNotify" => {
                Some(Self::CmdRogueTournWeekChallengeUpdateScNotify)
            }
            "CmdRogueTournGetPermanentTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoCsReq)
            }
            "CmdRogueTournEnterLayerCsReq" => Some(Self::CmdRogueTournEnterLayerCsReq),
            "CmdRogueTournEnterRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneCsReq)
            }
            "CmdRogueTournGetCurRogueCocoonInfoScRsp" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoScRsp)
            }
            "CmdRogueTournRenameArchiveScRsp" => {
                Some(Self::CmdRogueTournRenameArchiveScRsp)
            }
            "CmdRogueTournSettleCsReq" => Some(Self::CmdRogueTournSettleCsReq),
            "CmdRogueTournConfirmSettleCsReq" => {
                Some(Self::CmdRogueTournConfirmSettleCsReq)
            }
            "CmdRogueTournEnterCsReq" => Some(Self::CmdRogueTournEnterCsReq),
            "CmdRogueTournReviveCostUpdateScNotify" => {
                Some(Self::CmdRogueTournReviveCostUpdateScNotify)
            }
            "CmdRogueTournReEnterRogueCocoonStageScRsp" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageScRsp)
            }
            "CmdRogueTournSaveBuildRefCsReq" => {
                Some(Self::CmdRogueTournSaveBuildRefCsReq)
            }
            "CmdRogueTournGetSeasonTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoScRsp)
            }
            "CmdRogueTournAreaUpdateScNotify" => {
                Some(Self::CmdRogueTournAreaUpdateScNotify)
            }
            "CmdRogueTournResetPermanentTalentScRsp" => {
                Some(Self::CmdRogueTournResetPermanentTalentScRsp)
            }
            "CmdRogueTournLeaveScRsp" => Some(Self::CmdRogueTournLeaveScRsp),
            "CmdRogueTournLeaveCsReq" => Some(Self::CmdRogueTournLeaveCsReq),
            "CmdRogueTournDeleteBuildRefScRsp" => {
                Some(Self::CmdRogueTournDeleteBuildRefScRsp)
            }
            "CmdRogueTournResetPermanentTalentCsReq" => {
                Some(Self::CmdRogueTournResetPermanentTalentCsReq)
            }
            "CmdRogueTournEnablePermanentTalentScRsp" => {
                Some(Self::CmdRogueTournEnablePermanentTalentScRsp)
            }
            "CmdMNILJCPCOFG" => Some(Self::CmdMniljcpcofg),
            "CmdRogueTournGetAllArchiveCsReq" => {
                Some(Self::CmdRogueTournGetAllArchiveCsReq)
            }
            "CmdRogueTournSettleScRsp" => Some(Self::CmdRogueTournSettleScRsp),
            "CmdRogueTournGetSeasonTalentInfoCsReq" => {
                Some(Self::CmdRogueTournGetSeasonTalentInfoCsReq)
            }
            "CmdRogueTournStartScRsp" => Some(Self::CmdRogueTournStartScRsp),
            "CmdRogueTournGetAllBuildRefScRsp" => {
                Some(Self::CmdRogueTournGetAllBuildRefScRsp)
            }
            "CmdRogueTournEnableSeasonTalentScRsp" => {
                Some(Self::CmdRogueTournEnableSeasonTalentScRsp)
            }
            "CmdRogueTournBattleFailSettleInfoScNotify" => {
                Some(Self::CmdRogueTournBattleFailSettleInfoScNotify)
            }
            "CmdRogueTournGetArchiveRepositoryScRsp" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryScRsp)
            }
            "CmdRogueTournDeleteArchiveCsReq" => {
                Some(Self::CmdRogueTournDeleteArchiveCsReq)
            }
            "CmdRogueTournDeleteArchiveScRsp" => {
                Some(Self::CmdRogueTournDeleteArchiveScRsp)
            }
            "CmdRogueTournEnablePermanentTalentCsReq" => {
                Some(Self::CmdRogueTournEnablePermanentTalentCsReq)
            }
            "CmdRogueTournStartCsReq" => Some(Self::CmdRogueTournStartCsReq),
            "CmdRogueTournGetSettleInfoScRsp" => {
                Some(Self::CmdRogueTournGetSettleInfoScRsp)
            }
            "CmdRogueTournTakeExpRewardCsReq" => {
                Some(Self::CmdRogueTournTakeExpRewardCsReq)
            }
            "CmdRogueTournDeleteBuildRefCsReq" => {
                Some(Self::CmdRogueTournDeleteBuildRefCsReq)
            }
            "CmdRogueTournEnterScRsp" => Some(Self::CmdRogueTournEnterScRsp),
            "CmdPALAOPCBAPC" => Some(Self::CmdPalaopcbapc),
            "CmdRogueTournReEnterRogueCocoonStageCsReq" => {
                Some(Self::CmdRogueTournReEnterRogueCocoonStageCsReq)
            }
            "CmdRogueTournQueryScRsp" => Some(Self::CmdRogueTournQueryScRsp),
            "CmdRogueTournRenameBuildRefCsReq" => {
                Some(Self::CmdRogueTournRenameBuildRefCsReq)
            }
            "CmdRogueTournGetMiscRealTimeDataScRsp" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataScRsp)
            }
            "CmdRogueTournEnterLayerScRsp" => Some(Self::CmdRogueTournEnterLayerScRsp),
            "CmdJGFPIJKOFCC" => Some(Self::CmdJgfpijkofcc),
            "CmdRogueTournGetArchiveRepositoryCsReq" => {
                Some(Self::CmdRogueTournGetArchiveRepositoryCsReq)
            }
            "CmdNPOJNHKPKMN" => Some(Self::CmdNpojnhkpkmn),
            "CmdRogueTournTitanUpdateTitanBlessProgressScNotify" => {
                Some(Self::CmdRogueTournTitanUpdateTitanBlessProgressScNotify)
            }
            "CmdRogueTournLeaveRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneScRsp)
            }
            "CmdRogueTournSaveBuildRefScRsp" => {
                Some(Self::CmdRogueTournSaveBuildRefScRsp)
            }
            "CmdRogueTournEnterRogueCocoonSceneScRsp" => {
                Some(Self::CmdRogueTournEnterRogueCocoonSceneScRsp)
            }
            "CmdRogueTournGetCurRogueCocoonInfoCsReq" => {
                Some(Self::CmdRogueTournGetCurRogueCocoonInfoCsReq)
            }
            "CmdRogueTournLeaveRogueCocoonSceneCsReq" => {
                Some(Self::CmdRogueTournLeaveRogueCocoonSceneCsReq)
            }
            "CmdRogueTournHandBookNotify" => Some(Self::CmdRogueTournHandBookNotify),
            "CmdRogueTournRenameBuildRefScRsp" => {
                Some(Self::CmdRogueTournRenameBuildRefScRsp)
            }
            "CmdRogueTournTakeExpRewardScRsp" => {
                Some(Self::CmdRogueTournTakeExpRewardScRsp)
            }
            "CmdRogueTournExpNotify" => Some(Self::CmdRogueTournExpNotify),
            "CmdRogueTournReviveAvatarScRsp" => {
                Some(Self::CmdRogueTournReviveAvatarScRsp)
            }
            "CmdRogueTournClearArchiveNameScNotify" => {
                Some(Self::CmdRogueTournClearArchiveNameScNotify)
            }
            "CmdRogueTournQueryCsReq" => Some(Self::CmdRogueTournQueryCsReq),
            "CmdRogueTournRenameArchiveCsReq" => {
                Some(Self::CmdRogueTournRenameArchiveCsReq)
            }
            "CmdRogueTournConfirmSettleScRsp" => {
                Some(Self::CmdRogueTournConfirmSettleScRsp)
            }
            "CmdRogueTournUseSuperRewardKeyCsReq" => {
                Some(Self::CmdRogueTournUseSuperRewardKeyCsReq)
            }
            "CmdRogueTournGetAllArchiveScRsp" => {
                Some(Self::CmdRogueTournGetAllArchiveScRsp)
            }
            "CmdRogueTournGetMiscRealTimeDataCsReq" => {
                Some(Self::CmdRogueTournGetMiscRealTimeDataCsReq)
            }
            "CmdRogueTournGetAllBuildRefCsReq" => {
                Some(Self::CmdRogueTournGetAllBuildRefCsReq)
            }
            "CmdRogueTournUseSuperRewardKeyScRsp" => {
                Some(Self::CmdRogueTournUseSuperRewardKeyScRsp)
            }
            "CmdRogueTournEnterRoomScRsp" => Some(Self::CmdRogueTournEnterRoomScRsp),
            "CmdRogueTournEnterRoomCsReq" => Some(Self::CmdRogueTournEnterRoomCsReq),
            "CmdRogueTournGetPermanentTalentInfoScRsp" => {
                Some(Self::CmdRogueTournGetPermanentTalentInfoScRsp)
            }
            "CmdRogueTournReviveAvatarCsReq" => {
                Some(Self::CmdRogueTournReviveAvatarCsReq)
            }
            "CmdRogueTournPersonaRoomCardZoneUpdateScNotify" => {
                Some(Self::CmdRogueTournPersonaRoomCardZoneUpdateScNotify)
            }
            "CmdRogueTournLevelInfoUpdateScNotify" => {
                Some(Self::CmdRogueTournLevelInfoUpdateScNotify)
            }
            "CmdRogueTournGetSettleInfoCsReq" => {
                Some(Self::CmdRogueTournGetSettleInfoCsReq)
            }
            _ => None,
        }
    }
}
/// Obf: NHMPGNHBBLC
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RogueTournLevelStatus {
    NhmpgnhbblcNlcdgipgfdj = 0,
    NhmpgnhbblcLooaknhdbll = 1,
    NhmpgnhbblcCckpncibdgp = 2,
    NhmpgnhbblcJknpmimbgml = 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::NhmpgnhbblcNlcdgipgfdj => "NHMPGNHBBLC_NLCDGIPGFDJ",
            Self::NhmpgnhbblcLooaknhdbll => "NHMPGNHBBLC_LOOAKNHDBLL",
            Self::NhmpgnhbblcCckpncibdgp => "NHMPGNHBBLC_CCKPNCIBDGP",
            Self::NhmpgnhbblcJknpmimbgml => "NHMPGNHBBLC_JKNPMIMBGML",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NHMPGNHBBLC_NLCDGIPGFDJ" => Some(Self::NhmpgnhbblcNlcdgipgfdj),
            "NHMPGNHBBLC_LOOAKNHDBLL" => Some(Self::NhmpgnhbblcLooaknhdbll),
            "NHMPGNHBBLC_CCKPNCIBDGP" => Some(Self::NhmpgnhbblcCckpncibdgp),
            "NHMPGNHBBLC_JKNPMIMBGML" => Some(Self::NhmpgnhbblcJknpmimbgml),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Idcbnmfdico {
    Nlcdgipgfdj = 0,
    Looaknhdbll = 1,
    Cihfgjdchia = 2,
}
impl Idcbnmfdico {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "IDCBNMFDICO_NLCDGIPGFDJ",
            Self::Looaknhdbll => "IDCBNMFDICO_LOOAKNHDBLL",
            Self::Cihfgjdchia => "IDCBNMFDICO_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IDCBNMFDICO_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "IDCBNMFDICO_LOOAKNHDBLL" => Some(Self::Looaknhdbll),
            "IDCBNMFDICO_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Iiaogeiadga {
    Nlcdgipgfdj = 0,
    Jhhajdkpljh = 1,
    Looaknhdbll = 2,
    Cihfgjdchia = 3,
}
impl Iiaogeiadga {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "IIAOGEIADGA_NLCDGIPGFDJ",
            Self::Jhhajdkpljh => "IIAOGEIADGA_JHHAJDKPLJH",
            Self::Looaknhdbll => "IIAOGEIADGA_LOOAKNHDBLL",
            Self::Cihfgjdchia => "IIAOGEIADGA_CIHFGJDCHIA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IIAOGEIADGA_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "IIAOGEIADGA_JHHAJDKPLJH" => Some(Self::Jhhajdkpljh),
            "IIAOGEIADGA_LOOAKNHDBLL" => Some(Self::Looaknhdbll),
            "IIAOGEIADGA_CIHFGJDCHIA" => Some(Self::Cihfgjdchia),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Fkngoglnkig {
    Nlcdgipgfdj = 0,
    Ehniplneedi = 1,
    Pmkmeaagkap = 2,
    Mnbaghpefbc = 3,
}
impl Fkngoglnkig {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "FKNGOGLNKIG_NLCDGIPGFDJ",
            Self::Ehniplneedi => "FKNGOGLNKIG_EHNIPLNEEDI",
            Self::Pmkmeaagkap => "FKNGOGLNKIG_PMKMEAAGKAP",
            Self::Mnbaghpefbc => "FKNGOGLNKIG_MNBAGHPEFBC",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FKNGOGLNKIG_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "FKNGOGLNKIG_EHNIPLNEEDI" => Some(Self::Ehniplneedi),
            "FKNGOGLNKIG_PMKMEAAGKAP" => Some(Self::Pmkmeaagkap),
            "FKNGOGLNKIG_MNBAGHPEFBC" => Some(Self::Mnbaghpefbc),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jgjleklgpil {
    Ddcdlgbiill = 0,
    Bndaaepcpja = 1,
    Chbmdckjofk = 2,
    Aclfimibokk = 3,
    Mlpmlknikac = 4,
    Deoickddfco = 5,
    Okbnjopccjm = 6,
    Ckjfoiclfbb = 7,
    Mahmljlljlo = 8,
}
impl Jgjleklgpil {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Ddcdlgbiill => "JGJLEKLGPIL_DDCDLGBIILL",
            Self::Bndaaepcpja => "JGJLEKLGPIL_BNDAAEPCPJA",
            Self::Chbmdckjofk => "JGJLEKLGPIL_CHBMDCKJOFK",
            Self::Aclfimibokk => "JGJLEKLGPIL_ACLFIMIBOKK",
            Self::Mlpmlknikac => "JGJLEKLGPIL_MLPMLKNIKAC",
            Self::Deoickddfco => "JGJLEKLGPIL_DEOICKDDFCO",
            Self::Okbnjopccjm => "JGJLEKLGPIL_OKBNJOPCCJM",
            Self::Ckjfoiclfbb => "JGJLEKLGPIL_CKJFOICLFBB",
            Self::Mahmljlljlo => "JGJLEKLGPIL_MAHMLJLLJLO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JGJLEKLGPIL_DDCDLGBIILL" => Some(Self::Ddcdlgbiill),
            "JGJLEKLGPIL_BNDAAEPCPJA" => Some(Self::Bndaaepcpja),
            "JGJLEKLGPIL_CHBMDCKJOFK" => Some(Self::Chbmdckjofk),
            "JGJLEKLGPIL_ACLFIMIBOKK" => Some(Self::Aclfimibokk),
            "JGJLEKLGPIL_MLPMLKNIKAC" => Some(Self::Mlpmlknikac),
            "JGJLEKLGPIL_DEOICKDDFCO" => Some(Self::Deoickddfco),
            "JGJLEKLGPIL_OKBNJOPCCJM" => Some(Self::Okbnjopccjm),
            "JGJLEKLGPIL_CKJFOICLFBB" => Some(Self::Ckjfoiclfbb),
            "JGJLEKLGPIL_MAHMLJLLJLO" => Some(Self::Mahmljlljlo),
            _ => None,
        }
    }
}
/// Obf: OHCMLBPONOB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdRollShopType {
    OhcmlbponobNlcdgipgfdj = 0,
    CmdDoGachaInRollShopScRsp = 6912,
    CmdDoGachaInRollShopCsReq = 6903,
    CmdTakeRollShopRewardCsReq = 6902,
    CmdGetRollShopInfoScRsp = 6908,
    CmdTakeRollShopRewardScRsp = 6917,
    CmdGetRollShopInfoCsReq = 6918,
}
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::OhcmlbponobNlcdgipgfdj => "OHCMLBPONOB_NLCDGIPGFDJ",
            Self::CmdDoGachaInRollShopScRsp => "CmdDoGachaInRollShopScRsp",
            Self::CmdDoGachaInRollShopCsReq => "CmdDoGachaInRollShopCsReq",
            Self::CmdTakeRollShopRewardCsReq => "CmdTakeRollShopRewardCsReq",
            Self::CmdGetRollShopInfoScRsp => "CmdGetRollShopInfoScRsp",
            Self::CmdTakeRollShopRewardScRsp => "CmdTakeRollShopRewardScRsp",
            Self::CmdGetRollShopInfoCsReq => "CmdGetRollShopInfoCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OHCMLBPONOB_NLCDGIPGFDJ" => Some(Self::OhcmlbponobNlcdgipgfdj),
            "CmdDoGachaInRollShopScRsp" => Some(Self::CmdDoGachaInRollShopScRsp),
            "CmdDoGachaInRollShopCsReq" => Some(Self::CmdDoGachaInRollShopCsReq),
            "CmdTakeRollShopRewardCsReq" => Some(Self::CmdTakeRollShopRewardCsReq),
            "CmdGetRollShopInfoScRsp" => Some(Self::CmdGetRollShopInfoScRsp),
            "CmdTakeRollShopRewardScRsp" => Some(Self::CmdTakeRollShopRewardScRsp),
            "CmdGetRollShopInfoCsReq" => Some(Self::CmdGetRollShopInfoCsReq),
            _ => None,
        }
    }
}
/// Obf: JHDCKJGDKBE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSceneType {
    JhdckjgdkbeNlcdgipgfdj = 0,
    CmdGetCurSceneInfoScRsp = 1447,
    CmdSceneCastSkillScRsp = 1481,
    CmdGetSceneMapInfoScRsp = 1460,
    CmdSetClientPausedScRsp = 1444,
    CmdHnglcigbngb = 1445,
    CmdEnterSceneCsReq = 1427,
    CmdInteractPropScRsp = 1458,
    CmdGetEnteredSceneCsReq = 1424,
    CmdKcfmjcbjgmn = 1463,
    CmdIlccpicilff = 1468,
    CmdSceneEntityTeleportCsReq = 1474,
    CmdGetUnlockTeleportScRsp = 1470,
    CmdEnterSceneScRsp = 1423,
    CmdMnepaigbpgm = 1465,
    CmdDeleteSummonUnitCsReq = 1408,
    CmdGetUnlockTeleportCsReq = 1432,
    CmdEnteredSceneChangeScNotify = 1477,
    CmdSceneEnterStageScRsp = 1442,
    CmdSceneCastSkillCostMpScRsp = 1439,
    CmdSceneGroupRefreshScNotify = 1491,
    CmdTrainWorldIdChangeScNotify = 1454,
    CmdGroupStateChangeCsReq = 1479,
    CmdOpenChestScNotify = 1497,
    CmdRefreshTriggerByClientScNotify = 1500,
    CmdSetGroupCustomSaveDataScRsp = 1462,
    CmdSetTrainWorldIdCsReq = 1456,
    CmdSceneCheckpoingRefreshScRsp = 1448,
    CmdGmabbkempnp = 1409,
    CmdRefreshTriggerByClientCsReq = 1431,
    CmdGroupStateChangeScRsp = 1407,
    CmdSceneReviveAfterRebattleCsReq = 1472,
    CmdStartCocoonStageCsReq = 1496,
    CmdEnterSectionCsReq = 1484,
    CmdSceneEntityMoveScNotify = 1471,
    CmdCounterDownCsReq = 1401,
    CmdSetGroupCustomSaveDataCsReq = 1498,
    CmdGetSceneMapInfoCsReq = 1417,
    JhdckjgdkbeJiaehcicdlj = 1469,
    CmdUpdateGroupPropertyScRsp = 1450,
    CmdDeactivateFarmElementScRsp = 1418,
    CmdDeactivateFarmElementCsReq = 1415,
    CmdEbadahnbiih = 1459,
    CmdStartCocoonStageScRsp = 1473,
    CmdSceneReviveAfterRebattleScRsp = 1480,
    CmdCounterDownScRsp = 1464,
    CmdSyncServerSceneChangeNotify = 1490,
    CmdSetClientPausedCsReq = 1475,
    CmdSceneEntityMoveCsReq = 1425,
    CmdSavePointsInfoNotify = 1434,
    CmdUpdateGroupPropertyCsReq = 1461,
    CmdSceneCastSkillCostMpCsReq = 1438,
    CmdChangePropTimelineInfoScRsp = 1413,
    CmdSceneEntityMoveScRsp = 1478,
    CmdReEnterLastElementStageCsReq = 1416,
    CmdChangePropTimelineInfoCsReq = 1426,
    CmdSceneEnterStageCsReq = 1430,
    CmdDeleteSummonUnitScRsp = 1467,
    CmdUpdateFloorSavedValueNotify = 1403,
    CmdActiveFarmElementCsReq = 1453,
    CmdEnterSceneByServerScNotify = 1483,
    CmdSyncEntityBuffChangeListScNotify = 1433,
    CmdPdhbdpnpmpi = 1429,
    CmdRefreshTriggerByClientScRsp = 1402,
    CmdOchpfjekngm = 1405,
    CmdEnterSectionScRsp = 1421,
    CmdSceneCheckpoingRefreshCsReq = 1436,
    CmdReEnterLastElementStageScRsp = 1406,
    CmdSceneCastSkillMpUpdateScNotify = 1404,
    CmdGetCurSceneInfoCsReq = 1486,
    CmdScenePlaneEventScNotify = 1495,
    CmdInteractPropCsReq = 1493,
    CmdSceneEntityTeleportScRsp = 1457,
    CmdGetEnteredSceneScRsp = 1485,
    CmdActiveFarmElementScRsp = 1452,
    CmdSceneCastSkillCsReq = 1488,
    CmdSetTrainWorldIdScRsp = 1422,
    CmdFdgobnjpkjg = 1440,
    CmdUnlockTeleportNotify = 1492,
}
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::JhdckjgdkbeNlcdgipgfdj => "JHDCKJGDKBE_NLCDGIPGFDJ",
            Self::CmdGetCurSceneInfoScRsp => "CmdGetCurSceneInfoScRsp",
            Self::CmdSceneCastSkillScRsp => "CmdSceneCastSkillScRsp",
            Self::CmdGetSceneMapInfoScRsp => "CmdGetSceneMapInfoScRsp",
            Self::CmdSetClientPausedScRsp => "CmdSetClientPausedScRsp",
            Self::CmdHnglcigbngb => "CmdHNGLCIGBNGB",
            Self::CmdEnterSceneCsReq => "CmdEnterSceneCsReq",
            Self::CmdInteractPropScRsp => "CmdInteractPropScRsp",
            Self::CmdGetEnteredSceneCsReq => "CmdGetEnteredSceneCsReq",
            Self::CmdKcfmjcbjgmn => "CmdKCFMJCBJGMN",
            Self::CmdIlccpicilff => "CmdILCCPICILFF",
            Self::CmdSceneEntityTeleportCsReq => "CmdSceneEntityTeleportCsReq",
            Self::CmdGetUnlockTeleportScRsp => "CmdGetUnlockTeleportScRsp",
            Self::CmdEnterSceneScRsp => "CmdEnterSceneScRsp",
            Self::CmdMnepaigbpgm => "CmdMNEPAIGBPGM",
            Self::CmdDeleteSummonUnitCsReq => "CmdDeleteSummonUnitCsReq",
            Self::CmdGetUnlockTeleportCsReq => "CmdGetUnlockTeleportCsReq",
            Self::CmdEnteredSceneChangeScNotify => "CmdEnteredSceneChangeScNotify",
            Self::CmdSceneEnterStageScRsp => "CmdSceneEnterStageScRsp",
            Self::CmdSceneCastSkillCostMpScRsp => "CmdSceneCastSkillCostMpScRsp",
            Self::CmdSceneGroupRefreshScNotify => "CmdSceneGroupRefreshScNotify",
            Self::CmdTrainWorldIdChangeScNotify => "CmdTrainWorldIdChangeScNotify",
            Self::CmdGroupStateChangeCsReq => "CmdGroupStateChangeCsReq",
            Self::CmdOpenChestScNotify => "CmdOpenChestScNotify",
            Self::CmdRefreshTriggerByClientScNotify => {
                "CmdRefreshTriggerByClientScNotify"
            }
            Self::CmdSetGroupCustomSaveDataScRsp => "CmdSetGroupCustomSaveDataScRsp",
            Self::CmdSetTrainWorldIdCsReq => "CmdSetTrainWorldIdCsReq",
            Self::CmdSceneCheckpoingRefreshScRsp => "CmdSceneCheckpoingRefreshScRsp",
            Self::CmdGmabbkempnp => "CmdGMABBKEMPNP",
            Self::CmdRefreshTriggerByClientCsReq => "CmdRefreshTriggerByClientCsReq",
            Self::CmdGroupStateChangeScRsp => "CmdGroupStateChangeScRsp",
            Self::CmdSceneReviveAfterRebattleCsReq => "CmdSceneReviveAfterRebattleCsReq",
            Self::CmdStartCocoonStageCsReq => "CmdStartCocoonStageCsReq",
            Self::CmdEnterSectionCsReq => "CmdEnterSectionCsReq",
            Self::CmdSceneEntityMoveScNotify => "CmdSceneEntityMoveScNotify",
            Self::CmdCounterDownCsReq => "CmdCounterDownCsReq",
            Self::CmdSetGroupCustomSaveDataCsReq => "CmdSetGroupCustomSaveDataCsReq",
            Self::CmdGetSceneMapInfoCsReq => "CmdGetSceneMapInfoCsReq",
            Self::JhdckjgdkbeJiaehcicdlj => "JHDCKJGDKBE_JIAEHCICDLJ",
            Self::CmdUpdateGroupPropertyScRsp => "CmdUpdateGroupPropertyScRsp",
            Self::CmdDeactivateFarmElementScRsp => "CmdDeactivateFarmElementScRsp",
            Self::CmdDeactivateFarmElementCsReq => "CmdDeactivateFarmElementCsReq",
            Self::CmdEbadahnbiih => "CmdEBADAHNBIIH",
            Self::CmdStartCocoonStageScRsp => "CmdStartCocoonStageScRsp",
            Self::CmdSceneReviveAfterRebattleScRsp => "CmdSceneReviveAfterRebattleScRsp",
            Self::CmdCounterDownScRsp => "CmdCounterDownScRsp",
            Self::CmdSyncServerSceneChangeNotify => "CmdSyncServerSceneChangeNotify",
            Self::CmdSetClientPausedCsReq => "CmdSetClientPausedCsReq",
            Self::CmdSceneEntityMoveCsReq => "CmdSceneEntityMoveCsReq",
            Self::CmdSavePointsInfoNotify => "CmdSavePointsInfoNotify",
            Self::CmdUpdateGroupPropertyCsReq => "CmdUpdateGroupPropertyCsReq",
            Self::CmdSceneCastSkillCostMpCsReq => "CmdSceneCastSkillCostMpCsReq",
            Self::CmdChangePropTimelineInfoScRsp => "CmdChangePropTimelineInfoScRsp",
            Self::CmdSceneEntityMoveScRsp => "CmdSceneEntityMoveScRsp",
            Self::CmdReEnterLastElementStageCsReq => "CmdReEnterLastElementStageCsReq",
            Self::CmdChangePropTimelineInfoCsReq => "CmdChangePropTimelineInfoCsReq",
            Self::CmdSceneEnterStageCsReq => "CmdSceneEnterStageCsReq",
            Self::CmdDeleteSummonUnitScRsp => "CmdDeleteSummonUnitScRsp",
            Self::CmdUpdateFloorSavedValueNotify => "CmdUpdateFloorSavedValueNotify",
            Self::CmdActiveFarmElementCsReq => "CmdActiveFarmElementCsReq",
            Self::CmdEnterSceneByServerScNotify => "CmdEnterSceneByServerScNotify",
            Self::CmdSyncEntityBuffChangeListScNotify => {
                "CmdSyncEntityBuffChangeListScNotify"
            }
            Self::CmdPdhbdpnpmpi => "CmdPDHBDPNPMPI",
            Self::CmdRefreshTriggerByClientScRsp => "CmdRefreshTriggerByClientScRsp",
            Self::CmdOchpfjekngm => "CmdOCHPFJEKNGM",
            Self::CmdEnterSectionScRsp => "CmdEnterSectionScRsp",
            Self::CmdSceneCheckpoingRefreshCsReq => "CmdSceneCheckpoingRefreshCsReq",
            Self::CmdReEnterLastElementStageScRsp => "CmdReEnterLastElementStageScRsp",
            Self::CmdSceneCastSkillMpUpdateScNotify => {
                "CmdSceneCastSkillMpUpdateScNotify"
            }
            Self::CmdGetCurSceneInfoCsReq => "CmdGetCurSceneInfoCsReq",
            Self::CmdScenePlaneEventScNotify => "CmdScenePlaneEventScNotify",
            Self::CmdInteractPropCsReq => "CmdInteractPropCsReq",
            Self::CmdSceneEntityTeleportScRsp => "CmdSceneEntityTeleportScRsp",
            Self::CmdGetEnteredSceneScRsp => "CmdGetEnteredSceneScRsp",
            Self::CmdActiveFarmElementScRsp => "CmdActiveFarmElementScRsp",
            Self::CmdSceneCastSkillCsReq => "CmdSceneCastSkillCsReq",
            Self::CmdSetTrainWorldIdScRsp => "CmdSetTrainWorldIdScRsp",
            Self::CmdFdgobnjpkjg => "CmdFDGOBNJPKJG",
            Self::CmdUnlockTeleportNotify => "CmdUnlockTeleportNotify",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JHDCKJGDKBE_NLCDGIPGFDJ" => Some(Self::JhdckjgdkbeNlcdgipgfdj),
            "CmdGetCurSceneInfoScRsp" => Some(Self::CmdGetCurSceneInfoScRsp),
            "CmdSceneCastSkillScRsp" => Some(Self::CmdSceneCastSkillScRsp),
            "CmdGetSceneMapInfoScRsp" => Some(Self::CmdGetSceneMapInfoScRsp),
            "CmdSetClientPausedScRsp" => Some(Self::CmdSetClientPausedScRsp),
            "CmdHNGLCIGBNGB" => Some(Self::CmdHnglcigbngb),
            "CmdEnterSceneCsReq" => Some(Self::CmdEnterSceneCsReq),
            "CmdInteractPropScRsp" => Some(Self::CmdInteractPropScRsp),
            "CmdGetEnteredSceneCsReq" => Some(Self::CmdGetEnteredSceneCsReq),
            "CmdKCFMJCBJGMN" => Some(Self::CmdKcfmjcbjgmn),
            "CmdILCCPICILFF" => Some(Self::CmdIlccpicilff),
            "CmdSceneEntityTeleportCsReq" => Some(Self::CmdSceneEntityTeleportCsReq),
            "CmdGetUnlockTeleportScRsp" => Some(Self::CmdGetUnlockTeleportScRsp),
            "CmdEnterSceneScRsp" => Some(Self::CmdEnterSceneScRsp),
            "CmdMNEPAIGBPGM" => Some(Self::CmdMnepaigbpgm),
            "CmdDeleteSummonUnitCsReq" => Some(Self::CmdDeleteSummonUnitCsReq),
            "CmdGetUnlockTeleportCsReq" => Some(Self::CmdGetUnlockTeleportCsReq),
            "CmdEnteredSceneChangeScNotify" => Some(Self::CmdEnteredSceneChangeScNotify),
            "CmdSceneEnterStageScRsp" => Some(Self::CmdSceneEnterStageScRsp),
            "CmdSceneCastSkillCostMpScRsp" => Some(Self::CmdSceneCastSkillCostMpScRsp),
            "CmdSceneGroupRefreshScNotify" => Some(Self::CmdSceneGroupRefreshScNotify),
            "CmdTrainWorldIdChangeScNotify" => Some(Self::CmdTrainWorldIdChangeScNotify),
            "CmdGroupStateChangeCsReq" => Some(Self::CmdGroupStateChangeCsReq),
            "CmdOpenChestScNotify" => Some(Self::CmdOpenChestScNotify),
            "CmdRefreshTriggerByClientScNotify" => {
                Some(Self::CmdRefreshTriggerByClientScNotify)
            }
            "CmdSetGroupCustomSaveDataScRsp" => {
                Some(Self::CmdSetGroupCustomSaveDataScRsp)
            }
            "CmdSetTrainWorldIdCsReq" => Some(Self::CmdSetTrainWorldIdCsReq),
            "CmdSceneCheckpoingRefreshScRsp" => {
                Some(Self::CmdSceneCheckpoingRefreshScRsp)
            }
            "CmdGMABBKEMPNP" => Some(Self::CmdGmabbkempnp),
            "CmdRefreshTriggerByClientCsReq" => {
                Some(Self::CmdRefreshTriggerByClientCsReq)
            }
            "CmdGroupStateChangeScRsp" => Some(Self::CmdGroupStateChangeScRsp),
            "CmdSceneReviveAfterRebattleCsReq" => {
                Some(Self::CmdSceneReviveAfterRebattleCsReq)
            }
            "CmdStartCocoonStageCsReq" => Some(Self::CmdStartCocoonStageCsReq),
            "CmdEnterSectionCsReq" => Some(Self::CmdEnterSectionCsReq),
            "CmdSceneEntityMoveScNotify" => Some(Self::CmdSceneEntityMoveScNotify),
            "CmdCounterDownCsReq" => Some(Self::CmdCounterDownCsReq),
            "CmdSetGroupCustomSaveDataCsReq" => {
                Some(Self::CmdSetGroupCustomSaveDataCsReq)
            }
            "CmdGetSceneMapInfoCsReq" => Some(Self::CmdGetSceneMapInfoCsReq),
            "JHDCKJGDKBE_JIAEHCICDLJ" => Some(Self::JhdckjgdkbeJiaehcicdlj),
            "CmdUpdateGroupPropertyScRsp" => Some(Self::CmdUpdateGroupPropertyScRsp),
            "CmdDeactivateFarmElementScRsp" => Some(Self::CmdDeactivateFarmElementScRsp),
            "CmdDeactivateFarmElementCsReq" => Some(Self::CmdDeactivateFarmElementCsReq),
            "CmdEBADAHNBIIH" => Some(Self::CmdEbadahnbiih),
            "CmdStartCocoonStageScRsp" => Some(Self::CmdStartCocoonStageScRsp),
            "CmdSceneReviveAfterRebattleScRsp" => {
                Some(Self::CmdSceneReviveAfterRebattleScRsp)
            }
            "CmdCounterDownScRsp" => Some(Self::CmdCounterDownScRsp),
            "CmdSyncServerSceneChangeNotify" => {
                Some(Self::CmdSyncServerSceneChangeNotify)
            }
            "CmdSetClientPausedCsReq" => Some(Self::CmdSetClientPausedCsReq),
            "CmdSceneEntityMoveCsReq" => Some(Self::CmdSceneEntityMoveCsReq),
            "CmdSavePointsInfoNotify" => Some(Self::CmdSavePointsInfoNotify),
            "CmdUpdateGroupPropertyCsReq" => Some(Self::CmdUpdateGroupPropertyCsReq),
            "CmdSceneCastSkillCostMpCsReq" => Some(Self::CmdSceneCastSkillCostMpCsReq),
            "CmdChangePropTimelineInfoScRsp" => {
                Some(Self::CmdChangePropTimelineInfoScRsp)
            }
            "CmdSceneEntityMoveScRsp" => Some(Self::CmdSceneEntityMoveScRsp),
            "CmdReEnterLastElementStageCsReq" => {
                Some(Self::CmdReEnterLastElementStageCsReq)
            }
            "CmdChangePropTimelineInfoCsReq" => {
                Some(Self::CmdChangePropTimelineInfoCsReq)
            }
            "CmdSceneEnterStageCsReq" => Some(Self::CmdSceneEnterStageCsReq),
            "CmdDeleteSummonUnitScRsp" => Some(Self::CmdDeleteSummonUnitScRsp),
            "CmdUpdateFloorSavedValueNotify" => {
                Some(Self::CmdUpdateFloorSavedValueNotify)
            }
            "CmdActiveFarmElementCsReq" => Some(Self::CmdActiveFarmElementCsReq),
            "CmdEnterSceneByServerScNotify" => Some(Self::CmdEnterSceneByServerScNotify),
            "CmdSyncEntityBuffChangeListScNotify" => {
                Some(Self::CmdSyncEntityBuffChangeListScNotify)
            }
            "CmdPDHBDPNPMPI" => Some(Self::CmdPdhbdpnpmpi),
            "CmdRefreshTriggerByClientScRsp" => {
                Some(Self::CmdRefreshTriggerByClientScRsp)
            }
            "CmdOCHPFJEKNGM" => Some(Self::CmdOchpfjekngm),
            "CmdEnterSectionScRsp" => Some(Self::CmdEnterSectionScRsp),
            "CmdSceneCheckpoingRefreshCsReq" => {
                Some(Self::CmdSceneCheckpoingRefreshCsReq)
            }
            "CmdReEnterLastElementStageScRsp" => {
                Some(Self::CmdReEnterLastElementStageScRsp)
            }
            "CmdSceneCastSkillMpUpdateScNotify" => {
                Some(Self::CmdSceneCastSkillMpUpdateScNotify)
            }
            "CmdGetCurSceneInfoCsReq" => Some(Self::CmdGetCurSceneInfoCsReq),
            "CmdScenePlaneEventScNotify" => Some(Self::CmdScenePlaneEventScNotify),
            "CmdInteractPropCsReq" => Some(Self::CmdInteractPropCsReq),
            "CmdSceneEntityTeleportScRsp" => Some(Self::CmdSceneEntityTeleportScRsp),
            "CmdGetEnteredSceneScRsp" => Some(Self::CmdGetEnteredSceneScRsp),
            "CmdActiveFarmElementScRsp" => Some(Self::CmdActiveFarmElementScRsp),
            "CmdSceneCastSkillCsReq" => Some(Self::CmdSceneCastSkillCsReq),
            "CmdSetTrainWorldIdScRsp" => Some(Self::CmdSetTrainWorldIdScRsp),
            "CmdFDGOBNJPKJG" => Some(Self::CmdFdgobnjpkjg),
            "CmdUnlockTeleportNotify" => Some(Self::CmdUnlockTeleportNotify),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jnboifcnbch {
    Hglifjghade = 0,
    Lcfjooiaehd = 1,
}
impl Jnboifcnbch {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Hglifjghade => "JNBOIFCNBCH_HGLIFJGHADE",
            Self::Lcfjooiaehd => "JNBOIFCNBCH_LCFJOOIAEHD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JNBOIFCNBCH_HGLIFJGHADE" => Some(Self::Hglifjghade),
            "JNBOIFCNBCH_LCFJOOIAEHD" => Some(Self::Lcfjooiaehd),
            _ => 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 => "SCENE_GROUP_REFRESH_TYPE_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),
            "SCENE_GROUP_REFRESH_TYPE_AFIBFMAFNCC" => Some(Self::Afibfmafncc),
            _ => None,
        }
    }
}
/// Obf: EHBMIAIMLDM
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdServerPrefsType {
    EhbmiaimldmNlcdgipgfdj = 0,
    CmdUpdateServerPrefsDataScRsp = 6181,
    CmdGetServerPrefsDataScRsp = 6158,
    CmdGetAllServerPrefsDataCsReq = 6125,
    EhbmiaimldmBiollcikffd = 6193,
    CmdUpdateServerPrefsCsReq = 6188,
    CmdGetAllServerPrefsDataScRsp = 6178,
}
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::EhbmiaimldmNlcdgipgfdj => "EHBMIAIMLDM_NLCDGIPGFDJ",
            Self::CmdUpdateServerPrefsDataScRsp => "CmdUpdateServerPrefsDataScRsp",
            Self::CmdGetServerPrefsDataScRsp => "CmdGetServerPrefsDataScRsp",
            Self::CmdGetAllServerPrefsDataCsReq => "CmdGetAllServerPrefsDataCsReq",
            Self::EhbmiaimldmBiollcikffd => "EHBMIAIMLDM_BIOLLCIKFFD",
            Self::CmdUpdateServerPrefsCsReq => "CmdUpdateServerPrefsCsReq",
            Self::CmdGetAllServerPrefsDataScRsp => "CmdGetAllServerPrefsDataScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EHBMIAIMLDM_NLCDGIPGFDJ" => Some(Self::EhbmiaimldmNlcdgipgfdj),
            "CmdUpdateServerPrefsDataScRsp" => Some(Self::CmdUpdateServerPrefsDataScRsp),
            "CmdGetServerPrefsDataScRsp" => Some(Self::CmdGetServerPrefsDataScRsp),
            "CmdGetAllServerPrefsDataCsReq" => Some(Self::CmdGetAllServerPrefsDataCsReq),
            "EHBMIAIMLDM_BIOLLCIKFFD" => Some(Self::EhbmiaimldmBiollcikffd),
            "CmdUpdateServerPrefsCsReq" => Some(Self::CmdUpdateServerPrefsCsReq),
            "CmdGetAllServerPrefsDataScRsp" => Some(Self::CmdGetAllServerPrefsDataScRsp),
            _ => None,
        }
    }
}
/// Obf: LHKCEAHDMDF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdShopType {
    LhkceahdmdfNlcdgipgfdj = 0,
    CmdGetShopListScRsp = 1578,
    CmdCityShopInfoScNotify = 1586,
    CmdBuyGoodsCsReq = 1593,
    CmdTakeCityShopRewardScRsp = 1581,
    CmdGetShopListCsReq = 1525,
    CmdBuyGoodsScRsp = 1558,
    CmdTakeCityShopRewardCsReq = 1588,
}
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::LhkceahdmdfNlcdgipgfdj => "LHKCEAHDMDF_NLCDGIPGFDJ",
            Self::CmdGetShopListScRsp => "CmdGetShopListScRsp",
            Self::CmdCityShopInfoScNotify => "CmdCityShopInfoScNotify",
            Self::CmdBuyGoodsCsReq => "CmdBuyGoodsCsReq",
            Self::CmdTakeCityShopRewardScRsp => "CmdTakeCityShopRewardScRsp",
            Self::CmdGetShopListCsReq => "CmdGetShopListCsReq",
            Self::CmdBuyGoodsScRsp => "CmdBuyGoodsScRsp",
            Self::CmdTakeCityShopRewardCsReq => "CmdTakeCityShopRewardCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHKCEAHDMDF_NLCDGIPGFDJ" => Some(Self::LhkceahdmdfNlcdgipgfdj),
            "CmdGetShopListScRsp" => Some(Self::CmdGetShopListScRsp),
            "CmdCityShopInfoScNotify" => Some(Self::CmdCityShopInfoScNotify),
            "CmdBuyGoodsCsReq" => Some(Self::CmdBuyGoodsCsReq),
            "CmdTakeCityShopRewardScRsp" => Some(Self::CmdTakeCityShopRewardScRsp),
            "CmdGetShopListCsReq" => Some(Self::CmdGetShopListCsReq),
            "CmdBuyGoodsScRsp" => Some(Self::CmdBuyGoodsScRsp),
            "CmdTakeCityShopRewardCsReq" => Some(Self::CmdTakeCityShopRewardCsReq),
            _ => None,
        }
    }
}
/// Obf: LPMAENKEEHO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSpaceZooType {
    LpmaenkeehoNlcdgipgfdj = 0,
    CmdSpaceZooBornCsReq = 6793,
    CmdSpaceZooDeleteCatScRsp = 6713,
    CmdCgfmdmpckdn = 6740,
    CmdBaekeidldci = 6733,
    CmdSpaceZooBornScRsp = 6758,
    CmdSpaceZooDataScRsp = 6778,
    CmdSpaceZooOpCatteryScRsp = 6747,
    CmdSpaceZooDataCsReq = 6725,
    CmdSpaceZooMutateScRsp = 6781,
    CmdSpaceZooCatUpdateNotify = 6771,
    CmdSpaceZooTakeCsReq = 6738,
    CmdSpaceZooMutateCsReq = 6788,
    CmdSpaceZooOpCatteryCsReq = 6786,
    CmdSpaceZooDeleteCatCsReq = 6726,
    CmdSpaceZooTakeScRsp = 6739,
}
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::LpmaenkeehoNlcdgipgfdj => "LPMAENKEEHO_NLCDGIPGFDJ",
            Self::CmdSpaceZooBornCsReq => "CmdSpaceZooBornCsReq",
            Self::CmdSpaceZooDeleteCatScRsp => "CmdSpaceZooDeleteCatScRsp",
            Self::CmdCgfmdmpckdn => "CmdCGFMDMPCKDN",
            Self::CmdBaekeidldci => "CmdBAEKEIDLDCI",
            Self::CmdSpaceZooBornScRsp => "CmdSpaceZooBornScRsp",
            Self::CmdSpaceZooDataScRsp => "CmdSpaceZooDataScRsp",
            Self::CmdSpaceZooOpCatteryScRsp => "CmdSpaceZooOpCatteryScRsp",
            Self::CmdSpaceZooDataCsReq => "CmdSpaceZooDataCsReq",
            Self::CmdSpaceZooMutateScRsp => "CmdSpaceZooMutateScRsp",
            Self::CmdSpaceZooCatUpdateNotify => "CmdSpaceZooCatUpdateNotify",
            Self::CmdSpaceZooTakeCsReq => "CmdSpaceZooTakeCsReq",
            Self::CmdSpaceZooMutateCsReq => "CmdSpaceZooMutateCsReq",
            Self::CmdSpaceZooOpCatteryCsReq => "CmdSpaceZooOpCatteryCsReq",
            Self::CmdSpaceZooDeleteCatCsReq => "CmdSpaceZooDeleteCatCsReq",
            Self::CmdSpaceZooTakeScRsp => "CmdSpaceZooTakeScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LPMAENKEEHO_NLCDGIPGFDJ" => Some(Self::LpmaenkeehoNlcdgipgfdj),
            "CmdSpaceZooBornCsReq" => Some(Self::CmdSpaceZooBornCsReq),
            "CmdSpaceZooDeleteCatScRsp" => Some(Self::CmdSpaceZooDeleteCatScRsp),
            "CmdCGFMDMPCKDN" => Some(Self::CmdCgfmdmpckdn),
            "CmdBAEKEIDLDCI" => Some(Self::CmdBaekeidldci),
            "CmdSpaceZooBornScRsp" => Some(Self::CmdSpaceZooBornScRsp),
            "CmdSpaceZooDataScRsp" => Some(Self::CmdSpaceZooDataScRsp),
            "CmdSpaceZooOpCatteryScRsp" => Some(Self::CmdSpaceZooOpCatteryScRsp),
            "CmdSpaceZooDataCsReq" => Some(Self::CmdSpaceZooDataCsReq),
            "CmdSpaceZooMutateScRsp" => Some(Self::CmdSpaceZooMutateScRsp),
            "CmdSpaceZooCatUpdateNotify" => Some(Self::CmdSpaceZooCatUpdateNotify),
            "CmdSpaceZooTakeCsReq" => Some(Self::CmdSpaceZooTakeCsReq),
            "CmdSpaceZooMutateCsReq" => Some(Self::CmdSpaceZooMutateCsReq),
            "CmdSpaceZooOpCatteryCsReq" => Some(Self::CmdSpaceZooOpCatteryCsReq),
            "CmdSpaceZooDeleteCatCsReq" => Some(Self::CmdSpaceZooDeleteCatCsReq),
            "CmdSpaceZooTakeScRsp" => Some(Self::CmdSpaceZooTakeScRsp),
            _ => None,
        }
    }
}
/// Obf: KLOMGBFFJII
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStarFightType {
    KlomgbffjiiNlcdgipgfdj = 0,
    CmdGetStarFightDataScRsp = 7161,
    CmdStartStarFightLevelScRsp = 7165,
    CmdGetStarFightDataCsReq = 7170,
    CmdStarFightDataChangeNotify = 7164,
    CmdStartStarFightLevelCsReq = 7163,
}
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::KlomgbffjiiNlcdgipgfdj => "KLOMGBFFJII_NLCDGIPGFDJ",
            Self::CmdGetStarFightDataScRsp => "CmdGetStarFightDataScRsp",
            Self::CmdStartStarFightLevelScRsp => "CmdStartStarFightLevelScRsp",
            Self::CmdGetStarFightDataCsReq => "CmdGetStarFightDataCsReq",
            Self::CmdStarFightDataChangeNotify => "CmdStarFightDataChangeNotify",
            Self::CmdStartStarFightLevelCsReq => "CmdStartStarFightLevelCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "KLOMGBFFJII_NLCDGIPGFDJ" => Some(Self::KlomgbffjiiNlcdgipgfdj),
            "CmdGetStarFightDataScRsp" => Some(Self::CmdGetStarFightDataScRsp),
            "CmdStartStarFightLevelScRsp" => Some(Self::CmdStartStarFightLevelScRsp),
            "CmdGetStarFightDataCsReq" => Some(Self::CmdGetStarFightDataCsReq),
            "CmdStarFightDataChangeNotify" => Some(Self::CmdStarFightDataChangeNotify),
            "CmdStartStarFightLevelCsReq" => Some(Self::CmdStartStarFightLevelCsReq),
            _ => None,
        }
    }
}
/// Obf: ALMBGGJDJBJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStoryLineType {
    AlmbggjdjbjNlcdgipgfdj = 0,
    CmdChangeStoryLineFinishScNotify = 6281,
    CmdStoryLineInfoScNotify = 6293,
    CmdGetStoryLineInfoCsReq = 6225,
    CmdStoryLineTrialAvatarChangeScNotify = 6286,
    CmdGetStoryLineInfoScRsp = 6278,
}
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::AlmbggjdjbjNlcdgipgfdj => "ALMBGGJDJBJ_NLCDGIPGFDJ",
            Self::CmdChangeStoryLineFinishScNotify => "CmdChangeStoryLineFinishScNotify",
            Self::CmdStoryLineInfoScNotify => "CmdStoryLineInfoScNotify",
            Self::CmdGetStoryLineInfoCsReq => "CmdGetStoryLineInfoCsReq",
            Self::CmdStoryLineTrialAvatarChangeScNotify => {
                "CmdStoryLineTrialAvatarChangeScNotify"
            }
            Self::CmdGetStoryLineInfoScRsp => "CmdGetStoryLineInfoScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ALMBGGJDJBJ_NLCDGIPGFDJ" => Some(Self::AlmbggjdjbjNlcdgipgfdj),
            "CmdChangeStoryLineFinishScNotify" => {
                Some(Self::CmdChangeStoryLineFinishScNotify)
            }
            "CmdStoryLineInfoScNotify" => Some(Self::CmdStoryLineInfoScNotify),
            "CmdGetStoryLineInfoCsReq" => Some(Self::CmdGetStoryLineInfoCsReq),
            "CmdStoryLineTrialAvatarChangeScNotify" => {
                Some(Self::CmdStoryLineTrialAvatarChangeScNotify)
            }
            "CmdGetStoryLineInfoScRsp" => Some(Self::CmdGetStoryLineInfoScRsp),
            _ => 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: GDBHLMFLJMH
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdStrongChallengeActivityType {
    GdbhlmfljmhNlcdgipgfdj = 0,
    CmdCbfojhepnhe = 6688,
    CmdEnterStrongChallengeActivityStageScRsp = 6658,
    CmdCejmceebcog = 6678,
    CmdEnterStrongChallengeActivityStageCsReq = 6693,
    CmdFpmficmfngj = 6625,
}
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::GdbhlmfljmhNlcdgipgfdj => "GDBHLMFLJMH_NLCDGIPGFDJ",
            Self::CmdCbfojhepnhe => "CmdCBFOJHEPNHE",
            Self::CmdEnterStrongChallengeActivityStageScRsp => {
                "CmdEnterStrongChallengeActivityStageScRsp"
            }
            Self::CmdCejmceebcog => "CmdCEJMCEEBCOG",
            Self::CmdEnterStrongChallengeActivityStageCsReq => {
                "CmdEnterStrongChallengeActivityStageCsReq"
            }
            Self::CmdFpmficmfngj => "CmdFPMFICMFNGJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GDBHLMFLJMH_NLCDGIPGFDJ" => Some(Self::GdbhlmfljmhNlcdgipgfdj),
            "CmdCBFOJHEPNHE" => Some(Self::CmdCbfojhepnhe),
            "CmdEnterStrongChallengeActivityStageScRsp" => {
                Some(Self::CmdEnterStrongChallengeActivityStageScRsp)
            }
            "CmdCEJMCEEBCOG" => Some(Self::CmdCejmceebcog),
            "CmdEnterStrongChallengeActivityStageCsReq" => {
                Some(Self::CmdEnterStrongChallengeActivityStageCsReq)
            }
            "CmdFPMFICMFNGJ" => Some(Self::CmdFpmficmfngj),
            _ => None,
        }
    }
}
/// Obf: FEGMMLEBKMA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSummonActivityType {
    FegmmlebkmaNlcdgipgfdj = 0,
    CmdGetSummonActivityDataCsReq = 7570,
    CmdGetSummonActivityDataScRsp = 7561,
    CmdEnterSummonActivityStageCsReq = 7563,
    CmdEnterSummonActivityStageScRsp = 7565,
    CmdSummonActivityBattleEndScNotify = 7564,
}
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::FegmmlebkmaNlcdgipgfdj => "FEGMMLEBKMA_NLCDGIPGFDJ",
            Self::CmdGetSummonActivityDataCsReq => "CmdGetSummonActivityDataCsReq",
            Self::CmdGetSummonActivityDataScRsp => "CmdGetSummonActivityDataScRsp",
            Self::CmdEnterSummonActivityStageCsReq => "CmdEnterSummonActivityStageCsReq",
            Self::CmdEnterSummonActivityStageScRsp => "CmdEnterSummonActivityStageScRsp",
            Self::CmdSummonActivityBattleEndScNotify => {
                "CmdSummonActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FEGMMLEBKMA_NLCDGIPGFDJ" => Some(Self::FegmmlebkmaNlcdgipgfdj),
            "CmdGetSummonActivityDataCsReq" => Some(Self::CmdGetSummonActivityDataCsReq),
            "CmdGetSummonActivityDataScRsp" => Some(Self::CmdGetSummonActivityDataScRsp),
            "CmdEnterSummonActivityStageCsReq" => {
                Some(Self::CmdEnterSummonActivityStageCsReq)
            }
            "CmdEnterSummonActivityStageScRsp" => {
                Some(Self::CmdEnterSummonActivityStageScRsp)
            }
            "CmdSummonActivityBattleEndScNotify" => {
                Some(Self::CmdSummonActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: BKCCNEKJADF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwitchHandType {
    BkccnekjadfNlcdgipgfdj = 0,
    CmdGetSwitchHandResetGameScRsp = 8110,
    CmdGetSwitchHandResetGameCsReq = 8120,
    CmdGetSwitchHandDataScRsp = 8108,
    CmdSwitchHandFinishScRsp = 8117,
    CmdSwitchHandStartCsReq = 8103,
    CmdGetSwitchHandDataCsReq = 8118,
    CmdGetSwitchHandUpdateScRsp = 8104,
    CmdGetSwitchHandResetHandPosScRsp = 8109,
    CmdOnpmjjocbmm = 8115,
    CmdSwitchHandStartScRsp = 8112,
    CmdGetSwitchHandUpdateCsReq = 8105,
    CmdSwitchHandFinishCsReq = 8102,
    CmdGetSwitchHandResetHandPosCsReq = 8101,
    CmdJaioienpgod = 8111,
}
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::BkccnekjadfNlcdgipgfdj => "BKCCNEKJADF_NLCDGIPGFDJ",
            Self::CmdGetSwitchHandResetGameScRsp => "CmdGetSwitchHandResetGameScRsp",
            Self::CmdGetSwitchHandResetGameCsReq => "CmdGetSwitchHandResetGameCsReq",
            Self::CmdGetSwitchHandDataScRsp => "CmdGetSwitchHandDataScRsp",
            Self::CmdSwitchHandFinishScRsp => "CmdSwitchHandFinishScRsp",
            Self::CmdSwitchHandStartCsReq => "CmdSwitchHandStartCsReq",
            Self::CmdGetSwitchHandDataCsReq => "CmdGetSwitchHandDataCsReq",
            Self::CmdGetSwitchHandUpdateScRsp => "CmdGetSwitchHandUpdateScRsp",
            Self::CmdGetSwitchHandResetHandPosScRsp => {
                "CmdGetSwitchHandResetHandPosScRsp"
            }
            Self::CmdOnpmjjocbmm => "CmdONPMJJOCBMM",
            Self::CmdSwitchHandStartScRsp => "CmdSwitchHandStartScRsp",
            Self::CmdGetSwitchHandUpdateCsReq => "CmdGetSwitchHandUpdateCsReq",
            Self::CmdSwitchHandFinishCsReq => "CmdSwitchHandFinishCsReq",
            Self::CmdGetSwitchHandResetHandPosCsReq => {
                "CmdGetSwitchHandResetHandPosCsReq"
            }
            Self::CmdJaioienpgod => "CmdJAIOIENPGOD",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BKCCNEKJADF_NLCDGIPGFDJ" => Some(Self::BkccnekjadfNlcdgipgfdj),
            "CmdGetSwitchHandResetGameScRsp" => {
                Some(Self::CmdGetSwitchHandResetGameScRsp)
            }
            "CmdGetSwitchHandResetGameCsReq" => {
                Some(Self::CmdGetSwitchHandResetGameCsReq)
            }
            "CmdGetSwitchHandDataScRsp" => Some(Self::CmdGetSwitchHandDataScRsp),
            "CmdSwitchHandFinishScRsp" => Some(Self::CmdSwitchHandFinishScRsp),
            "CmdSwitchHandStartCsReq" => Some(Self::CmdSwitchHandStartCsReq),
            "CmdGetSwitchHandDataCsReq" => Some(Self::CmdGetSwitchHandDataCsReq),
            "CmdGetSwitchHandUpdateScRsp" => Some(Self::CmdGetSwitchHandUpdateScRsp),
            "CmdGetSwitchHandResetHandPosScRsp" => {
                Some(Self::CmdGetSwitchHandResetHandPosScRsp)
            }
            "CmdONPMJJOCBMM" => Some(Self::CmdOnpmjjocbmm),
            "CmdSwitchHandStartScRsp" => Some(Self::CmdSwitchHandStartScRsp),
            "CmdGetSwitchHandUpdateCsReq" => Some(Self::CmdGetSwitchHandUpdateCsReq),
            "CmdSwitchHandFinishCsReq" => Some(Self::CmdSwitchHandFinishCsReq),
            "CmdGetSwitchHandResetHandPosCsReq" => {
                Some(Self::CmdGetSwitchHandResetHandPosCsReq)
            }
            "CmdJAIOIENPGOD" => Some(Self::CmdJaioienpgod),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ddnjkamihhi {
    Nlcdgipgfdj = 0,
    Ljhjndhchjf = 1,
    Hokacnfcjai = 2,
}
impl Ddnjkamihhi {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "DDNJKAMIHHI_NLCDGIPGFDJ",
            Self::Ljhjndhchjf => "DDNJKAMIHHI_LJHJNDHCHJF",
            Self::Hokacnfcjai => "DDNJKAMIHHI_HOKACNFCJAI",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DDNJKAMIHHI_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "DDNJKAMIHHI_LJHJNDHCHJF" => Some(Self::Ljhjndhchjf),
            "DDNJKAMIHHI_HOKACNFCJAI" => Some(Self::Hokacnfcjai),
            _ => None,
        }
    }
}
/// Obf: BKIBAJOHBHN
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdSwordTrainingType {
    BkibajohbhnNlcdgipgfdj = 0,
    CmdSwordTrainingActionTurnSettleScNotify = 7455,
    CmdSwordTrainingLearnSkillCsReq = 7456,
    CmdSwordTrainingResumeGameScRsp = 7488,
    CmdSwordTrainingRestoreGameCsReq = 7486,
    CmdSwordTrainingGiveUpGameCsReq = 7458,
    CmdSwordTrainingRestoreGameScRsp = 7480,
    CmdSwordTrainingTurnActionCsReq = 7494,
    CmdSwordTrainingTurnActionScRsp = 7469,
    CmdSwordTrainingResumeGameCsReq = 7484,
    CmdSwordTrainingSelectEndingCsReq = 7497,
    CmdSwordTrainingSelectEndingScRsp = 7492,
    CmdSwordTrainingGameSettleScNotify = 7490,
    CmdSwordTrainingDailyPhaseConfirmScRsp = 7453,
    CmdSwordTrainingGiveUpGameScRsp = 7468,
    CmdSwordTrainingStoryConfirmScRsp = 7463,
    CmdSwordTrainingStoryBattleScRsp = 7454,
    CmdSwordTrainingMarkEndingViewedScRsp = 7481,
    CmdSwordTrainingStoryBattleCsReq = 7500,
    CmdSwordTrainingSetSkillTraceScRsp = 7499,
    CmdSwordTrainingStartGameScRsp = 7485,
    CmdSwordTrainingExamResultConfirmScRsp = 7462,
    CmdSwordTrainingUnlockSyncScNotify = 7476,
    CmdEnterSwordTrainingExamCsReq = 7479,
    CmdSwordTrainingDialogueSelectOptionCsReq = 7457,
    CmdSwordTrainingStoryConfirmCsReq = 7465,
    CmdEnterSwordTrainingExamScRsp = 7483,
    CmdGetSwordTrainingDataCsReq = 7473,
    CmdSwordTrainingMarkEndingViewedCsReq = 7496,
    CmdSwordTrainingDialogueSelectOptionScRsp = 7460,
    CmdSwordTrainingLearnSkillScRsp = 7452,
    CmdSwordTrainingDailyPhaseConfirmCsReq = 7498,
    CmdSwordTrainingExamResultConfirmCsReq = 7491,
    CmdSwordTrainingSetSkillTraceCsReq = 7461,
    CmdGetSwordTrainingDataScRsp = 7487,
    CmdSwordTrainingGameSyncChangeScNotify = 7459,
    CmdSwordTrainingStartGameCsReq = 7464,
}
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::BkibajohbhnNlcdgipgfdj => "BKIBAJOHBHN_NLCDGIPGFDJ",
            Self::CmdSwordTrainingActionTurnSettleScNotify => {
                "CmdSwordTrainingActionTurnSettleScNotify"
            }
            Self::CmdSwordTrainingLearnSkillCsReq => "CmdSwordTrainingLearnSkillCsReq",
            Self::CmdSwordTrainingResumeGameScRsp => "CmdSwordTrainingResumeGameScRsp",
            Self::CmdSwordTrainingRestoreGameCsReq => "CmdSwordTrainingRestoreGameCsReq",
            Self::CmdSwordTrainingGiveUpGameCsReq => "CmdSwordTrainingGiveUpGameCsReq",
            Self::CmdSwordTrainingRestoreGameScRsp => "CmdSwordTrainingRestoreGameScRsp",
            Self::CmdSwordTrainingTurnActionCsReq => "CmdSwordTrainingTurnActionCsReq",
            Self::CmdSwordTrainingTurnActionScRsp => "CmdSwordTrainingTurnActionScRsp",
            Self::CmdSwordTrainingResumeGameCsReq => "CmdSwordTrainingResumeGameCsReq",
            Self::CmdSwordTrainingSelectEndingCsReq => {
                "CmdSwordTrainingSelectEndingCsReq"
            }
            Self::CmdSwordTrainingSelectEndingScRsp => {
                "CmdSwordTrainingSelectEndingScRsp"
            }
            Self::CmdSwordTrainingGameSettleScNotify => {
                "CmdSwordTrainingGameSettleScNotify"
            }
            Self::CmdSwordTrainingDailyPhaseConfirmScRsp => {
                "CmdSwordTrainingDailyPhaseConfirmScRsp"
            }
            Self::CmdSwordTrainingGiveUpGameScRsp => "CmdSwordTrainingGiveUpGameScRsp",
            Self::CmdSwordTrainingStoryConfirmScRsp => {
                "CmdSwordTrainingStoryConfirmScRsp"
            }
            Self::CmdSwordTrainingStoryBattleScRsp => "CmdSwordTrainingStoryBattleScRsp",
            Self::CmdSwordTrainingMarkEndingViewedScRsp => {
                "CmdSwordTrainingMarkEndingViewedScRsp"
            }
            Self::CmdSwordTrainingStoryBattleCsReq => "CmdSwordTrainingStoryBattleCsReq",
            Self::CmdSwordTrainingSetSkillTraceScRsp => {
                "CmdSwordTrainingSetSkillTraceScRsp"
            }
            Self::CmdSwordTrainingStartGameScRsp => "CmdSwordTrainingStartGameScRsp",
            Self::CmdSwordTrainingExamResultConfirmScRsp => {
                "CmdSwordTrainingExamResultConfirmScRsp"
            }
            Self::CmdSwordTrainingUnlockSyncScNotify => {
                "CmdSwordTrainingUnlockSyncScNotify"
            }
            Self::CmdEnterSwordTrainingExamCsReq => "CmdEnterSwordTrainingExamCsReq",
            Self::CmdSwordTrainingDialogueSelectOptionCsReq => {
                "CmdSwordTrainingDialogueSelectOptionCsReq"
            }
            Self::CmdSwordTrainingStoryConfirmCsReq => {
                "CmdSwordTrainingStoryConfirmCsReq"
            }
            Self::CmdEnterSwordTrainingExamScRsp => "CmdEnterSwordTrainingExamScRsp",
            Self::CmdGetSwordTrainingDataCsReq => "CmdGetSwordTrainingDataCsReq",
            Self::CmdSwordTrainingMarkEndingViewedCsReq => {
                "CmdSwordTrainingMarkEndingViewedCsReq"
            }
            Self::CmdSwordTrainingDialogueSelectOptionScRsp => {
                "CmdSwordTrainingDialogueSelectOptionScRsp"
            }
            Self::CmdSwordTrainingLearnSkillScRsp => "CmdSwordTrainingLearnSkillScRsp",
            Self::CmdSwordTrainingDailyPhaseConfirmCsReq => {
                "CmdSwordTrainingDailyPhaseConfirmCsReq"
            }
            Self::CmdSwordTrainingExamResultConfirmCsReq => {
                "CmdSwordTrainingExamResultConfirmCsReq"
            }
            Self::CmdSwordTrainingSetSkillTraceCsReq => {
                "CmdSwordTrainingSetSkillTraceCsReq"
            }
            Self::CmdGetSwordTrainingDataScRsp => "CmdGetSwordTrainingDataScRsp",
            Self::CmdSwordTrainingGameSyncChangeScNotify => {
                "CmdSwordTrainingGameSyncChangeScNotify"
            }
            Self::CmdSwordTrainingStartGameCsReq => "CmdSwordTrainingStartGameCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BKIBAJOHBHN_NLCDGIPGFDJ" => Some(Self::BkibajohbhnNlcdgipgfdj),
            "CmdSwordTrainingActionTurnSettleScNotify" => {
                Some(Self::CmdSwordTrainingActionTurnSettleScNotify)
            }
            "CmdSwordTrainingLearnSkillCsReq" => {
                Some(Self::CmdSwordTrainingLearnSkillCsReq)
            }
            "CmdSwordTrainingResumeGameScRsp" => {
                Some(Self::CmdSwordTrainingResumeGameScRsp)
            }
            "CmdSwordTrainingRestoreGameCsReq" => {
                Some(Self::CmdSwordTrainingRestoreGameCsReq)
            }
            "CmdSwordTrainingGiveUpGameCsReq" => {
                Some(Self::CmdSwordTrainingGiveUpGameCsReq)
            }
            "CmdSwordTrainingRestoreGameScRsp" => {
                Some(Self::CmdSwordTrainingRestoreGameScRsp)
            }
            "CmdSwordTrainingTurnActionCsReq" => {
                Some(Self::CmdSwordTrainingTurnActionCsReq)
            }
            "CmdSwordTrainingTurnActionScRsp" => {
                Some(Self::CmdSwordTrainingTurnActionScRsp)
            }
            "CmdSwordTrainingResumeGameCsReq" => {
                Some(Self::CmdSwordTrainingResumeGameCsReq)
            }
            "CmdSwordTrainingSelectEndingCsReq" => {
                Some(Self::CmdSwordTrainingSelectEndingCsReq)
            }
            "CmdSwordTrainingSelectEndingScRsp" => {
                Some(Self::CmdSwordTrainingSelectEndingScRsp)
            }
            "CmdSwordTrainingGameSettleScNotify" => {
                Some(Self::CmdSwordTrainingGameSettleScNotify)
            }
            "CmdSwordTrainingDailyPhaseConfirmScRsp" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmScRsp)
            }
            "CmdSwordTrainingGiveUpGameScRsp" => {
                Some(Self::CmdSwordTrainingGiveUpGameScRsp)
            }
            "CmdSwordTrainingStoryConfirmScRsp" => {
                Some(Self::CmdSwordTrainingStoryConfirmScRsp)
            }
            "CmdSwordTrainingStoryBattleScRsp" => {
                Some(Self::CmdSwordTrainingStoryBattleScRsp)
            }
            "CmdSwordTrainingMarkEndingViewedScRsp" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedScRsp)
            }
            "CmdSwordTrainingStoryBattleCsReq" => {
                Some(Self::CmdSwordTrainingStoryBattleCsReq)
            }
            "CmdSwordTrainingSetSkillTraceScRsp" => {
                Some(Self::CmdSwordTrainingSetSkillTraceScRsp)
            }
            "CmdSwordTrainingStartGameScRsp" => {
                Some(Self::CmdSwordTrainingStartGameScRsp)
            }
            "CmdSwordTrainingExamResultConfirmScRsp" => {
                Some(Self::CmdSwordTrainingExamResultConfirmScRsp)
            }
            "CmdSwordTrainingUnlockSyncScNotify" => {
                Some(Self::CmdSwordTrainingUnlockSyncScNotify)
            }
            "CmdEnterSwordTrainingExamCsReq" => {
                Some(Self::CmdEnterSwordTrainingExamCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionCsReq" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionCsReq)
            }
            "CmdSwordTrainingStoryConfirmCsReq" => {
                Some(Self::CmdSwordTrainingStoryConfirmCsReq)
            }
            "CmdEnterSwordTrainingExamScRsp" => {
                Some(Self::CmdEnterSwordTrainingExamScRsp)
            }
            "CmdGetSwordTrainingDataCsReq" => Some(Self::CmdGetSwordTrainingDataCsReq),
            "CmdSwordTrainingMarkEndingViewedCsReq" => {
                Some(Self::CmdSwordTrainingMarkEndingViewedCsReq)
            }
            "CmdSwordTrainingDialogueSelectOptionScRsp" => {
                Some(Self::CmdSwordTrainingDialogueSelectOptionScRsp)
            }
            "CmdSwordTrainingLearnSkillScRsp" => {
                Some(Self::CmdSwordTrainingLearnSkillScRsp)
            }
            "CmdSwordTrainingDailyPhaseConfirmCsReq" => {
                Some(Self::CmdSwordTrainingDailyPhaseConfirmCsReq)
            }
            "CmdSwordTrainingExamResultConfirmCsReq" => {
                Some(Self::CmdSwordTrainingExamResultConfirmCsReq)
            }
            "CmdSwordTrainingSetSkillTraceCsReq" => {
                Some(Self::CmdSwordTrainingSetSkillTraceCsReq)
            }
            "CmdGetSwordTrainingDataScRsp" => Some(Self::CmdGetSwordTrainingDataScRsp),
            "CmdSwordTrainingGameSyncChangeScNotify" => {
                Some(Self::CmdSwordTrainingGameSyncChangeScNotify)
            }
            "CmdSwordTrainingStartGameCsReq" => {
                Some(Self::CmdSwordTrainingStartGameCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bhjofljgnkn {
    Nlcdgipgfdj = 0,
    Leneghppele = 1,
    Lidkloccdgi = 2,
    Action = 3,
    Ofplodjbgmg = 4,
    Ddgdjckkhph = 5,
    Ddbijdildjl = 6,
    Nclbfaallfj = 7,
}
impl Bhjofljgnkn {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "BHJOFLJGNKN_NLCDGIPGFDJ",
            Self::Leneghppele => "BHJOFLJGNKN_LENEGHPPELE",
            Self::Lidkloccdgi => "BHJOFLJGNKN_LIDKLOCCDGI",
            Self::Action => "BHJOFLJGNKN_action",
            Self::Ofplodjbgmg => "BHJOFLJGNKN_OFPLODJBGMG",
            Self::Ddgdjckkhph => "BHJOFLJGNKN_DDGDJCKKHPH",
            Self::Ddbijdildjl => "BHJOFLJGNKN_DDBIJDILDJL",
            Self::Nclbfaallfj => "BHJOFLJGNKN_NCLBFAALLFJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BHJOFLJGNKN_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "BHJOFLJGNKN_LENEGHPPELE" => Some(Self::Leneghppele),
            "BHJOFLJGNKN_LIDKLOCCDGI" => Some(Self::Lidkloccdgi),
            "BHJOFLJGNKN_action" => Some(Self::Action),
            "BHJOFLJGNKN_OFPLODJBGMG" => Some(Self::Ofplodjbgmg),
            "BHJOFLJGNKN_DDGDJCKKHPH" => Some(Self::Ddgdjckkhph),
            "BHJOFLJGNKN_DDBIJDILDJL" => Some(Self::Ddbijdildjl),
            "BHJOFLJGNKN_NCLBFAALLFJ" => Some(Self::Nclbfaallfj),
            _ => None,
        }
    }
}
/// Obf: GFEKOONGJBL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SwordTrainingDailyPhaseType {
    GfekoongjblNlcdgipgfdj = 0,
    GfekoongjblJimmojhfoke = 1,
    GfekoongjblJmchljlgppd = 2,
    GfekoongjblOhdhbfkjikl = 3,
    GfekoongjblNpjhplialin = 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::GfekoongjblNlcdgipgfdj => "GFEKOONGJBL_NLCDGIPGFDJ",
            Self::GfekoongjblJimmojhfoke => "GFEKOONGJBL_JIMMOJHFOKE",
            Self::GfekoongjblJmchljlgppd => "GFEKOONGJBL_JMCHLJLGPPD",
            Self::GfekoongjblOhdhbfkjikl => "GFEKOONGJBL_OHDHBFKJIKL",
            Self::GfekoongjblNpjhplialin => "GFEKOONGJBL_NPJHPLIALIN",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GFEKOONGJBL_NLCDGIPGFDJ" => Some(Self::GfekoongjblNlcdgipgfdj),
            "GFEKOONGJBL_JIMMOJHFOKE" => Some(Self::GfekoongjblJimmojhfoke),
            "GFEKOONGJBL_JMCHLJLGPPD" => Some(Self::GfekoongjblJmchljlgppd),
            "GFEKOONGJBL_OHDHBFKJIKL" => Some(Self::GfekoongjblOhdhbfkjikl),
            "GFEKOONGJBL_NPJHPLIALIN" => Some(Self::GfekoongjblNpjhplialin),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ejcbokgjfhe {
    Nlcdgipgfdj = 0,
    Glanplegmpg = 1,
    Cighhakhhmn = 2,
    Gamnpomoaig = 3,
    Kikadfcipjo = 4,
    Nkaacmgnnpk = 5,
}
impl Ejcbokgjfhe {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "EJCBOKGJFHE_NLCDGIPGFDJ",
            Self::Glanplegmpg => "EJCBOKGJFHE_GLANPLEGMPG",
            Self::Cighhakhhmn => "EJCBOKGJFHE_CIGHHAKHHMN",
            Self::Gamnpomoaig => "EJCBOKGJFHE_GAMNPOMOAIG",
            Self::Kikadfcipjo => "EJCBOKGJFHE_KIKADFCIPJO",
            Self::Nkaacmgnnpk => "EJCBOKGJFHE_NKAACMGNNPK",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EJCBOKGJFHE_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "EJCBOKGJFHE_GLANPLEGMPG" => Some(Self::Glanplegmpg),
            "EJCBOKGJFHE_CIGHHAKHHMN" => Some(Self::Cighhakhhmn),
            "EJCBOKGJFHE_GAMNPOMOAIG" => Some(Self::Gamnpomoaig),
            "EJCBOKGJFHE_KIKADFCIPJO" => Some(Self::Kikadfcipjo),
            "EJCBOKGJFHE_NKAACMGNNPK" => Some(Self::Nkaacmgnnpk),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ippkhofkmhm {
    Klhmfenbdid = 0,
    Jkgefnaimfk = 1,
    Cjoadamkifc = 2,
    Fbhdmjmlbic = 3,
    Okcnppplahm = 4,
    Kpomipjoknd = 5,
}
impl Ippkhofkmhm {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Klhmfenbdid => "IPPKHOFKMHM_KLHMFENBDID",
            Self::Jkgefnaimfk => "IPPKHOFKMHM_JKGEFNAIMFK",
            Self::Cjoadamkifc => "IPPKHOFKMHM_CJOADAMKIFC",
            Self::Fbhdmjmlbic => "IPPKHOFKMHM_FBHDMJMLBIC",
            Self::Okcnppplahm => "IPPKHOFKMHM_OKCNPPPLAHM",
            Self::Kpomipjoknd => "IPPKHOFKMHM_KPOMIPJOKND",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "IPPKHOFKMHM_KLHMFENBDID" => Some(Self::Klhmfenbdid),
            "IPPKHOFKMHM_JKGEFNAIMFK" => Some(Self::Jkgefnaimfk),
            "IPPKHOFKMHM_CJOADAMKIFC" => Some(Self::Cjoadamkifc),
            "IPPKHOFKMHM_FBHDMJMLBIC" => Some(Self::Fbhdmjmlbic),
            "IPPKHOFKMHM_OKCNPPPLAHM" => Some(Self::Okcnppplahm),
            "IPPKHOFKMHM_KPOMIPJOKND" => Some(Self::Kpomipjoknd),
            _ => None,
        }
    }
}
/// Obf: OFHDDJMLOGG
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdPlayerSyncType {
    OfhddjmloggLidgokifpoj = 0,
    CmdPlayerSyncScNotify = 625,
}
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::OfhddjmloggLidgokifpoj => "OFHDDJMLOGG_LIDGOKIFPOJ",
            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 {
            "OFHDDJMLOGG_LIDGOKIFPOJ" => Some(Self::OfhddjmloggLidgokifpoj),
            "CmdPlayerSyncScNotify" => Some(Self::CmdPlayerSyncScNotify),
            _ => None,
        }
    }
}
/// Obf: LAGOBKECEDB
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTalkEventType {
    LagobkecedbMnpgflpbdlk = 0,
    CmdFinishFirstTalkNpcCsReq = 2186,
    CmdGetNpcTakenRewardCsReq = 2125,
    CmdFinishFirstTalkByPerformanceNpcScRsp = 2138,
    CmdGetFirstTalkByPerformanceNpcScRsp = 2140,
    CmdGetNpcTakenRewardScRsp = 2178,
    CmdTakeTalkRewardCsReq = 2193,
    CmdGetFirstTalkNpcCsReq = 2188,
    CmdFinishFirstTalkByPerformanceNpcCsReq = 2133,
    CmdGetFirstTalkByPerformanceNpcCsReq = 2171,
    CmdTakeTalkRewardScRsp = 2158,
    CmdGetFirstTalkNpcScRsp = 2181,
    CmdFinishFirstTalkNpcScRsp = 2147,
    CmdSelectInclinationTextScRsp = 2113,
    CmdSelectInclinationTextCsReq = 2126,
}
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::LagobkecedbMnpgflpbdlk => "LAGOBKECEDB_MNPGFLPBDLK",
            Self::CmdFinishFirstTalkNpcCsReq => "CmdFinishFirstTalkNpcCsReq",
            Self::CmdGetNpcTakenRewardCsReq => "CmdGetNpcTakenRewardCsReq",
            Self::CmdFinishFirstTalkByPerformanceNpcScRsp => {
                "CmdFinishFirstTalkByPerformanceNpcScRsp"
            }
            Self::CmdGetFirstTalkByPerformanceNpcScRsp => {
                "CmdGetFirstTalkByPerformanceNpcScRsp"
            }
            Self::CmdGetNpcTakenRewardScRsp => "CmdGetNpcTakenRewardScRsp",
            Self::CmdTakeTalkRewardCsReq => "CmdTakeTalkRewardCsReq",
            Self::CmdGetFirstTalkNpcCsReq => "CmdGetFirstTalkNpcCsReq",
            Self::CmdFinishFirstTalkByPerformanceNpcCsReq => {
                "CmdFinishFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdGetFirstTalkByPerformanceNpcCsReq => {
                "CmdGetFirstTalkByPerformanceNpcCsReq"
            }
            Self::CmdTakeTalkRewardScRsp => "CmdTakeTalkRewardScRsp",
            Self::CmdGetFirstTalkNpcScRsp => "CmdGetFirstTalkNpcScRsp",
            Self::CmdFinishFirstTalkNpcScRsp => "CmdFinishFirstTalkNpcScRsp",
            Self::CmdSelectInclinationTextScRsp => "CmdSelectInclinationTextScRsp",
            Self::CmdSelectInclinationTextCsReq => "CmdSelectInclinationTextCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LAGOBKECEDB_MNPGFLPBDLK" => Some(Self::LagobkecedbMnpgflpbdlk),
            "CmdFinishFirstTalkNpcCsReq" => Some(Self::CmdFinishFirstTalkNpcCsReq),
            "CmdGetNpcTakenRewardCsReq" => Some(Self::CmdGetNpcTakenRewardCsReq),
            "CmdFinishFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetFirstTalkByPerformanceNpcScRsp" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcScRsp)
            }
            "CmdGetNpcTakenRewardScRsp" => Some(Self::CmdGetNpcTakenRewardScRsp),
            "CmdTakeTalkRewardCsReq" => Some(Self::CmdTakeTalkRewardCsReq),
            "CmdGetFirstTalkNpcCsReq" => Some(Self::CmdGetFirstTalkNpcCsReq),
            "CmdFinishFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdFinishFirstTalkByPerformanceNpcCsReq)
            }
            "CmdGetFirstTalkByPerformanceNpcCsReq" => {
                Some(Self::CmdGetFirstTalkByPerformanceNpcCsReq)
            }
            "CmdTakeTalkRewardScRsp" => Some(Self::CmdTakeTalkRewardScRsp),
            "CmdGetFirstTalkNpcScRsp" => Some(Self::CmdGetFirstTalkNpcScRsp),
            "CmdFinishFirstTalkNpcScRsp" => Some(Self::CmdFinishFirstTalkNpcScRsp),
            "CmdSelectInclinationTextScRsp" => Some(Self::CmdSelectInclinationTextScRsp),
            "CmdSelectInclinationTextCsReq" => Some(Self::CmdSelectInclinationTextCsReq),
            _ => None,
        }
    }
}
/// Obf: ACPLKAJAAIL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTarotBookType {
    AcplkajaailNlcdgipgfdj = 0,
    CmdTarotBookUnlockInteractionScRsp = 8160,
    CmdTarotBookMultiOpenPackAndUnlockStoryScRsp = 8154,
    CmdTarotBookFinishStoryCsReq = 8145,
    CmdTarotBookGetDataCsReq = 8158,
    CmdTarotBookUnlockInteractionCsReq = 8149,
    CmdTarotBookOpenPackCsReq = 8143,
    CmdTarotBookUnlockStoryScRsp = 8157,
    CmdTarotBookOpenPackScRsp = 8152,
    CmdTarotBookMultiOpenPackAndUnlockStoryCsReq = 8147,
    CmdTarotBookFinishInteractionCsReq = 8155,
    CmdTarotBookSyncDataScNotify = 8150,
    CmdTarotBookModifyEnergyScNotify = 8151,
    CmdTarotBookGetDataScRsp = 8148,
    CmdTarotBookUnlockStoryCsReq = 8142,
    CmdTarotBookFinishStoryScRsp = 8144,
    CmdTarotBookFinishInteractionScRsp = 8141,
}
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::AcplkajaailNlcdgipgfdj => "ACPLKAJAAIL_NLCDGIPGFDJ",
            Self::CmdTarotBookUnlockInteractionScRsp => {
                "CmdTarotBookUnlockInteractionScRsp"
            }
            Self::CmdTarotBookMultiOpenPackAndUnlockStoryScRsp => {
                "CmdTarotBookMultiOpenPackAndUnlockStoryScRsp"
            }
            Self::CmdTarotBookFinishStoryCsReq => "CmdTarotBookFinishStoryCsReq",
            Self::CmdTarotBookGetDataCsReq => "CmdTarotBookGetDataCsReq",
            Self::CmdTarotBookUnlockInteractionCsReq => {
                "CmdTarotBookUnlockInteractionCsReq"
            }
            Self::CmdTarotBookOpenPackCsReq => "CmdTarotBookOpenPackCsReq",
            Self::CmdTarotBookUnlockStoryScRsp => "CmdTarotBookUnlockStoryScRsp",
            Self::CmdTarotBookOpenPackScRsp => "CmdTarotBookOpenPackScRsp",
            Self::CmdTarotBookMultiOpenPackAndUnlockStoryCsReq => {
                "CmdTarotBookMultiOpenPackAndUnlockStoryCsReq"
            }
            Self::CmdTarotBookFinishInteractionCsReq => {
                "CmdTarotBookFinishInteractionCsReq"
            }
            Self::CmdTarotBookSyncDataScNotify => "CmdTarotBookSyncDataScNotify",
            Self::CmdTarotBookModifyEnergyScNotify => "CmdTarotBookModifyEnergyScNotify",
            Self::CmdTarotBookGetDataScRsp => "CmdTarotBookGetDataScRsp",
            Self::CmdTarotBookUnlockStoryCsReq => "CmdTarotBookUnlockStoryCsReq",
            Self::CmdTarotBookFinishStoryScRsp => "CmdTarotBookFinishStoryScRsp",
            Self::CmdTarotBookFinishInteractionScRsp => {
                "CmdTarotBookFinishInteractionScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACPLKAJAAIL_NLCDGIPGFDJ" => Some(Self::AcplkajaailNlcdgipgfdj),
            "CmdTarotBookUnlockInteractionScRsp" => {
                Some(Self::CmdTarotBookUnlockInteractionScRsp)
            }
            "CmdTarotBookMultiOpenPackAndUnlockStoryScRsp" => {
                Some(Self::CmdTarotBookMultiOpenPackAndUnlockStoryScRsp)
            }
            "CmdTarotBookFinishStoryCsReq" => Some(Self::CmdTarotBookFinishStoryCsReq),
            "CmdTarotBookGetDataCsReq" => Some(Self::CmdTarotBookGetDataCsReq),
            "CmdTarotBookUnlockInteractionCsReq" => {
                Some(Self::CmdTarotBookUnlockInteractionCsReq)
            }
            "CmdTarotBookOpenPackCsReq" => Some(Self::CmdTarotBookOpenPackCsReq),
            "CmdTarotBookUnlockStoryScRsp" => Some(Self::CmdTarotBookUnlockStoryScRsp),
            "CmdTarotBookOpenPackScRsp" => Some(Self::CmdTarotBookOpenPackScRsp),
            "CmdTarotBookMultiOpenPackAndUnlockStoryCsReq" => {
                Some(Self::CmdTarotBookMultiOpenPackAndUnlockStoryCsReq)
            }
            "CmdTarotBookFinishInteractionCsReq" => {
                Some(Self::CmdTarotBookFinishInteractionCsReq)
            }
            "CmdTarotBookSyncDataScNotify" => Some(Self::CmdTarotBookSyncDataScNotify),
            "CmdTarotBookModifyEnergyScNotify" => {
                Some(Self::CmdTarotBookModifyEnergyScNotify)
            }
            "CmdTarotBookGetDataScRsp" => Some(Self::CmdTarotBookGetDataScRsp),
            "CmdTarotBookUnlockStoryCsReq" => Some(Self::CmdTarotBookUnlockStoryCsReq),
            "CmdTarotBookFinishStoryScRsp" => Some(Self::CmdTarotBookFinishStoryScRsp),
            "CmdTarotBookFinishInteractionScRsp" => {
                Some(Self::CmdTarotBookFinishInteractionScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: BJCICKIHPPK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTeamTowersType {
    BjcickihppkNlcdgipgfdj = 0,
    CmdGnnaembfinj = 9975,
    CmdIclfacjdjhb = 9957,
    CmdClcoajdpmjn = 9954,
    CmdPiokkomdaei = 9959,
    CmdKkphdbmnnhb = 9968,
}
impl CmdTeamTowersType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::BjcickihppkNlcdgipgfdj => "BJCICKIHPPK_NLCDGIPGFDJ",
            Self::CmdGnnaembfinj => "CmdGNNAEMBFINJ",
            Self::CmdIclfacjdjhb => "CmdICLFACJDJHB",
            Self::CmdClcoajdpmjn => "CmdCLCOAJDPMJN",
            Self::CmdPiokkomdaei => "CmdPIOKKOMDAEI",
            Self::CmdKkphdbmnnhb => "CmdKKPHDBMNNHB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BJCICKIHPPK_NLCDGIPGFDJ" => Some(Self::BjcickihppkNlcdgipgfdj),
            "CmdGNNAEMBFINJ" => Some(Self::CmdGnnaembfinj),
            "CmdICLFACJDJHB" => Some(Self::CmdIclfacjdjhb),
            "CmdCLCOAJDPMJN" => Some(Self::CmdClcoajdpmjn),
            "CmdPIOKKOMDAEI" => Some(Self::CmdPiokkomdaei),
            "CmdKKPHDBMNNHB" => Some(Self::CmdKkphdbmnnhb),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Gjcofaflaei {
    Nlcdgipgfdj = 0,
    Ncmimmdphfm = 1,
    RoleStar = 2,
    Mcmdkgeanna = 3,
    Lbgjhodbaea = 4,
}
impl Gjcofaflaei {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "GJCOFAFLAEI_NLCDGIPGFDJ",
            Self::Ncmimmdphfm => "GJCOFAFLAEI_NCMIMMDPHFM",
            Self::RoleStar => "GJCOFAFLAEI_role_star",
            Self::Mcmdkgeanna => "GJCOFAFLAEI_MCMDKGEANNA",
            Self::Lbgjhodbaea => "GJCOFAFLAEI_LBGJHODBAEA",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "GJCOFAFLAEI_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "GJCOFAFLAEI_NCMIMMDPHFM" => Some(Self::Ncmimmdphfm),
            "GJCOFAFLAEI_role_star" => Some(Self::RoleStar),
            "GJCOFAFLAEI_MCMDKGEANNA" => Some(Self::Mcmdkgeanna),
            "GJCOFAFLAEI_LBGJHODBAEA" => Some(Self::Lbgjhodbaea),
            _ => None,
        }
    }
}
/// Obf: EDAAOKDAEIF
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTelevisionActivityType {
    EdaaokdaeifNlcdgipgfdj = 0,
    CmdGetTelevisionActivityDataCsReq = 6978,
    CmdEnterTelevisionActivityStageCsReq = 6972,
    CmdEnterTelevisionActivityStageScRsp = 6962,
    CmdGetTelevisionActivityDataScRsp = 6968,
    CmdTelevisionActivityBattleEndScNotify = 6977,
}
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::EdaaokdaeifNlcdgipgfdj => "EDAAOKDAEIF_NLCDGIPGFDJ",
            Self::CmdGetTelevisionActivityDataCsReq => {
                "CmdGetTelevisionActivityDataCsReq"
            }
            Self::CmdEnterTelevisionActivityStageCsReq => {
                "CmdEnterTelevisionActivityStageCsReq"
            }
            Self::CmdEnterTelevisionActivityStageScRsp => {
                "CmdEnterTelevisionActivityStageScRsp"
            }
            Self::CmdGetTelevisionActivityDataScRsp => {
                "CmdGetTelevisionActivityDataScRsp"
            }
            Self::CmdTelevisionActivityBattleEndScNotify => {
                "CmdTelevisionActivityBattleEndScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EDAAOKDAEIF_NLCDGIPGFDJ" => Some(Self::EdaaokdaeifNlcdgipgfdj),
            "CmdGetTelevisionActivityDataCsReq" => {
                Some(Self::CmdGetTelevisionActivityDataCsReq)
            }
            "CmdEnterTelevisionActivityStageCsReq" => {
                Some(Self::CmdEnterTelevisionActivityStageCsReq)
            }
            "CmdEnterTelevisionActivityStageScRsp" => {
                Some(Self::CmdEnterTelevisionActivityStageScRsp)
            }
            "CmdGetTelevisionActivityDataScRsp" => {
                Some(Self::CmdGetTelevisionActivityDataScRsp)
            }
            "CmdTelevisionActivityBattleEndScNotify" => {
                Some(Self::CmdTelevisionActivityBattleEndScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: MLHMKFMJKHD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTextJoinType {
    MlhmkfmjkhdNlcdgipgfdj = 0,
    CmdTextJoinBatchSaveCsReq = 3888,
    CmdTextJoinQueryCsReq = 3893,
    CmdOgfbeapmgjm = 3878,
    MlhmkfmjkhdIponeplmcbi = 3825,
    CmdTextJoinQueryScRsp = 3858,
    CmdTextJoinBatchSaveScRsp = 3881,
}
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::MlhmkfmjkhdNlcdgipgfdj => "MLHMKFMJKHD_NLCDGIPGFDJ",
            Self::CmdTextJoinBatchSaveCsReq => "CmdTextJoinBatchSaveCsReq",
            Self::CmdTextJoinQueryCsReq => "CmdTextJoinQueryCsReq",
            Self::CmdOgfbeapmgjm => "CmdOGFBEAPMGJM",
            Self::MlhmkfmjkhdIponeplmcbi => "MLHMKFMJKHD_IPONEPLMCBI",
            Self::CmdTextJoinQueryScRsp => "CmdTextJoinQueryScRsp",
            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 {
            "MLHMKFMJKHD_NLCDGIPGFDJ" => Some(Self::MlhmkfmjkhdNlcdgipgfdj),
            "CmdTextJoinBatchSaveCsReq" => Some(Self::CmdTextJoinBatchSaveCsReq),
            "CmdTextJoinQueryCsReq" => Some(Self::CmdTextJoinQueryCsReq),
            "CmdOGFBEAPMGJM" => Some(Self::CmdOgfbeapmgjm),
            "MLHMKFMJKHD_IPONEPLMCBI" => Some(Self::MlhmkfmjkhdIponeplmcbi),
            "CmdTextJoinQueryScRsp" => Some(Self::CmdTextJoinQueryScRsp),
            "CmdTextJoinBatchSaveScRsp" => Some(Self::CmdTextJoinBatchSaveScRsp),
            _ => None,
        }
    }
}
/// Obf: FNMAMNLNKKJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrackPhotoActivityType {
    FnmamnlnkkjNlcdgipgfdj = 0,
    CmdStartTrackPhotoStageScRsp = 7556,
    CmdGetTrackPhotoActivityDataCsReq = 7560,
    CmdSettleTrackPhotoStageScRsp = 7555,
    CmdGetTrackPhotoActivityDataScRsp = 7551,
    CmdIgkbmleljdh = 7559,
    CmdStartTrackPhotoStageCsReq = 7554,
    CmdSettleTrackPhotoStageCsReq = 7553,
    CmdEgijmpcijog = 7552,
}
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::FnmamnlnkkjNlcdgipgfdj => "FNMAMNLNKKJ_NLCDGIPGFDJ",
            Self::CmdStartTrackPhotoStageScRsp => "CmdStartTrackPhotoStageScRsp",
            Self::CmdGetTrackPhotoActivityDataCsReq => {
                "CmdGetTrackPhotoActivityDataCsReq"
            }
            Self::CmdSettleTrackPhotoStageScRsp => "CmdSettleTrackPhotoStageScRsp",
            Self::CmdGetTrackPhotoActivityDataScRsp => {
                "CmdGetTrackPhotoActivityDataScRsp"
            }
            Self::CmdIgkbmleljdh => "CmdIGKBMLELJDH",
            Self::CmdStartTrackPhotoStageCsReq => "CmdStartTrackPhotoStageCsReq",
            Self::CmdSettleTrackPhotoStageCsReq => "CmdSettleTrackPhotoStageCsReq",
            Self::CmdEgijmpcijog => "CmdEGIJMPCIJOG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "FNMAMNLNKKJ_NLCDGIPGFDJ" => Some(Self::FnmamnlnkkjNlcdgipgfdj),
            "CmdStartTrackPhotoStageScRsp" => Some(Self::CmdStartTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataCsReq" => {
                Some(Self::CmdGetTrackPhotoActivityDataCsReq)
            }
            "CmdSettleTrackPhotoStageScRsp" => Some(Self::CmdSettleTrackPhotoStageScRsp),
            "CmdGetTrackPhotoActivityDataScRsp" => {
                Some(Self::CmdGetTrackPhotoActivityDataScRsp)
            }
            "CmdIGKBMLELJDH" => Some(Self::CmdIgkbmleljdh),
            "CmdStartTrackPhotoStageCsReq" => Some(Self::CmdStartTrackPhotoStageCsReq),
            "CmdSettleTrackPhotoStageCsReq" => Some(Self::CmdSettleTrackPhotoStageCsReq),
            "CmdEGIJMPCIJOG" => Some(Self::CmdEgijmpcijog),
            _ => None,
        }
    }
}
/// Obf: NMGINGMHJDA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainCakeCatchType {
    NmgingmhjdaNlcdgipgfdj = 0,
    CmdTrainCakeCatchGetDataCsReq = 9715,
    CmdSocialPlayPreCheckEnterRoomCsReq = 9740,
    CmdTrainCakeCatchSearchCsReq = 9668,
    CmdDjihnchdfed = 9683,
    CmdTrainCakeCatchOpenBoxScRsp = 9718,
    CmdTrainCakeCatchDiyLikeCsReq = 9767,
    CmdTrainCakeCatchOpenBoxCsReq = 9642,
    CmdTrainCakeCatchDiyScRsp = 9658,
    CmdSocialPlayTalkCsReq = 9753,
    CmdCieaalphgfm = 9713,
    CmdSocialPlayTalkScRsp = 9628,
    CmdBodemoldhaa = 9747,
    CmdJgamellglge = 9653,
    CmdSocialPlayQueryRecentVisitorsScRsp = 9725,
    CmdTrainCakeCatchGetDataScRsp = 9686,
    CmdTrainCakeCatchDiyLikeScRsp = 9659,
    CmdSocialPlayQueryRecentVisitorsCsReq = 9666,
    CmdBpjmeghiein = 9661,
    CmdSocialPlaySettingInfoScNotify = 9639,
    CmdTrainCakeCatchDiyCsReq = 9662,
    CmdTrainCakeCatchDataScNotify = 9695,
    CmdJkilaalmfib = 9671,
    CmdSocialPlayRoomPlayerMoveScNotify = 9644,
    CmdSocialPlayPreCheckEnterRoomScRsp = 9699,
    CmdTrainCakeCatchSearchScRsp = 9672,
    CmdSocialPlayGameplayOperationScNotify = 9765,
}
impl CmdTrainCakeCatchType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::NmgingmhjdaNlcdgipgfdj => "NMGINGMHJDA_NLCDGIPGFDJ",
            Self::CmdTrainCakeCatchGetDataCsReq => "CmdTrainCakeCatchGetDataCsReq",
            Self::CmdSocialPlayPreCheckEnterRoomCsReq => {
                "CmdSocialPlayPreCheckEnterRoomCsReq"
            }
            Self::CmdTrainCakeCatchSearchCsReq => "CmdTrainCakeCatchSearchCsReq",
            Self::CmdDjihnchdfed => "CmdDJIHNCHDFED",
            Self::CmdTrainCakeCatchOpenBoxScRsp => "CmdTrainCakeCatchOpenBoxScRsp",
            Self::CmdTrainCakeCatchDiyLikeCsReq => "CmdTrainCakeCatchDiyLikeCsReq",
            Self::CmdTrainCakeCatchOpenBoxCsReq => "CmdTrainCakeCatchOpenBoxCsReq",
            Self::CmdTrainCakeCatchDiyScRsp => "CmdTrainCakeCatchDiyScRsp",
            Self::CmdSocialPlayTalkCsReq => "CmdSocialPlayTalkCsReq",
            Self::CmdCieaalphgfm => "CmdCIEAALPHGFM",
            Self::CmdSocialPlayTalkScRsp => "CmdSocialPlayTalkScRsp",
            Self::CmdBodemoldhaa => "CmdBODEMOLDHAA",
            Self::CmdJgamellglge => "CmdJGAMELLGLGE",
            Self::CmdSocialPlayQueryRecentVisitorsScRsp => {
                "CmdSocialPlayQueryRecentVisitorsScRsp"
            }
            Self::CmdTrainCakeCatchGetDataScRsp => "CmdTrainCakeCatchGetDataScRsp",
            Self::CmdTrainCakeCatchDiyLikeScRsp => "CmdTrainCakeCatchDiyLikeScRsp",
            Self::CmdSocialPlayQueryRecentVisitorsCsReq => {
                "CmdSocialPlayQueryRecentVisitorsCsReq"
            }
            Self::CmdBpjmeghiein => "CmdBPJMEGHIEIN",
            Self::CmdSocialPlaySettingInfoScNotify => "CmdSocialPlaySettingInfoScNotify",
            Self::CmdTrainCakeCatchDiyCsReq => "CmdTrainCakeCatchDiyCsReq",
            Self::CmdTrainCakeCatchDataScNotify => "CmdTrainCakeCatchDataScNotify",
            Self::CmdJkilaalmfib => "CmdJKILAALMFIB",
            Self::CmdSocialPlayRoomPlayerMoveScNotify => {
                "CmdSocialPlayRoomPlayerMoveScNotify"
            }
            Self::CmdSocialPlayPreCheckEnterRoomScRsp => {
                "CmdSocialPlayPreCheckEnterRoomScRsp"
            }
            Self::CmdTrainCakeCatchSearchScRsp => "CmdTrainCakeCatchSearchScRsp",
            Self::CmdSocialPlayGameplayOperationScNotify => {
                "CmdSocialPlayGameplayOperationScNotify"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NMGINGMHJDA_NLCDGIPGFDJ" => Some(Self::NmgingmhjdaNlcdgipgfdj),
            "CmdTrainCakeCatchGetDataCsReq" => Some(Self::CmdTrainCakeCatchGetDataCsReq),
            "CmdSocialPlayPreCheckEnterRoomCsReq" => {
                Some(Self::CmdSocialPlayPreCheckEnterRoomCsReq)
            }
            "CmdTrainCakeCatchSearchCsReq" => Some(Self::CmdTrainCakeCatchSearchCsReq),
            "CmdDJIHNCHDFED" => Some(Self::CmdDjihnchdfed),
            "CmdTrainCakeCatchOpenBoxScRsp" => Some(Self::CmdTrainCakeCatchOpenBoxScRsp),
            "CmdTrainCakeCatchDiyLikeCsReq" => Some(Self::CmdTrainCakeCatchDiyLikeCsReq),
            "CmdTrainCakeCatchOpenBoxCsReq" => Some(Self::CmdTrainCakeCatchOpenBoxCsReq),
            "CmdTrainCakeCatchDiyScRsp" => Some(Self::CmdTrainCakeCatchDiyScRsp),
            "CmdSocialPlayTalkCsReq" => Some(Self::CmdSocialPlayTalkCsReq),
            "CmdCIEAALPHGFM" => Some(Self::CmdCieaalphgfm),
            "CmdSocialPlayTalkScRsp" => Some(Self::CmdSocialPlayTalkScRsp),
            "CmdBODEMOLDHAA" => Some(Self::CmdBodemoldhaa),
            "CmdJGAMELLGLGE" => Some(Self::CmdJgamellglge),
            "CmdSocialPlayQueryRecentVisitorsScRsp" => {
                Some(Self::CmdSocialPlayQueryRecentVisitorsScRsp)
            }
            "CmdTrainCakeCatchGetDataScRsp" => Some(Self::CmdTrainCakeCatchGetDataScRsp),
            "CmdTrainCakeCatchDiyLikeScRsp" => Some(Self::CmdTrainCakeCatchDiyLikeScRsp),
            "CmdSocialPlayQueryRecentVisitorsCsReq" => {
                Some(Self::CmdSocialPlayQueryRecentVisitorsCsReq)
            }
            "CmdBPJMEGHIEIN" => Some(Self::CmdBpjmeghiein),
            "CmdSocialPlaySettingInfoScNotify" => {
                Some(Self::CmdSocialPlaySettingInfoScNotify)
            }
            "CmdTrainCakeCatchDiyCsReq" => Some(Self::CmdTrainCakeCatchDiyCsReq),
            "CmdTrainCakeCatchDataScNotify" => Some(Self::CmdTrainCakeCatchDataScNotify),
            "CmdJKILAALMFIB" => Some(Self::CmdJkilaalmfib),
            "CmdSocialPlayRoomPlayerMoveScNotify" => {
                Some(Self::CmdSocialPlayRoomPlayerMoveScNotify)
            }
            "CmdSocialPlayPreCheckEnterRoomScRsp" => {
                Some(Self::CmdSocialPlayPreCheckEnterRoomScRsp)
            }
            "CmdTrainCakeCatchSearchScRsp" => Some(Self::CmdTrainCakeCatchSearchScRsp),
            "CmdSocialPlayGameplayOperationScNotify" => {
                Some(Self::CmdSocialPlayGameplayOperationScNotify)
            }
            _ => None,
        }
    }
}
/// Obf: NHGAOAKEMDK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainPartyType {
    NhgaoakemdkNlcdgipgfdj = 0,
    CmdTrainPartySyncUpdateScNotify = 8026,
    CmdTrainPartyHandlePendingActionCsReq = 8071,
    CmdTrainPartyBuildingUpdateNotify = 8011,
    CmdFddjjcfnfoj = 8045,
    CmdTrainPartySetBadgeAutoFillCsReq = 8052,
    CmdAmdompigbpg = 8069,
    CmdTrainPartySetBadgeAutoFillScRsp = 8020,
    CmdTrainPartyGamePlayStartScRsp = 8021,
    CmdIbncbepcapf = 8034,
    CmdTrainPartyGetDataCsReq = 8025,
    CmdTrainPartySettleNotify = 8086,
    CmdDniafcgkeop = 8096,
    CmdTrainPartyHandlePendingActionScRsp = 8040,
    CmdTrainPartyTakeBuildLevelAwardScRsp = 8063,
    CmdTrainPartyGamePlaySettleNotify = 8005,
    CmdFhlhoepckag = 8048,
    CmdTrainPartyBuildSelfDisplayAreaDiyCsReq = 8015,
    CmdTrainPartyTakeBuildLevelAwardCsReq = 8029,
    CmdTrainPartyUseCardCsReq = 8093,
    CmdTrainPartyBuildDiyScRsp = 8004,
    CmdTrainPartyBuildSelfDisplayAreaDiyScRsp = 8018,
    NhgaoakemdkObhinpcabdb = 8043,
    CmdTrainPartyGamePlayStartCsReq = 8084,
    NhgaoakemdkCddgcnfbfmi = 8010,
    CmdTrainPartyBuildSelfDisplayAreaDiyScNotify = 8053,
    CmdTrainPartyGetDataScRsp = 8078,
    CmdTrainPartyBuildStartStepScRsp = 8038,
    CmdTrainPartyUseCardScRsp = 8058,
    CmdDbghchponoh = 8065,
    CmdTrainPartyBuildRoomScNotify = 8073,
    CmdTrainPartyBuildDiyCsReq = 8039,
    CmdTrainPartyMoveScNotify = 8088,
    CmdTrainPartyBuildStartStepCsReq = 8033,
}
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::NhgaoakemdkNlcdgipgfdj => "NHGAOAKEMDK_NLCDGIPGFDJ",
            Self::CmdTrainPartySyncUpdateScNotify => "CmdTrainPartySyncUpdateScNotify",
            Self::CmdTrainPartyHandlePendingActionCsReq => {
                "CmdTrainPartyHandlePendingActionCsReq"
            }
            Self::CmdTrainPartyBuildingUpdateNotify => {
                "CmdTrainPartyBuildingUpdateNotify"
            }
            Self::CmdFddjjcfnfoj => "CmdFDDJJCFNFOJ",
            Self::CmdTrainPartySetBadgeAutoFillCsReq => {
                "CmdTrainPartySetBadgeAutoFillCsReq"
            }
            Self::CmdAmdompigbpg => "CmdAMDOMPIGBPG",
            Self::CmdTrainPartySetBadgeAutoFillScRsp => {
                "CmdTrainPartySetBadgeAutoFillScRsp"
            }
            Self::CmdTrainPartyGamePlayStartScRsp => "CmdTrainPartyGamePlayStartScRsp",
            Self::CmdIbncbepcapf => "CmdIBNCBEPCAPF",
            Self::CmdTrainPartyGetDataCsReq => "CmdTrainPartyGetDataCsReq",
            Self::CmdTrainPartySettleNotify => "CmdTrainPartySettleNotify",
            Self::CmdDniafcgkeop => "CmdDNIAFCGKEOP",
            Self::CmdTrainPartyHandlePendingActionScRsp => {
                "CmdTrainPartyHandlePendingActionScRsp"
            }
            Self::CmdTrainPartyTakeBuildLevelAwardScRsp => {
                "CmdTrainPartyTakeBuildLevelAwardScRsp"
            }
            Self::CmdTrainPartyGamePlaySettleNotify => {
                "CmdTrainPartyGamePlaySettleNotify"
            }
            Self::CmdFhlhoepckag => "CmdFHLHOEPCKAG",
            Self::CmdTrainPartyBuildSelfDisplayAreaDiyCsReq => {
                "CmdTrainPartyBuildSelfDisplayAreaDiyCsReq"
            }
            Self::CmdTrainPartyTakeBuildLevelAwardCsReq => {
                "CmdTrainPartyTakeBuildLevelAwardCsReq"
            }
            Self::CmdTrainPartyUseCardCsReq => "CmdTrainPartyUseCardCsReq",
            Self::CmdTrainPartyBuildDiyScRsp => "CmdTrainPartyBuildDiyScRsp",
            Self::CmdTrainPartyBuildSelfDisplayAreaDiyScRsp => {
                "CmdTrainPartyBuildSelfDisplayAreaDiyScRsp"
            }
            Self::NhgaoakemdkObhinpcabdb => "NHGAOAKEMDK_OBHINPCABDB",
            Self::CmdTrainPartyGamePlayStartCsReq => "CmdTrainPartyGamePlayStartCsReq",
            Self::NhgaoakemdkCddgcnfbfmi => "NHGAOAKEMDK_CDDGCNFBFMI",
            Self::CmdTrainPartyBuildSelfDisplayAreaDiyScNotify => {
                "CmdTrainPartyBuildSelfDisplayAreaDiyScNotify"
            }
            Self::CmdTrainPartyGetDataScRsp => "CmdTrainPartyGetDataScRsp",
            Self::CmdTrainPartyBuildStartStepScRsp => "CmdTrainPartyBuildStartStepScRsp",
            Self::CmdTrainPartyUseCardScRsp => "CmdTrainPartyUseCardScRsp",
            Self::CmdDbghchponoh => "CmdDBGHCHPONOH",
            Self::CmdTrainPartyBuildRoomScNotify => "CmdTrainPartyBuildRoomScNotify",
            Self::CmdTrainPartyBuildDiyCsReq => "CmdTrainPartyBuildDiyCsReq",
            Self::CmdTrainPartyMoveScNotify => "CmdTrainPartyMoveScNotify",
            Self::CmdTrainPartyBuildStartStepCsReq => "CmdTrainPartyBuildStartStepCsReq",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "NHGAOAKEMDK_NLCDGIPGFDJ" => Some(Self::NhgaoakemdkNlcdgipgfdj),
            "CmdTrainPartySyncUpdateScNotify" => {
                Some(Self::CmdTrainPartySyncUpdateScNotify)
            }
            "CmdTrainPartyHandlePendingActionCsReq" => {
                Some(Self::CmdTrainPartyHandlePendingActionCsReq)
            }
            "CmdTrainPartyBuildingUpdateNotify" => {
                Some(Self::CmdTrainPartyBuildingUpdateNotify)
            }
            "CmdFDDJJCFNFOJ" => Some(Self::CmdFddjjcfnfoj),
            "CmdTrainPartySetBadgeAutoFillCsReq" => {
                Some(Self::CmdTrainPartySetBadgeAutoFillCsReq)
            }
            "CmdAMDOMPIGBPG" => Some(Self::CmdAmdompigbpg),
            "CmdTrainPartySetBadgeAutoFillScRsp" => {
                Some(Self::CmdTrainPartySetBadgeAutoFillScRsp)
            }
            "CmdTrainPartyGamePlayStartScRsp" => {
                Some(Self::CmdTrainPartyGamePlayStartScRsp)
            }
            "CmdIBNCBEPCAPF" => Some(Self::CmdIbncbepcapf),
            "CmdTrainPartyGetDataCsReq" => Some(Self::CmdTrainPartyGetDataCsReq),
            "CmdTrainPartySettleNotify" => Some(Self::CmdTrainPartySettleNotify),
            "CmdDNIAFCGKEOP" => Some(Self::CmdDniafcgkeop),
            "CmdTrainPartyHandlePendingActionScRsp" => {
                Some(Self::CmdTrainPartyHandlePendingActionScRsp)
            }
            "CmdTrainPartyTakeBuildLevelAwardScRsp" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardScRsp)
            }
            "CmdTrainPartyGamePlaySettleNotify" => {
                Some(Self::CmdTrainPartyGamePlaySettleNotify)
            }
            "CmdFHLHOEPCKAG" => Some(Self::CmdFhlhoepckag),
            "CmdTrainPartyBuildSelfDisplayAreaDiyCsReq" => {
                Some(Self::CmdTrainPartyBuildSelfDisplayAreaDiyCsReq)
            }
            "CmdTrainPartyTakeBuildLevelAwardCsReq" => {
                Some(Self::CmdTrainPartyTakeBuildLevelAwardCsReq)
            }
            "CmdTrainPartyUseCardCsReq" => Some(Self::CmdTrainPartyUseCardCsReq),
            "CmdTrainPartyBuildDiyScRsp" => Some(Self::CmdTrainPartyBuildDiyScRsp),
            "CmdTrainPartyBuildSelfDisplayAreaDiyScRsp" => {
                Some(Self::CmdTrainPartyBuildSelfDisplayAreaDiyScRsp)
            }
            "NHGAOAKEMDK_OBHINPCABDB" => Some(Self::NhgaoakemdkObhinpcabdb),
            "CmdTrainPartyGamePlayStartCsReq" => {
                Some(Self::CmdTrainPartyGamePlayStartCsReq)
            }
            "NHGAOAKEMDK_CDDGCNFBFMI" => Some(Self::NhgaoakemdkCddgcnfbfmi),
            "CmdTrainPartyBuildSelfDisplayAreaDiyScNotify" => {
                Some(Self::CmdTrainPartyBuildSelfDisplayAreaDiyScNotify)
            }
            "CmdTrainPartyGetDataScRsp" => Some(Self::CmdTrainPartyGetDataScRsp),
            "CmdTrainPartyBuildStartStepScRsp" => {
                Some(Self::CmdTrainPartyBuildStartStepScRsp)
            }
            "CmdTrainPartyUseCardScRsp" => Some(Self::CmdTrainPartyUseCardScRsp),
            "CmdDBGHCHPONOH" => Some(Self::CmdDbghchponoh),
            "CmdTrainPartyBuildRoomScNotify" => {
                Some(Self::CmdTrainPartyBuildRoomScNotify)
            }
            "CmdTrainPartyBuildDiyCsReq" => Some(Self::CmdTrainPartyBuildDiyCsReq),
            "CmdTrainPartyMoveScNotify" => Some(Self::CmdTrainPartyMoveScNotify),
            "CmdTrainPartyBuildStartStepCsReq" => {
                Some(Self::CmdTrainPartyBuildStartStepCsReq)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jiiehebibmo {
    Cijcgpbofjp = 0,
    Bhpknhchojf = 1,
    Heimdagndlo = 2,
    Mjhbdakijdp = 3,
}
impl Jiiehebibmo {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Cijcgpbofjp => "JIIEHEBIBMO_CIJCGPBOFJP",
            Self::Bhpknhchojf => "JIIEHEBIBMO_BHPKNHCHOJF",
            Self::Heimdagndlo => "JIIEHEBIBMO_HEIMDAGNDLO",
            Self::Mjhbdakijdp => "JIIEHEBIBMO_MJHBDAKIJDP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JIIEHEBIBMO_CIJCGPBOFJP" => Some(Self::Cijcgpbofjp),
            "JIIEHEBIBMO_BHPKNHCHOJF" => Some(Self::Bhpknhchojf),
            "JIIEHEBIBMO_HEIMDAGNDLO" => Some(Self::Heimdagndlo),
            "JIIEHEBIBMO_MJHBDAKIJDP" => Some(Self::Mjhbdakijdp),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Mkiibimnigk {
    Efbkdlijkag = 0,
    Mgfhdnjakkm = 1,
    Ngaahfbkmfm = 2,
    Ebjcjajdinc = 3,
    Idmgagljmlk = 4,
    Ipfppclniho = 5,
}
impl Mkiibimnigk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Efbkdlijkag => "MKIIBIMNIGK_EFBKDLIJKAG",
            Self::Mgfhdnjakkm => "MKIIBIMNIGK_MGFHDNJAKKM",
            Self::Ngaahfbkmfm => "MKIIBIMNIGK_NGAAHFBKMFM",
            Self::Ebjcjajdinc => "MKIIBIMNIGK_EBJCJAJDINC",
            Self::Idmgagljmlk => "MKIIBIMNIGK_IDMGAGLJMLK",
            Self::Ipfppclniho => "MKIIBIMNIGK_IPFPPCLNIHO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MKIIBIMNIGK_EFBKDLIJKAG" => Some(Self::Efbkdlijkag),
            "MKIIBIMNIGK_MGFHDNJAKKM" => Some(Self::Mgfhdnjakkm),
            "MKIIBIMNIGK_NGAAHFBKMFM" => Some(Self::Ngaahfbkmfm),
            "MKIIBIMNIGK_EBJCJAJDINC" => Some(Self::Ebjcjajdinc),
            "MKIIBIMNIGK_IDMGAGLJMLK" => Some(Self::Idmgagljmlk),
            "MKIIBIMNIGK_IPFPPCLNIHO" => Some(Self::Ipfppclniho),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Lhlbgjlffkk {
    Kghkhlkdebk = 0,
    Akgdaffkanp = 1,
    Knjdgimkjme = 2,
    Dodhmjbmhaf = 3,
}
impl Lhlbgjlffkk {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Kghkhlkdebk => "LHLBGJLFFKK_KGHKHLKDEBK",
            Self::Akgdaffkanp => "LHLBGJLFFKK_AKGDAFFKANP",
            Self::Knjdgimkjme => "LHLBGJLFFKK_KNJDGIMKJME",
            Self::Dodhmjbmhaf => "LHLBGJLFFKK_DODHMJBMHAF",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LHLBGJLFFKK_KGHKHLKDEBK" => Some(Self::Kghkhlkdebk),
            "LHLBGJLFFKK_AKGDAFFKANP" => Some(Self::Akgdaffkanp),
            "LHLBGJLFFKK_KNJDGIMKJME" => Some(Self::Knjdgimkjme),
            "LHLBGJLFFKK_DODHMJBMHAF" => Some(Self::Dodhmjbmhaf),
            _ => None,
        }
    }
}
/// Obf: ANMELOCBHGK
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainPartyMtSkillBriefType {
    AnmelocbhgkOdchajhnfdf = 0,
    AnmelocbhgkEndbhcelnkl = 1,
    AnmelocbhgkAmflhlkglfl = 2,
    AnmelocbhgkEcpmedneoge = 3,
    AnmelocbhgkNhlnohdcphh = 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::AnmelocbhgkOdchajhnfdf => "ANMELOCBHGK_ODCHAJHNFDF",
            Self::AnmelocbhgkEndbhcelnkl => "ANMELOCBHGK_ENDBHCELNKL",
            Self::AnmelocbhgkAmflhlkglfl => "ANMELOCBHGK_AMFLHLKGLFL",
            Self::AnmelocbhgkEcpmedneoge => "ANMELOCBHGK_ECPMEDNEOGE",
            Self::AnmelocbhgkNhlnohdcphh => "ANMELOCBHGK_NHLNOHDCPHH",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ANMELOCBHGK_ODCHAJHNFDF" => Some(Self::AnmelocbhgkOdchajhnfdf),
            "ANMELOCBHGK_ENDBHCELNKL" => Some(Self::AnmelocbhgkEndbhcelnkl),
            "ANMELOCBHGK_AMFLHLKGLFL" => Some(Self::AnmelocbhgkAmflhlkglfl),
            "ANMELOCBHGK_ECPMEDNEOGE" => Some(Self::AnmelocbhgkEcpmedneoge),
            "ANMELOCBHGK_NHLNOHDCPHH" => Some(Self::AnmelocbhgkNhlnohdcphh),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Bgppdmipddh {
    Iiheidcfale = 0,
    Odfnppacbci = 1,
    Abnpbgjgahd = 2,
    Hcfkojholik = 3,
    Bcdlkdkdafh = 4,
    Giofbnenijm = 5,
    Mkmjjphdobh = 6,
    Kogggjlbhen = 7,
    Nnpjfbfilel = 8,
}
impl Bgppdmipddh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Iiheidcfale => "BGPPDMIPDDH_IIHEIDCFALE",
            Self::Odfnppacbci => "BGPPDMIPDDH_ODFNPPACBCI",
            Self::Abnpbgjgahd => "BGPPDMIPDDH_ABNPBGJGAHD",
            Self::Hcfkojholik => "BGPPDMIPDDH_HCFKOJHOLIK",
            Self::Bcdlkdkdafh => "BGPPDMIPDDH_BCDLKDKDAFH",
            Self::Giofbnenijm => "BGPPDMIPDDH_GIOFBNENIJM",
            Self::Mkmjjphdobh => "BGPPDMIPDDH_MKMJJPHDOBH",
            Self::Kogggjlbhen => "BGPPDMIPDDH_KOGGGJLBHEN",
            Self::Nnpjfbfilel => "BGPPDMIPDDH_NNPJFBFILEL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BGPPDMIPDDH_IIHEIDCFALE" => Some(Self::Iiheidcfale),
            "BGPPDMIPDDH_ODFNPPACBCI" => Some(Self::Odfnppacbci),
            "BGPPDMIPDDH_ABNPBGJGAHD" => Some(Self::Abnpbgjgahd),
            "BGPPDMIPDDH_HCFKOJHOLIK" => Some(Self::Hcfkojholik),
            "BGPPDMIPDDH_BCDLKDKDAFH" => Some(Self::Bcdlkdkdafh),
            "BGPPDMIPDDH_GIOFBNENIJM" => Some(Self::Giofbnenijm),
            "BGPPDMIPDDH_MKMJJPHDOBH" => Some(Self::Mkmjjphdobh),
            "BGPPDMIPDDH_KOGGGJLBHEN" => Some(Self::Kogggjlbhen),
            "BGPPDMIPDDH_NNPJFBFILEL" => Some(Self::Nnpjfbfilel),
            _ => None,
        }
    }
}
/// Obf: PBNHNKPGIPL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTrainVisitorType {
    PbnhnkpgiplNlcdgipgfdj = 0,
    PbnhnkpgiplGgfofbfaein = 3793,
    CmdTrainRefreshTimeNotify = 3788,
    CmdTrainVisitorBehaviorFinishScRsp = 3778,
    CmdObicgcefcci = 3740,
    CmdEidkoeheaaa = 3758,
    CmdGetTrainVisitorRegisterCsReq = 3786,
    CmdTrainVisitorRewardSendNotify = 3781,
    CmdNnahgdgnoek = 3771,
    CmdTrainVisitorBehaviorFinishCsReq = 3725,
    CmdGetTrainVisitorRegisterScRsp = 3747,
    CmdTakeTrainVisitorBehaviorRewardCsReq = 3726,
    CmdTakeTrainVisitorBehaviorRewardScRsp = 3713,
}
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::PbnhnkpgiplNlcdgipgfdj => "PBNHNKPGIPL_NLCDGIPGFDJ",
            Self::PbnhnkpgiplGgfofbfaein => "PBNHNKPGIPL_GGFOFBFAEIN",
            Self::CmdTrainRefreshTimeNotify => "CmdTrainRefreshTimeNotify",
            Self::CmdTrainVisitorBehaviorFinishScRsp => {
                "CmdTrainVisitorBehaviorFinishScRsp"
            }
            Self::CmdObicgcefcci => "CmdOBICGCEFCCI",
            Self::CmdEidkoeheaaa => "CmdEIDKOEHEAAA",
            Self::CmdGetTrainVisitorRegisterCsReq => "CmdGetTrainVisitorRegisterCsReq",
            Self::CmdTrainVisitorRewardSendNotify => "CmdTrainVisitorRewardSendNotify",
            Self::CmdNnahgdgnoek => "CmdNNAHGDGNOEK",
            Self::CmdTrainVisitorBehaviorFinishCsReq => {
                "CmdTrainVisitorBehaviorFinishCsReq"
            }
            Self::CmdGetTrainVisitorRegisterScRsp => "CmdGetTrainVisitorRegisterScRsp",
            Self::CmdTakeTrainVisitorBehaviorRewardCsReq => {
                "CmdTakeTrainVisitorBehaviorRewardCsReq"
            }
            Self::CmdTakeTrainVisitorBehaviorRewardScRsp => {
                "CmdTakeTrainVisitorBehaviorRewardScRsp"
            }
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "PBNHNKPGIPL_NLCDGIPGFDJ" => Some(Self::PbnhnkpgiplNlcdgipgfdj),
            "PBNHNKPGIPL_GGFOFBFAEIN" => Some(Self::PbnhnkpgiplGgfofbfaein),
            "CmdTrainRefreshTimeNotify" => Some(Self::CmdTrainRefreshTimeNotify),
            "CmdTrainVisitorBehaviorFinishScRsp" => {
                Some(Self::CmdTrainVisitorBehaviorFinishScRsp)
            }
            "CmdOBICGCEFCCI" => Some(Self::CmdObicgcefcci),
            "CmdEIDKOEHEAAA" => Some(Self::CmdEidkoeheaaa),
            "CmdGetTrainVisitorRegisterCsReq" => {
                Some(Self::CmdGetTrainVisitorRegisterCsReq)
            }
            "CmdTrainVisitorRewardSendNotify" => {
                Some(Self::CmdTrainVisitorRewardSendNotify)
            }
            "CmdNNAHGDGNOEK" => Some(Self::CmdNnahgdgnoek),
            "CmdTrainVisitorBehaviorFinishCsReq" => {
                Some(Self::CmdTrainVisitorBehaviorFinishCsReq)
            }
            "CmdGetTrainVisitorRegisterScRsp" => {
                Some(Self::CmdGetTrainVisitorRegisterScRsp)
            }
            "CmdTakeTrainVisitorBehaviorRewardCsReq" => {
                Some(Self::CmdTakeTrainVisitorBehaviorRewardCsReq)
            }
            "CmdTakeTrainVisitorBehaviorRewardScRsp" => {
                Some(Self::CmdTakeTrainVisitorBehaviorRewardScRsp)
            }
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Cfcpoedppkb {
    Abecleigdef = 0,
    Cinljppiinl = 1,
    Chbnbpfijpg = 2,
}
impl Cfcpoedppkb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Abecleigdef => "CFCPOEDPPKB_ABECLEIGDEF",
            Self::Cinljppiinl => "CFCPOEDPPKB_CINLJPPIINL",
            Self::Chbnbpfijpg => "CFCPOEDPPKB_CHBNBPFIJPG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CFCPOEDPPKB_ABECLEIGDEF" => Some(Self::Abecleigdef),
            "CFCPOEDPPKB_CINLJPPIINL" => Some(Self::Cinljppiinl),
            "CFCPOEDPPKB_CHBNBPFIJPG" => Some(Self::Chbnbpfijpg),
            _ => None,
        }
    }
}
/// Obf: LDMCCFPAPOL
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TrainVisitorStatus {
    LdmccfpapolNlcdgipgfdj = 0,
    LdmccfpapolKpjgdhlenip = 1,
    LdmccfpapolPgaaclckffo = 2,
    LdmccfpapolFbaefcephhi = 3,
    LdmccfpapolHkmjggpkgim = 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::LdmccfpapolNlcdgipgfdj => "LDMCCFPAPOL_NLCDGIPGFDJ",
            Self::LdmccfpapolKpjgdhlenip => "LDMCCFPAPOL_KPJGDHLENIP",
            Self::LdmccfpapolPgaaclckffo => "LDMCCFPAPOL_PGAACLCKFFO",
            Self::LdmccfpapolFbaefcephhi => "LDMCCFPAPOL_FBAEFCEPHHI",
            Self::LdmccfpapolHkmjggpkgim => "LDMCCFPAPOL_HKMJGGPKGIM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "LDMCCFPAPOL_NLCDGIPGFDJ" => Some(Self::LdmccfpapolNlcdgipgfdj),
            "LDMCCFPAPOL_KPJGDHLENIP" => Some(Self::LdmccfpapolKpjgdhlenip),
            "LDMCCFPAPOL_PGAACLCKFFO" => Some(Self::LdmccfpapolPgaaclckffo),
            "LDMCCFPAPOL_FBAEFCEPHHI" => Some(Self::LdmccfpapolFbaefcephhi),
            "LDMCCFPAPOL_HKMJGGPKGIM" => Some(Self::LdmccfpapolHkmjggpkgim),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Ackpcffemhb {
    Nlcdgipgfdj = 0,
    Ggeogcbgeih = 1,
    Cnpnacjbhjg = 2,
}
impl Ackpcffemhb {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "ACKPCFFEMHB_NLCDGIPGFDJ",
            Self::Ggeogcbgeih => "ACKPCFFEMHB_GGEOGCBGEIH",
            Self::Cnpnacjbhjg => "ACKPCFFEMHB_CNPNACJBHJG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ACKPCFFEMHB_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "ACKPCFFEMHB_GGEOGCBGEIH" => Some(Self::Ggeogcbgeih),
            "ACKPCFFEMHB_CNPNACJBHJG" => Some(Self::Cnpnacjbhjg),
            _ => None,
        }
    }
}
/// Obf: CJBNLBINFJJ
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTravelBrochureType {
    CjbnlbinfjjNfdndmdgick = 0,
    CmdTravelBrochurePageUnlockScNotify = 6493,
    CmdTravelBrochurePageResetScRsp = 6445,
    CmdFpgbalikpde = 6436,
    CmdAkgfmpcfook = 6413,
    CmdTravelBrochureSelectMessageScRsp = 6481,
    CmdGnilaaacodb = 6426,
    CmdTravelBrochureApplyPasterListScRsp = 6465,
    CmdTravelBrochureSelectMessageCsReq = 6488,
    CmdDdhiijajioo = 6433,
    CmdTravelBrochurePageResetCsReq = 6448,
    CmdTravelBrochureGetDataScRsp = 6478,
    CmdBahmabonkbp = 6471,
    CmdTravelBrochureApplyPasterListCsReq = 6469,
    CmdTravelBrochureGetDataCsReq = 6425,
    CmdMladijbblpn = 6404,
    CmdOhmieppckbj = 6411,
    CmdIdnieakjmcf = 6440,
    CmdHpgigeeaghl = 6439,
}
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::CjbnlbinfjjNfdndmdgick => "CJBNLBINFJJ_NFDNDMDGICK",
            Self::CmdTravelBrochurePageUnlockScNotify => {
                "CmdTravelBrochurePageUnlockScNotify"
            }
            Self::CmdTravelBrochurePageResetScRsp => "CmdTravelBrochurePageResetScRsp",
            Self::CmdFpgbalikpde => "CmdFPGBALIKPDE",
            Self::CmdAkgfmpcfook => "CmdAKGFMPCFOOK",
            Self::CmdTravelBrochureSelectMessageScRsp => {
                "CmdTravelBrochureSelectMessageScRsp"
            }
            Self::CmdGnilaaacodb => "CmdGNILAAACODB",
            Self::CmdTravelBrochureApplyPasterListScRsp => {
                "CmdTravelBrochureApplyPasterListScRsp"
            }
            Self::CmdTravelBrochureSelectMessageCsReq => {
                "CmdTravelBrochureSelectMessageCsReq"
            }
            Self::CmdDdhiijajioo => "CmdDDHIIJAJIOO",
            Self::CmdTravelBrochurePageResetCsReq => "CmdTravelBrochurePageResetCsReq",
            Self::CmdTravelBrochureGetDataScRsp => "CmdTravelBrochureGetDataScRsp",
            Self::CmdBahmabonkbp => "CmdBAHMABONKBP",
            Self::CmdTravelBrochureApplyPasterListCsReq => {
                "CmdTravelBrochureApplyPasterListCsReq"
            }
            Self::CmdTravelBrochureGetDataCsReq => "CmdTravelBrochureGetDataCsReq",
            Self::CmdMladijbblpn => "CmdMLADIJBBLPN",
            Self::CmdOhmieppckbj => "CmdOHMIEPPCKBJ",
            Self::CmdIdnieakjmcf => "CmdIDNIEAKJMCF",
            Self::CmdHpgigeeaghl => "CmdHPGIGEEAGHL",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CJBNLBINFJJ_NFDNDMDGICK" => Some(Self::CjbnlbinfjjNfdndmdgick),
            "CmdTravelBrochurePageUnlockScNotify" => {
                Some(Self::CmdTravelBrochurePageUnlockScNotify)
            }
            "CmdTravelBrochurePageResetScRsp" => {
                Some(Self::CmdTravelBrochurePageResetScRsp)
            }
            "CmdFPGBALIKPDE" => Some(Self::CmdFpgbalikpde),
            "CmdAKGFMPCFOOK" => Some(Self::CmdAkgfmpcfook),
            "CmdTravelBrochureSelectMessageScRsp" => {
                Some(Self::CmdTravelBrochureSelectMessageScRsp)
            }
            "CmdGNILAAACODB" => Some(Self::CmdGnilaaacodb),
            "CmdTravelBrochureApplyPasterListScRsp" => {
                Some(Self::CmdTravelBrochureApplyPasterListScRsp)
            }
            "CmdTravelBrochureSelectMessageCsReq" => {
                Some(Self::CmdTravelBrochureSelectMessageCsReq)
            }
            "CmdDDHIIJAJIOO" => Some(Self::CmdDdhiijajioo),
            "CmdTravelBrochurePageResetCsReq" => {
                Some(Self::CmdTravelBrochurePageResetCsReq)
            }
            "CmdTravelBrochureGetDataScRsp" => Some(Self::CmdTravelBrochureGetDataScRsp),
            "CmdBAHMABONKBP" => Some(Self::CmdBahmabonkbp),
            "CmdTravelBrochureApplyPasterListCsReq" => {
                Some(Self::CmdTravelBrochureApplyPasterListCsReq)
            }
            "CmdTravelBrochureGetDataCsReq" => Some(Self::CmdTravelBrochureGetDataCsReq),
            "CmdMLADIJBBLPN" => Some(Self::CmdMladijbblpn),
            "CmdOHMIEPPCKBJ" => Some(Self::CmdOhmieppckbj),
            "CmdIDNIEAKJMCF" => Some(Self::CmdIdnieakjmcf),
            "CmdHPGIGEEAGHL" => Some(Self::CmdHpgigeeaghl),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Olbnnjkcmai {
    Njbgkcigoje = 0,
    Gpnifhbehnb = 1,
    Kcehidflklm = 2,
}
impl Olbnnjkcmai {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Njbgkcigoje => "OLBNNJKCMAI_NJBGKCIGOJE",
            Self::Gpnifhbehnb => "OLBNNJKCMAI_GPNIFHBEHNB",
            Self::Kcehidflklm => "OLBNNJKCMAI_KCEHIDFLKLM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OLBNNJKCMAI_NJBGKCIGOJE" => Some(Self::Njbgkcigoje),
            "OLBNNJKCMAI_GPNIFHBEHNB" => Some(Self::Gpnifhbehnb),
            "OLBNNJKCMAI_KCEHIDFLKLM" => Some(Self::Kcehidflklm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Oflkobjhfkh {
    Chdlpmpjloj = 0,
    Ifeokeghlbl = 1,
    Mdgociekfjb = 2,
}
impl Oflkobjhfkh {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Chdlpmpjloj => "OFLKOBJHFKH_CHDLPMPJLOJ",
            Self::Ifeokeghlbl => "OFLKOBJHFKH_IFEOKEGHLBL",
            Self::Mdgociekfjb => "OFLKOBJHFKH_MDGOCIEKFJB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OFLKOBJHFKH_CHDLPMPJLOJ" => Some(Self::Chdlpmpjloj),
            "OFLKOBJHFKH_IFEOKEGHLBL" => Some(Self::Ifeokeghlbl),
            "OFLKOBJHFKH_MDGOCIEKFJB" => Some(Self::Mdgociekfjb),
            _ => None,
        }
    }
}
/// Obf: POKAGMCAJAI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTreasureDungeonType {
    PokagmcajaiNlcdgipgfdj = 0,
    CmdPnoeincjclo = 4442,
    CmdFightTreasureDungeonMonsterCsReq = 4411,
    CmdInteractTreasureDungeonGridCsReq = 4448,
    CmdEnterTreasureDungeonScRsp = 4438,
    CmdEnterTreasureDungeonCsReq = 4433,
    CmdGetTreasureDungeonActivityDataCsReq = 4471,
    CmdOmkakfpogda = 4430,
    CmdTreasureDungeonDataScNotify = 4425,
    CmdUseTreasureDungeonItemScRsp = 4465,
    CmdInteractTreasureDungeonGridScRsp = 4445,
    CmdOpenTreasureDungeonGridCsReq = 4439,
    CmdGetTreasureDungeonActivityDataScRsp = 4440,
    CmdUseTreasureDungeonItemCsReq = 4469,
    CmdTreasureDungeonFinishScNotify = 4478,
    CmdFightTreasureDungeonMonsterScRsp = 4436,
    CmdOpenTreasureDungeonGridScRsp = 4404,
}
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::PokagmcajaiNlcdgipgfdj => "POKAGMCAJAI_NLCDGIPGFDJ",
            Self::CmdPnoeincjclo => "CmdPNOEINCJCLO",
            Self::CmdFightTreasureDungeonMonsterCsReq => {
                "CmdFightTreasureDungeonMonsterCsReq"
            }
            Self::CmdInteractTreasureDungeonGridCsReq => {
                "CmdInteractTreasureDungeonGridCsReq"
            }
            Self::CmdEnterTreasureDungeonScRsp => "CmdEnterTreasureDungeonScRsp",
            Self::CmdEnterTreasureDungeonCsReq => "CmdEnterTreasureDungeonCsReq",
            Self::CmdGetTreasureDungeonActivityDataCsReq => {
                "CmdGetTreasureDungeonActivityDataCsReq"
            }
            Self::CmdOmkakfpogda => "CmdOMKAKFPOGDA",
            Self::CmdTreasureDungeonDataScNotify => "CmdTreasureDungeonDataScNotify",
            Self::CmdUseTreasureDungeonItemScRsp => "CmdUseTreasureDungeonItemScRsp",
            Self::CmdInteractTreasureDungeonGridScRsp => {
                "CmdInteractTreasureDungeonGridScRsp"
            }
            Self::CmdOpenTreasureDungeonGridCsReq => "CmdOpenTreasureDungeonGridCsReq",
            Self::CmdGetTreasureDungeonActivityDataScRsp => {
                "CmdGetTreasureDungeonActivityDataScRsp"
            }
            Self::CmdUseTreasureDungeonItemCsReq => "CmdUseTreasureDungeonItemCsReq",
            Self::CmdTreasureDungeonFinishScNotify => "CmdTreasureDungeonFinishScNotify",
            Self::CmdFightTreasureDungeonMonsterScRsp => {
                "CmdFightTreasureDungeonMonsterScRsp"
            }
            Self::CmdOpenTreasureDungeonGridScRsp => "CmdOpenTreasureDungeonGridScRsp",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "POKAGMCAJAI_NLCDGIPGFDJ" => Some(Self::PokagmcajaiNlcdgipgfdj),
            "CmdPNOEINCJCLO" => Some(Self::CmdPnoeincjclo),
            "CmdFightTreasureDungeonMonsterCsReq" => {
                Some(Self::CmdFightTreasureDungeonMonsterCsReq)
            }
            "CmdInteractTreasureDungeonGridCsReq" => {
                Some(Self::CmdInteractTreasureDungeonGridCsReq)
            }
            "CmdEnterTreasureDungeonScRsp" => Some(Self::CmdEnterTreasureDungeonScRsp),
            "CmdEnterTreasureDungeonCsReq" => Some(Self::CmdEnterTreasureDungeonCsReq),
            "CmdGetTreasureDungeonActivityDataCsReq" => {
                Some(Self::CmdGetTreasureDungeonActivityDataCsReq)
            }
            "CmdOMKAKFPOGDA" => Some(Self::CmdOmkakfpogda),
            "CmdTreasureDungeonDataScNotify" => {
                Some(Self::CmdTreasureDungeonDataScNotify)
            }
            "CmdUseTreasureDungeonItemScRsp" => {
                Some(Self::CmdUseTreasureDungeonItemScRsp)
            }
            "CmdInteractTreasureDungeonGridScRsp" => {
                Some(Self::CmdInteractTreasureDungeonGridScRsp)
            }
            "CmdOpenTreasureDungeonGridCsReq" => {
                Some(Self::CmdOpenTreasureDungeonGridCsReq)
            }
            "CmdGetTreasureDungeonActivityDataScRsp" => {
                Some(Self::CmdGetTreasureDungeonActivityDataScRsp)
            }
            "CmdUseTreasureDungeonItemCsReq" => {
                Some(Self::CmdUseTreasureDungeonItemCsReq)
            }
            "CmdTreasureDungeonFinishScNotify" => {
                Some(Self::CmdTreasureDungeonFinishScNotify)
            }
            "CmdFightTreasureDungeonMonsterScRsp" => {
                Some(Self::CmdFightTreasureDungeonMonsterScRsp)
            }
            "CmdOpenTreasureDungeonGridScRsp" => {
                Some(Self::CmdOpenTreasureDungeonGridScRsp)
            }
            _ => None,
        }
    }
}
/// Obf: EFPHNJOBNOE
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TreasureDungeonRecordType {
    EfphnjobnoeOmckglpafkd = 0,
    EfphnjobnoeFodbjhoofpm = 1,
    EfphnjobnoeNabdfpoenlo = 2,
    EfphnjobnoeMccehcfbjin = 3,
    EfphnjobnoeBiomgombldf = 5,
    EfphnjobnoeGejmkiifpcc = 6,
    EfphnjobnoeGdhpeolinmk = 9,
    EfphnjobnoeBnhojcleegp = 10,
    EfphnjobnoeAjcdjljkenm = 11,
    EfphnjobnoeIbmoenfpgil = 15,
    EfphnjobnoeMdnaacinpcg = 16,
    EfphnjobnoeImjmfnffeen = 20,
    EfphnjobnoeFfplpcnkfdg = 24,
    EfphnjobnoeHnclhigbgjo = 25,
    EfphnjobnoeFdahdjmccki = 27,
    EfphnjobnoeOjlmpnnfjkh = 28,
    EfphnjobnoeLlfidacchcp = 29,
    EfphnjobnoeBjgokllnbpi = 30,
    EfphnjobnoeAnojjcdmbnd = 31,
    EfphnjobnoeGldjbcfafdk = 33,
    EfphnjobnoeIpiphhcefan = 34,
    EfphnjobnoeGpnoifpmbcp = 35,
    EfphnjobnoeOpmonhdogcj = 36,
    EfphnjobnoeKdiajhkpiph = 37,
    EfphnjobnoeNmhhodnlgcl = 40,
    EfphnjobnoeFcngbpijnhc = 41,
    EfphnjobnoeHdklleogjnh = 42,
    EfphnjobnoeJplkjjpmlcm = 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::EfphnjobnoeOmckglpafkd => "EFPHNJOBNOE_OMCKGLPAFKD",
            Self::EfphnjobnoeFodbjhoofpm => "EFPHNJOBNOE_FODBJHOOFPM",
            Self::EfphnjobnoeNabdfpoenlo => "EFPHNJOBNOE_NABDFPOENLO",
            Self::EfphnjobnoeMccehcfbjin => "EFPHNJOBNOE_MCCEHCFBJIN",
            Self::EfphnjobnoeBiomgombldf => "EFPHNJOBNOE_BIOMGOMBLDF",
            Self::EfphnjobnoeGejmkiifpcc => "EFPHNJOBNOE_GEJMKIIFPCC",
            Self::EfphnjobnoeGdhpeolinmk => "EFPHNJOBNOE_GDHPEOLINMK",
            Self::EfphnjobnoeBnhojcleegp => "EFPHNJOBNOE_BNHOJCLEEGP",
            Self::EfphnjobnoeAjcdjljkenm => "EFPHNJOBNOE_AJCDJLJKENM",
            Self::EfphnjobnoeIbmoenfpgil => "EFPHNJOBNOE_IBMOENFPGIL",
            Self::EfphnjobnoeMdnaacinpcg => "EFPHNJOBNOE_MDNAACINPCG",
            Self::EfphnjobnoeImjmfnffeen => "EFPHNJOBNOE_IMJMFNFFEEN",
            Self::EfphnjobnoeFfplpcnkfdg => "EFPHNJOBNOE_FFPLPCNKFDG",
            Self::EfphnjobnoeHnclhigbgjo => "EFPHNJOBNOE_HNCLHIGBGJO",
            Self::EfphnjobnoeFdahdjmccki => "EFPHNJOBNOE_FDAHDJMCCKI",
            Self::EfphnjobnoeOjlmpnnfjkh => "EFPHNJOBNOE_OJLMPNNFJKH",
            Self::EfphnjobnoeLlfidacchcp => "EFPHNJOBNOE_LLFIDACCHCP",
            Self::EfphnjobnoeBjgokllnbpi => "EFPHNJOBNOE_BJGOKLLNBPI",
            Self::EfphnjobnoeAnojjcdmbnd => "EFPHNJOBNOE_ANOJJCDMBND",
            Self::EfphnjobnoeGldjbcfafdk => "EFPHNJOBNOE_GLDJBCFAFDK",
            Self::EfphnjobnoeIpiphhcefan => "EFPHNJOBNOE_IPIPHHCEFAN",
            Self::EfphnjobnoeGpnoifpmbcp => "EFPHNJOBNOE_GPNOIFPMBCP",
            Self::EfphnjobnoeOpmonhdogcj => "EFPHNJOBNOE_OPMONHDOGCJ",
            Self::EfphnjobnoeKdiajhkpiph => "EFPHNJOBNOE_KDIAJHKPIPH",
            Self::EfphnjobnoeNmhhodnlgcl => "EFPHNJOBNOE_NMHHODNLGCL",
            Self::EfphnjobnoeFcngbpijnhc => "EFPHNJOBNOE_FCNGBPIJNHC",
            Self::EfphnjobnoeHdklleogjnh => "EFPHNJOBNOE_HDKLLEOGJNH",
            Self::EfphnjobnoeJplkjjpmlcm => "EFPHNJOBNOE_JPLKJJPMLCM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EFPHNJOBNOE_OMCKGLPAFKD" => Some(Self::EfphnjobnoeOmckglpafkd),
            "EFPHNJOBNOE_FODBJHOOFPM" => Some(Self::EfphnjobnoeFodbjhoofpm),
            "EFPHNJOBNOE_NABDFPOENLO" => Some(Self::EfphnjobnoeNabdfpoenlo),
            "EFPHNJOBNOE_MCCEHCFBJIN" => Some(Self::EfphnjobnoeMccehcfbjin),
            "EFPHNJOBNOE_BIOMGOMBLDF" => Some(Self::EfphnjobnoeBiomgombldf),
            "EFPHNJOBNOE_GEJMKIIFPCC" => Some(Self::EfphnjobnoeGejmkiifpcc),
            "EFPHNJOBNOE_GDHPEOLINMK" => Some(Self::EfphnjobnoeGdhpeolinmk),
            "EFPHNJOBNOE_BNHOJCLEEGP" => Some(Self::EfphnjobnoeBnhojcleegp),
            "EFPHNJOBNOE_AJCDJLJKENM" => Some(Self::EfphnjobnoeAjcdjljkenm),
            "EFPHNJOBNOE_IBMOENFPGIL" => Some(Self::EfphnjobnoeIbmoenfpgil),
            "EFPHNJOBNOE_MDNAACINPCG" => Some(Self::EfphnjobnoeMdnaacinpcg),
            "EFPHNJOBNOE_IMJMFNFFEEN" => Some(Self::EfphnjobnoeImjmfnffeen),
            "EFPHNJOBNOE_FFPLPCNKFDG" => Some(Self::EfphnjobnoeFfplpcnkfdg),
            "EFPHNJOBNOE_HNCLHIGBGJO" => Some(Self::EfphnjobnoeHnclhigbgjo),
            "EFPHNJOBNOE_FDAHDJMCCKI" => Some(Self::EfphnjobnoeFdahdjmccki),
            "EFPHNJOBNOE_OJLMPNNFJKH" => Some(Self::EfphnjobnoeOjlmpnnfjkh),
            "EFPHNJOBNOE_LLFIDACCHCP" => Some(Self::EfphnjobnoeLlfidacchcp),
            "EFPHNJOBNOE_BJGOKLLNBPI" => Some(Self::EfphnjobnoeBjgokllnbpi),
            "EFPHNJOBNOE_ANOJJCDMBND" => Some(Self::EfphnjobnoeAnojjcdmbnd),
            "EFPHNJOBNOE_GLDJBCFAFDK" => Some(Self::EfphnjobnoeGldjbcfafdk),
            "EFPHNJOBNOE_IPIPHHCEFAN" => Some(Self::EfphnjobnoeIpiphhcefan),
            "EFPHNJOBNOE_GPNOIFPMBCP" => Some(Self::EfphnjobnoeGpnoifpmbcp),
            "EFPHNJOBNOE_OPMONHDOGCJ" => Some(Self::EfphnjobnoeOpmonhdogcj),
            "EFPHNJOBNOE_KDIAJHKPIPH" => Some(Self::EfphnjobnoeKdiajhkpiph),
            "EFPHNJOBNOE_NMHHODNLGCL" => Some(Self::EfphnjobnoeNmhhodnlgcl),
            "EFPHNJOBNOE_FCNGBPIJNHC" => Some(Self::EfphnjobnoeFcngbpijnhc),
            "EFPHNJOBNOE_HDKLLEOGJNH" => Some(Self::EfphnjobnoeHdklleogjnh),
            "EFPHNJOBNOE_JPLKJJPMLCM" => Some(Self::EfphnjobnoeJplkjjpmlcm),
            _ => None,
        }
    }
}
/// Obf: KAAMCALPIPD
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdTutorialType {
    KaamcalpipdNlcdgipgfdj = 0,
    CmdUnlockTutorialGuideCsReq = 1686,
    CmdUnlockTutorialScRsp = 1681,
    CmdFinishTutorialCsReq = 1626,
    CmdUnlockTutorialCsReq = 1688,
    CmdFinishTutorialScRsp = 1613,
    CmdGetTutorialGuideCsReq = 1693,
    CmdUnlockTutorialGuideScRsp = 1647,
    CmdGetTutorialGuideScRsp = 1658,
    CmdFinishTutorialGuideCsReq = 1671,
    CmdFinishTutorialGuideScRsp = 1640,
    CmdGetTutorialCsReq = 1625,
    CmdGetTutorialScRsp = 1678,
}
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::KaamcalpipdNlcdgipgfdj => "KAAMCALPIPD_NLCDGIPGFDJ",
            Self::CmdUnlockTutorialGuideCsReq => "CmdUnlockTutorialGuideCsReq",
            Self::CmdUnlockTutorialScRsp => "CmdUnlockTutorialScRsp",
            Self::CmdFinishTutorialCsReq => "CmdFinishTutorialCsReq",
            Self::CmdUnlockTutorialCsReq => "CmdUnlockTutorialCsReq",
            Self::CmdFinishTutorialScRsp => "CmdFinishTutorialScRsp",
            Self::CmdGetTutorialGuideCsReq => "CmdGetTutorialGuideCsReq",
            Self::CmdUnlockTutorialGuideScRsp => "CmdUnlockTutorialGuideScRsp",
            Self::CmdGetTutorialGuideScRsp => "CmdGetTutorialGuideScRsp",
            Self::CmdFinishTutorialGuideCsReq => "CmdFinishTutorialGuideCsReq",
            Self::CmdFinishTutorialGuideScRsp => "CmdFinishTutorialGuideScRsp",
            Self::CmdGetTutorialCsReq => "CmdGetTutorialCsReq",
            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 {
            "KAAMCALPIPD_NLCDGIPGFDJ" => Some(Self::KaamcalpipdNlcdgipgfdj),
            "CmdUnlockTutorialGuideCsReq" => Some(Self::CmdUnlockTutorialGuideCsReq),
            "CmdUnlockTutorialScRsp" => Some(Self::CmdUnlockTutorialScRsp),
            "CmdFinishTutorialCsReq" => Some(Self::CmdFinishTutorialCsReq),
            "CmdUnlockTutorialCsReq" => Some(Self::CmdUnlockTutorialCsReq),
            "CmdFinishTutorialScRsp" => Some(Self::CmdFinishTutorialScRsp),
            "CmdGetTutorialGuideCsReq" => Some(Self::CmdGetTutorialGuideCsReq),
            "CmdUnlockTutorialGuideScRsp" => Some(Self::CmdUnlockTutorialGuideScRsp),
            "CmdGetTutorialGuideScRsp" => Some(Self::CmdGetTutorialGuideScRsp),
            "CmdFinishTutorialGuideCsReq" => Some(Self::CmdFinishTutorialGuideCsReq),
            "CmdFinishTutorialGuideScRsp" => Some(Self::CmdFinishTutorialGuideScRsp),
            "CmdGetTutorialCsReq" => Some(Self::CmdGetTutorialCsReq),
            "CmdGetTutorialScRsp" => Some(Self::CmdGetTutorialScRsp),
            _ => None,
        }
    }
}
/// Obf: HHJGMFEALEB
#[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: CEBJAAAIPDA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialFinishType {
    CebjaaaipdaNlcdgipgfdj = 0,
    CebjaaaipdaCnpnacjbhjg = 1,
    CebjaaaipdaNnaidjindho = 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::CebjaaaipdaNlcdgipgfdj => "CEBJAAAIPDA_NLCDGIPGFDJ",
            Self::CebjaaaipdaCnpnacjbhjg => "CEBJAAAIPDA_CNPNACJBHJG",
            Self::CebjaaaipdaNnaidjindho => "CEBJAAAIPDA_NNAIDJINDHO",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CEBJAAAIPDA_NLCDGIPGFDJ" => Some(Self::CebjaaaipdaNlcdgipgfdj),
            "CEBJAAAIPDA_CNPNACJBHJG" => Some(Self::CebjaaaipdaCnpnacjbhjg),
            "CEBJAAAIPDA_NNAIDJINDHO" => Some(Self::CebjaaaipdaNnaidjindho),
            _ => None,
        }
    }
}
/// Obf: AOCCEBGNPJA
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TutorialGuideType {
    AoccebgnpjaGinfcgdddom = 0,
    AoccebgnpjaJloafbagfhg = 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::AoccebgnpjaGinfcgdddom => "AOCCEBGNPJA_GINFCGDDDOM",
            Self::AoccebgnpjaJloafbagfhg => "AOCCEBGNPJA_JLOAFBAGFHG",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "AOCCEBGNPJA_GINFCGDDDOM" => Some(Self::AoccebgnpjaGinfcgdddom),
            "AOCCEBGNPJA_JLOAFBAGFHG" => Some(Self::AoccebgnpjaJloafbagfhg),
            _ => None,
        }
    }
}
/// Obf: CHLEIBCFDBO
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWaypointType {
    ChleibcfdboNlcdgipgfdj = 0,
    CmdGmcagpohkjj = 478,
    CmdMkepkkajone = 481,
    ChleibcfdboKnfmjkogegf = 425,
    ChleibcfdboDdkcnbcoelm = 488,
}
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::ChleibcfdboNlcdgipgfdj => "CHLEIBCFDBO_NLCDGIPGFDJ",
            Self::CmdGmcagpohkjj => "CmdGMCAGPOHKJJ",
            Self::CmdMkepkkajone => "CmdMKEPKKAJONE",
            Self::ChleibcfdboKnfmjkogegf => "CHLEIBCFDBO_KNFMJKOGEGF",
            Self::ChleibcfdboDdkcnbcoelm => "CHLEIBCFDBO_DDKCNBCOELM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "CHLEIBCFDBO_NLCDGIPGFDJ" => Some(Self::ChleibcfdboNlcdgipgfdj),
            "CmdGMCAGPOHKJJ" => Some(Self::CmdGmcagpohkjj),
            "CmdMKEPKKAJONE" => Some(Self::CmdMkepkkajone),
            "CHLEIBCFDBO_KNFMJKOGEGF" => Some(Self::ChleibcfdboKnfmjkogegf),
            "CHLEIBCFDBO_DDKCNBCOELM" => Some(Self::ChleibcfdboDdkcnbcoelm),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Jplmloihnic {
    Nlcdgipgfdj = 0,
    Ppanbkdpffk = 1,
    Jphlnojliam = 2,
}
impl Jplmloihnic {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "JPLMLOIHNIC_NLCDGIPGFDJ",
            Self::Ppanbkdpffk => "JPLMLOIHNIC_PPANBKDPFFK",
            Self::Jphlnojliam => "JPLMLOIHNIC_JPHLNOJLIAM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "JPLMLOIHNIC_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "JPLMLOIHNIC_PPANBKDPFFK" => Some(Self::Ppanbkdpffk),
            "JPLMLOIHNIC_JPHLNOJLIAM" => Some(Self::Jphlnojliam),
            _ => None,
        }
    }
}
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Omcnfmgpdap {
    Iaimdiafcnl = 0,
    Agbgjcindcp = 1,
    Mdpibjphmgj = 2,
}
impl Omcnfmgpdap {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Iaimdiafcnl => "OMCNFMGPDAP_IAIMDIAFCNL",
            Self::Agbgjcindcp => "OMCNFMGPDAP_AGBGJCINDCP",
            Self::Mdpibjphmgj => "OMCNFMGPDAP_MDPIBJPHMGJ",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "OMCNFMGPDAP_IAIMDIAFCNL" => Some(Self::Iaimdiafcnl),
            "OMCNFMGPDAP_AGBGJCINDCP" => Some(Self::Agbgjcindcp),
            "OMCNFMGPDAP_MDPIBJPHMGJ" => Some(Self::Mdpibjphmgj),
            _ => None,
        }
    }
}
/// Obf: DPDIGMLGDOI
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWolfBroType {
    DpdigmlgdoiNlcdgipgfdj = 0,
    CmdJohdljlgnhl = 6537,
    CmdKdmanlndioa = 6507,
    CmdPhpeppkfmjo = 6506,
    CmdLjeffbcjjem = 6524,
    CmdNhlgedlkoki = 6509,
    CmdOkefgcnneki = 6520,
    CmdAjdpponbabg = 6529,
    CmdCpkcmnjkpoe = 6544,
    CmdLbmfcjlhnaa = 6514,
    CmdBppicamlgnb = 6548,
    CmdDkjbginlbpp = 6503,
    CmdHkpfpmjbnep = 6502,
    CmdMddfdnhfcil = 6521,
    CmdHfjcgemmpkb = 6535,
    CmdDeahiakbgmj = 6533,
    CmdLikmpnfokff = 6510,
    CmdNhigcjfjgpf = 6517,
    CmdLjfeonhokag = 6519,
    CmdEnpjfkdklob = 6523,
}
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::DpdigmlgdoiNlcdgipgfdj => "DPDIGMLGDOI_NLCDGIPGFDJ",
            Self::CmdJohdljlgnhl => "CmdJOHDLJLGNHL",
            Self::CmdKdmanlndioa => "CmdKDMANLNDIOA",
            Self::CmdPhpeppkfmjo => "CmdPHPEPPKFMJO",
            Self::CmdLjeffbcjjem => "CmdLJEFFBCJJEM",
            Self::CmdNhlgedlkoki => "CmdNHLGEDLKOKI",
            Self::CmdOkefgcnneki => "CmdOKEFGCNNEKI",
            Self::CmdAjdpponbabg => "CmdAJDPPONBABG",
            Self::CmdCpkcmnjkpoe => "CmdCPKCMNJKPOE",
            Self::CmdLbmfcjlhnaa => "CmdLBMFCJLHNAA",
            Self::CmdBppicamlgnb => "CmdBPPICAMLGNB",
            Self::CmdDkjbginlbpp => "CmdDKJBGINLBPP",
            Self::CmdHkpfpmjbnep => "CmdHKPFPMJBNEP",
            Self::CmdMddfdnhfcil => "CmdMDDFDNHFCIL",
            Self::CmdHfjcgemmpkb => "CmdHFJCGEMMPKB",
            Self::CmdDeahiakbgmj => "CmdDEAHIAKBGMJ",
            Self::CmdLikmpnfokff => "CmdLIKMPNFOKFF",
            Self::CmdNhigcjfjgpf => "CmdNHIGCJFJGPF",
            Self::CmdLjfeonhokag => "CmdLJFEONHOKAG",
            Self::CmdEnpjfkdklob => "CmdENPJFKDKLOB",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DPDIGMLGDOI_NLCDGIPGFDJ" => Some(Self::DpdigmlgdoiNlcdgipgfdj),
            "CmdJOHDLJLGNHL" => Some(Self::CmdJohdljlgnhl),
            "CmdKDMANLNDIOA" => Some(Self::CmdKdmanlndioa),
            "CmdPHPEPPKFMJO" => Some(Self::CmdPhpeppkfmjo),
            "CmdLJEFFBCJJEM" => Some(Self::CmdLjeffbcjjem),
            "CmdNHLGEDLKOKI" => Some(Self::CmdNhlgedlkoki),
            "CmdOKEFGCNNEKI" => Some(Self::CmdOkefgcnneki),
            "CmdAJDPPONBABG" => Some(Self::CmdAjdpponbabg),
            "CmdCPKCMNJKPOE" => Some(Self::CmdCpkcmnjkpoe),
            "CmdLBMFCJLHNAA" => Some(Self::CmdLbmfcjlhnaa),
            "CmdBPPICAMLGNB" => Some(Self::CmdBppicamlgnb),
            "CmdDKJBGINLBPP" => Some(Self::CmdDkjbginlbpp),
            "CmdHKPFPMJBNEP" => Some(Self::CmdHkpfpmjbnep),
            "CmdMDDFDNHFCIL" => Some(Self::CmdMddfdnhfcil),
            "CmdHFJCGEMMPKB" => Some(Self::CmdHfjcgemmpkb),
            "CmdDEAHIAKBGMJ" => Some(Self::CmdDeahiakbgmj),
            "CmdLIKMPNFOKFF" => Some(Self::CmdLikmpnfokff),
            "CmdNHIGCJFJGPF" => Some(Self::CmdNhigcjfjgpf),
            "CmdLJFEONHOKAG" => Some(Self::CmdLjfeonhokag),
            "CmdENPJFKDKLOB" => Some(Self::CmdEnpjfkdklob),
            _ => None,
        }
    }
}
/// Obf: LLHKMPCLGON
#[derive(proto_derive::CmdID)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CmdWorldUnlockType {
    LlhkmpclgonNlcdgipgfdj = 0,
    CmdWorldUnlockCsReq = 7626,
    CmdWorldUnlockScRsp = 7627,
}
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::LlhkmpclgonNlcdgipgfdj => "LLHKMPCLGON_NLCDGIPGFDJ",
            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 {
            "LLHKMPCLGON_NLCDGIPGFDJ" => Some(Self::LlhkmpclgonNlcdgipgfdj),
            "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 Ekighmcpkge {
    Nlcdgipgfdj = 0,
    Jhnaafbkpoe = 1,
    Lednkhgenaf = 2,
    Iegkookjcbb = 3,
    Ncbnjdinflf = 4,
    Blejilfldgk = 5,
    Cgccknedghh = 6,
    Bnbabbmfeli = 7,
    Bcafbafeobp = 8,
}
impl Ekighmcpkge {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            Self::Nlcdgipgfdj => "EKIGHMCPKGE_NLCDGIPGFDJ",
            Self::Jhnaafbkpoe => "EKIGHMCPKGE_JHNAAFBKPOE",
            Self::Lednkhgenaf => "EKIGHMCPKGE_LEDNKHGENAF",
            Self::Iegkookjcbb => "EKIGHMCPKGE_IEGKOOKJCBB",
            Self::Ncbnjdinflf => "EKIGHMCPKGE_NCBNJDINFLF",
            Self::Blejilfldgk => "EKIGHMCPKGE_BLEJILFLDGK",
            Self::Cgccknedghh => "EKIGHMCPKGE_CGCCKNEDGHH",
            Self::Bnbabbmfeli => "EKIGHMCPKGE_BNBABBMFELI",
            Self::Bcafbafeobp => "EKIGHMCPKGE_BCAFBAFEOBP",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "EKIGHMCPKGE_NLCDGIPGFDJ" => Some(Self::Nlcdgipgfdj),
            "EKIGHMCPKGE_JHNAAFBKPOE" => Some(Self::Jhnaafbkpoe),
            "EKIGHMCPKGE_LEDNKHGENAF" => Some(Self::Lednkhgenaf),
            "EKIGHMCPKGE_IEGKOOKJCBB" => Some(Self::Iegkookjcbb),
            "EKIGHMCPKGE_NCBNJDINFLF" => Some(Self::Ncbnjdinflf),
            "EKIGHMCPKGE_BLEJILFLDGK" => Some(Self::Blejilfldgk),
            "EKIGHMCPKGE_CGCCKNEDGHH" => Some(Self::Cgccknedghh),
            "EKIGHMCPKGE_BNBABBMFELI" => Some(Self::Bnbabbmfeli),
            "EKIGHMCPKGE_BCAFBAFEOBP" => Some(Self::Bcafbafeobp),
            _ => None,
        }
    }
}